about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-02-20 12:16:56 +0100
committerAlyssa Ross <hi@alyssa.is>2024-02-20 12:16:56 +0100
commitb24d64b3b1ef897f07cd072a88a9881cb330aa7f (patch)
treea87bb2eed9af3ef1efd51dd65221d91f0c949041 /nixpkgs
parent73338df7473bb3810e70a16b8b0cba4f0f606f2b (diff)
parentfa15b53dbea5028db38d6e09b4cef6eba42aeebb (diff)
downloadnixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar.gz
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar.bz2
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar.lz
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar.xz
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.tar.zst
nixlib-b24d64b3b1ef897f07cd072a88a9881cb330aa7f.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/doc/build-helpers/images/dockertools.section.md69
-rw-r--r--nixpkgs/doc/languages-frameworks/python.section.md82
-rw-r--r--nixpkgs/doc/languages-frameworks/rust.section.md22
-rw-r--r--nixpkgs/doc/packages/darwin-builder.section.md2
-rw-r--r--nixpkgs/lib/licenses.nix5
-rw-r--r--nixpkgs/lib/modules.nix4
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix129
-rw-r--r--nixpkgs/maintainers/team-list.nix10
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2405.section.md8
-rw-r--r--nixpkgs/nixos/lib/systemd-unit-options.nix2
-rw-r--r--nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix19
-rw-r--r--nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image.nix23
-rw-r--r--nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix7
-rw-r--r--nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix3
-rw-r--r--nixpkgs/nixos/modules/config/ldso.nix6
-rw-r--r--nixpkgs/nixos/modules/config/no-x-libs.nix1
-rw-r--r--nixpkgs/nixos/modules/config/users-groups.nix22
-rw-r--r--nixpkgs/nixos/modules/config/vte.nix4
-rw-r--r--nixpkgs/nixos/modules/config/xdg/portal.nix28
-rw-r--r--nixpkgs/nixos/modules/module-list.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/chromium.nix2
-rw-r--r--nixpkgs/nixos/modules/programs/quark-goldleaf.nix18
-rw-r--r--nixpkgs/nixos/modules/programs/yazi.nix4
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix3
-rw-r--r--nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix3
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix2
-rw-r--r--nixpkgs/nixos/modules/services/databases/mysql.nix15
-rw-r--r--nixpkgs/nixos/modules/services/databases/pgbouncer.nix19
-rw-r--r--nixpkgs/nixos/modules/services/display-managers/greetd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/games/teeworlds.nix310
-rw-r--r--nixpkgs/nixos/modules/services/hardware/asusd.nix10
-rw-r--r--nixpkgs/nixos/modules/services/hardware/bolt.nix19
-rw-r--r--nixpkgs/nixos/modules/services/hardware/brltty.nix1
-rw-r--r--nixpkgs/nixos/modules/services/hardware/undervolt.nix9
-rw-r--r--nixpkgs/nixos/modules/services/mail/stalwart-mail.nix13
-rw-r--r--nixpkgs/nixos/modules/services/misc/sourcehut/default.nix22
-rw-r--r--nixpkgs/nixos/modules/services/misc/tandoor-recipes.nix13
-rw-r--r--nixpkgs/nixos/modules/services/networking/go-camo.nix73
-rw-r--r--nixpkgs/nixos/modules/services/networking/hostapd.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/knot.nix109
-rw-r--r--nixpkgs/nixos/modules/services/networking/libreswan.nix7
-rw-r--r--nixpkgs/nixos/modules/services/security/opensnitch.nix102
-rw-r--r--nixpkgs/nixos/modules/services/system/automatic-timezoned.nix2
-rw-r--r--nixpkgs/nixos/modules/services/torrent/transmission.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mastodon.nix46
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/photoprism.nix19
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/garage.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/ttyd.nix92
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/budgie.nix10
-rw-r--r--nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/kernel.nix7
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1.nix5
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd/oomd.nix6
-rw-r--r--nixpkgs/nixos/modules/system/etc/build-composefs-dump.py3
-rw-r--r--nixpkgs/nixos/modules/virtualisation/docker.nix14
-rw-r--r--nixpkgs/nixos/modules/virtualisation/incus.nix12
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix2
-rw-r--r--nixpkgs/nixos/tests/docker-tools.nix54
-rw-r--r--nixpkgs/nixos/tests/go-camo.nix30
-rw-r--r--nixpkgs/nixos/tests/incus/default.nix1
-rw-r--r--nixpkgs/nixos/tests/incus/ui.nix63
-rw-r--r--nixpkgs/nixos/tests/keepalived.nix2
-rw-r--r--nixpkgs/nixos/tests/knot.nix11
-rw-r--r--nixpkgs/nixos/tests/lemmy.nix3
-rw-r--r--nixpkgs/nixos/tests/opensnitch.nix2
-rw-r--r--nixpkgs/nixos/tests/prometheus-exporters.nix3
-rw-r--r--nixpkgs/nixos/tests/qownnotes.nix16
-rw-r--r--nixpkgs/nixos/tests/slurm.nix2
-rw-r--r--nixpkgs/nixos/tests/sourcehut.nix252
-rw-r--r--nixpkgs/nixos/tests/sourcehut/builds.nix54
-rw-r--r--nixpkgs/nixos/tests/sourcehut/default.nix6
-rw-r--r--nixpkgs/nixos/tests/sourcehut/git.nix96
-rw-r--r--nixpkgs/nixos/tests/sourcehut/nodes/common.nix107
-rw-r--r--nixpkgs/nixos/tests/stalwart-mail.nix11
-rw-r--r--nixpkgs/nixos/tests/web-apps/mastodon/default.nix2
-rw-r--r--nixpkgs/nixos/tests/web-apps/mastodon/remote-databases.nix (renamed from nixpkgs/nixos/tests/web-apps/mastodon/remote-postgresql.nix)38
-rw-r--r--nixpkgs/nixos/tests/web-apps/mastodon/script.nix1
-rw-r--r--nixpkgs/nixos/tests/web-apps/mastodon/standard.nix7
-rw-r--r--nixpkgs/nixos/tests/web-servers/ttyd.nix20
-rw-r--r--nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ChowKick/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/aacgain/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/aeolus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ashuffle/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/aucatctl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/bitmeter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/brutefir/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/calf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/cdparanoia/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/chuck/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/cider/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/cmusfm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/codecserver/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/dirt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/dsf2flac/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/eflite/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/famistudio/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/flac123/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/fluidsynth/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/freewheeling/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/freqtweak/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ft2-clone/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/furnace/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/geonkick/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/gigedit/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/gjay/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/gnaural/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/gtkcord4/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/headset/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/helm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/id3v2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/industrializer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ir.lv2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/jaaa/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/jack-passthrough/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/jackmeter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/japa/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/jellycli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/jmusicbot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/keyfinder-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/klick/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/klystrack/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/kmetronome/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ledfx/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/listenbrainz-mpd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/littlegptracker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/luppp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/lv2bm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/lv2lint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/m4acut/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/master_me/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/meterbridge/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mi2ly/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mid2key/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mikmod/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/milkytracker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mmlgui/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mmtc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/moc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/muse.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/spotify.nix6
-rw-r--r--nixpkgs/pkgs/applications/audio/mp3gain/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mp3val/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/museeks/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/music-player/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/musly/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/mympd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/ncmpc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ncpamixer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ncspot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ninjas2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/noson/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/odin2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/open-stage-control/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/openutau/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/opustags/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pamix/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/patchage/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/paulstretch/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pbpctrl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/petrifoo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pianobar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pianoteq/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/picoloop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pmidi/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pms/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/proteus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/psst/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/pt2-clone/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/reaper/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/audio/rhvoice/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/audio/schismtracker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/seq24/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sfxr/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/audio/snd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sndpeek/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/songrec/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sonixd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sonobus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/soundux/default.nix144
-rw-r--r--nixpkgs/pkgs/applications/audio/spectrojack/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/spotifyd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/sptlrx/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/squishyball/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/streamripper/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/subtitlr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/svox/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/synaesthesia/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tagutil/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/timemachine/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tone/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-metal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-noisereducer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/transcribe/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/tree-from-tags/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/vimpc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/wavegain/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/waylyrics/Cargo.lock2946
-rw-r--r--nixpkgs/pkgs/applications/audio/waylyrics/default.nix68
-rw-r--r--nixpkgs/pkgs/applications/audio/wolf-shaper/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/x42-gmsynth/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/xmp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/xtuner/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/yasr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/ympd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/yoshimi/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/youtube-music/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/zita-at1/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/audio/zrythm/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/backup/urbackup-client/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/blockchains/aeon/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/blockchains/clboss/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/blockchains/litecoin/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/blockchains/optimism/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/display-managers/emptty/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/display-managers/ly/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/editors/cpeditor/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/gedit/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/texworks/0001-fix-build-with-qt-6.5.patch26
-rw-r--r--nixpkgs/pkgs/applications/editors/texworks/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/typora/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json4
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix1366
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix665
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix10
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names9
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix110
-rw-r--r--nixpkgs/pkgs/applications/editors/vscode/vscode.nix16
-rw-r--r--nixpkgs/pkgs/applications/emulators/attract-mode/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/basiliskii/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/caprice32/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/ccemux/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/cemu/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/emulators/cen64/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff4
-rw-r--r--nixpkgs/pkgs/applications/emulators/duckstation/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/emulators/emu2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/gxemul/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/mednafen/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/openmsx/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/cores.nix16
-rw-r--r--nixpkgs/pkgs/applications/emulators/retroarch/hashes.json1161
-rwxr-xr-xnixpkgs/pkgs/applications/emulators/retroarch/update_cores.py68
-rw-r--r--nixpkgs/pkgs/applications/emulators/simplenes/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/tamatool/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/tilem/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/tiny8086/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/uae/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/wibo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/xcpc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/yapesdl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix6
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix8
-rw-r--r--nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/zsnes/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/browsr/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/file-managers/cfm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/clifm/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/file-managers/lf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/mucommander/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/noice/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/portfolio-filemanager/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/file-managers/sfm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/shfm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/xplorer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/file-managers/yazi/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/finance/irpf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/alchemy/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/apngasm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/artem/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/ascii-image-converter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/autotrace/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/awesomebump/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/azpainter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/curv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/deskew/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/graphics/emulsion/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/entwine/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/epeg/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/epick/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/f3d/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/figma-agent/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/flaca/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/focus-stack/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/foxotron/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/gcolor2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnuclad/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/gpicview/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/gqview/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/guetzli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/hello-wayland/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/hugin/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/graphics/icon-library/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/image_optim/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/imagej/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/img-cat/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/imgcat/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/imv/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/graphics/ipe/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/jpeginfo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/jpegoptim/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/komikku/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/lazpaint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/lightburn/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/litemdview/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/lorien/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/meh/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/menyoki/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/minidjvu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/mtpaint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/ocrad/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/openboard/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/pixelnuke/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/pqiv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/qiv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/round/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/shotwell/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/graphics/swingsane/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/sxiv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/tesseract/tesseract3.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/upscayl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/viewnior/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/vpv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/wings/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/xfractint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/xmountains/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/xournal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/xpano/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/xzgv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/yed/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/yeetgif/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/zgrviewer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/graphics/zgv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/kde/angelfish.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/fetch.sh2
-rw-r--r--nixpkgs/pkgs/applications/kde/itinerary.nix2
-rw-r--r--nixpkgs/pkgs/applications/kde/srcs.nix1952
-rw-r--r--nixpkgs/pkgs/applications/logging/humioctl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/HentaiAtHome/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/abook/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/anup/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ape/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/artha/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/avrdudess/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/base16-universal-manager/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/bb/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/bklk/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/blugon/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/camunda-modeler/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cardpeek/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/charm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cheat/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/clight/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/clipqr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cloak/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cmatrix/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cobalt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/cointop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/colorstorm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/colort/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/coltrane/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/comodoro/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/confetty/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/corectrl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/cotp/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/crumbs/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ctodo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/curaengine/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/dasel/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/ddgr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/deadd-notification-center/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/deco/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/devdocs-desktop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/devilspie2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/diebahn/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/diff-pdf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/dmenu/wayland.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/doctave/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/doing/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/downonspot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/dwmbar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/dwmblocks/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/effitask/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/ltc.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/elfx86exts/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/emem/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/epdfview/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/evtest/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/exercism/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/expenses/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/faircamp/Cargo.lock6
-rw-r--r--nixpkgs/pkgs/applications/misc/faircamp/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/fead/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/fehlstart/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ff2mpv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/filet/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/firestarter/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/flamerobin/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/flavours/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/freeplane/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/fsv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/galculator/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gcfflasher/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/geek-life/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/genact/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/geoipupdate/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ghosttohugo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gmnitohtml/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gmrun/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/go-org/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gollum/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gomatrix/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/googler/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gostatic/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpa/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gphoto2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpsbabel/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpsprune/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpu-burn/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpu-viewer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/grb/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/green-pdfviewer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gremlin-console/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gremlin-server/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/grip/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gsctl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gsimplecal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gtk2fontsel/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gxkb/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gxmessage/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/gxneur/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/harsh/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/has/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/hcl2json/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/hello-unfree/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/herbe/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/hivemind/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/hr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/inlyne/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/insulator2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ipatool/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ipmiview/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/jetbrains-toolbox/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/josm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/jp2a/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/jquake/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/kaufkauflist/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/kbt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/keepass-diff/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/misc/kiln/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/klipperscreen/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/kondo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/krabby/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/kratos/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lavalauncher/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lemonade/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lenmus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/limesctl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/logseq/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lscolors/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lswt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ltwheelconf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/lunatask/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/madonctl/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mainsail/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/makeself/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mangal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mdp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mdzk/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/memo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mencal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/metamorphose2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/metar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/milu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/minder/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/mop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mystem/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/natural-docs/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/neo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/nix-tour/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/notesnook/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/nrsc5/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ns-usbloader/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-dock/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/nwg-panel/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/obs-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/onagre/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/oneko/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/openbox-menu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/openjump/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/openring/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/oranda/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/organicmaps/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/osm2xmap/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/osmium-tool/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/osmtogeojson/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/otf2bdf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/owmods-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/oxker/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/p2pool/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pagefind/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pcmanx-gtk2/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfarranger/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/peaclock/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pell/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pgmanage/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/phoc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/phockup/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pinfo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/playonlinux/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/plots/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pomodoro/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pop-launcher/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/porsmo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/premid/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/process-compose/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/psi-notify/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pstree/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/pt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/qcad/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/misc/quicksynergy/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ratt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/reddsaver/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/resumed/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/revanced-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/river-luatile/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/river-tag-overlay/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/rivercarro/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/rlaunch/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/robo3t/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/rsclock/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/rss-bridge-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/rusty-psn/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/sampler/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/sdcv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/semver/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/senv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/shavee/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/shell-genie/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/sidequest/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/sigi/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/skate/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/slides/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/slippy/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/slstatus/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/slweb/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/smpq/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/snixembed/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/snowsql/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/solaar/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/somebar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/spacenav-cube-example/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/speedread/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/spnavcfg/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/spotify-tray/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ssocr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/stag/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/stepreduce/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/stork/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/stretchly/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/stw/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/styx/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/surface-control/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/swaynag-battery/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/synapse/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/syncthing-tray/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/systembus-notify/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tabula-java/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tagtime/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tailscale-systray/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/taizen/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tango/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tasksh/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/terminal-colors/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/terminal-parrot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/terminal-stocks/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/thedesk/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/thokr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ticker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tickrs/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/timew-sync-server/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tippecanoe/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/tiramisu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tmatrix/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tnef/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/todoist-electron/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/todoist/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/transifex-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ttdl/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/tthsum/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tty-share/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ttyper/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tuckr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/tut/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/typer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/typioca/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/udict/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/ultralist/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/uni/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/unipicker/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/usb-reset/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/usync/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/vcal/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/veracrypt/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/vp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/vue/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/vul/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/warpd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/waybar/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/waylock/default.nix9
-rwxr-xr-xnixpkgs/pkgs/applications/misc/waylock/update.nu5
-rw-r--r--nixpkgs/pkgs/applications/misc/wbg/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wcalc/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wego/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/with-shell/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wlclock/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wmenu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wmname/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wofi-emoji/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/writefreely/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/wthrr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xbattbar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xchm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xcruiser/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xkbd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xkblayout-state/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xkbmon/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xlights/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xmenu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xpdf/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xrq/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xscope/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xsw/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/xxkb/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/yambar/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/zettlr/generic.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/zine/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/zktree/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/asn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix4
-rwxr-xr-xnixpkgs/pkgs/applications/networking/browsers/chromium/update.py26
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix818
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix1015
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix1025
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix818
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/librewolf/src.json14
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/links2/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/browser.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rwxr-xr-xnixpkgs/pkgs/applications/networking/browsers/microsoft-edge/update.py2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/browser.nix22
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libcss.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libdom.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libhubbub.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsgif.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsutils.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libparserutils.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/atmos/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/calico/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/1_28/versions.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/1_29/versions.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k3s/builder.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k8sgpt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubectl-klock/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeshark/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/rke/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/yor/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/discordo/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock1877
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/newsflash/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch17
-rw-r--r--nixpkgs/pkgs/applications/networking/flexget/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/headlines/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/beeper/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock734
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/qq/sources.nix10
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signald/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/halloy/Cargo.lock1369
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/halloy/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/pcloud/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/dayon/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/appflowy/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/jameica/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/ledger-web/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/mendeley/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/micropad/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/p3x-onenote/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/paperless-ngx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/paperwork/src.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/pdfmm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/pinpoint/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/rime-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/roam-research/darwin.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/roam-research/linux.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/super-productivity/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/teapot/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/timeular/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/tudu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/tusk/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/zk/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/aldo/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/anytone-emu/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/chirp/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/radio/cloudlog/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/cubicsdr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/dmrconfig/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/dsd/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/ebook2cw/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/flamp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/flex-ndax/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/fllog/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/flmsg/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/flrig/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/flwrap/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/freedv/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/kalibrate-hackrf/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/kappanhang/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/minimodem/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/noaa-apt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/pat/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/rtl_433/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrplay/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrpp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/soapyremote/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/tncattach/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/radio/xlog/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/science/biology/last/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/megahit/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/science/biology/svaba/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/computer-architecture/qtrvsim/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/computer-architecture/timeloop/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/qucs-s/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/cryptoverif/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/stp/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/science/logic/stp/stdint.patch16
-rw-r--r--nixpkgs/pkgs/applications/science/misc/openmvg/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/science/misc/root/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/science/misc/sasview/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/physics/xfitter/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/search/doodle/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/search/grepcidr/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/search/grepm/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch48
-rw-r--r--nixpkgs/pkgs/applications/search/recoll/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/system/mgmt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/system/psitop/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/system/zxfer/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/conform/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/version-management/gh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-aggregator/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-branchless/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitkraken/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitsign/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/got/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/meld/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/stgit/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/ani-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/crunchy-cli/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/video/dmlive/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/video/frigate/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/unwrapped.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/natron/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/open-in-mpv/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/qctools/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/video/streamlink/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock434
-rw-r--r--nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix19
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crosvm/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/ddev/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/firecracker/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/0001-Add-dlopen-discoverer.patch90
-rw-r--r--nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/spike/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/window-managers/gamescope/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/picom-allusive.nix26
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/picom-jonaburg.nix20
-rw-r--r--nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix35
-rw-r--r--nixpkgs/pkgs/build-support/docker/default.nix80
-rw-r--r--nixpkgs/pkgs/build-support/docker/examples.nix36
-rw-r--r--nixpkgs/pkgs/build-support/fetchpypilegacy/default.nix45
-rw-r--r--nixpkgs/pkgs/build-support/fetchpypilegacy/fetch-legacy.py162
-rw-r--r--nixpkgs/pkgs/build-support/fetchpypilegacy/tests.nix9
-rw-r--r--nixpkgs/pkgs/build-support/php/build-composer-project.nix4
-rw-r--r--nixpkgs/pkgs/build-support/php/build-composer-repository.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ad/ad-miner/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/af/afterglow-cursors-recolored/package.nix126
-rw-r--r--nixpkgs/pkgs/by-name/ap/apt/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ar/ardopc/package.nix51
-rw-r--r--nixpkgs/pkgs/by-name/ar/arrow-cpp/package.nix (renamed from nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix)43
-rw-r--r--nixpkgs/pkgs/by-name/ar/arrpc/package.nix34
-rw-r--r--nixpkgs/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/as/ast-grep/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/at/atuin/package.nix20
-rw-r--r--nixpkgs/pkgs/by-name/au/authentik/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/bm/bmake/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ca/cargo-rdme/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ca/cargo-swift/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ce/certificate-ripper/fix-test-temp-dir-path.patch13
-rw-r--r--nixpkgs/pkgs/by-name/ce/certificate-ripper/make-deterministic.patch68
-rw-r--r--nixpkgs/pkgs/by-name/ce/certificate-ripper/package.nix56
-rw-r--r--nixpkgs/pkgs/by-name/co/cockpit/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/co/codeium/package.nix10
-rw-r--r--nixpkgs/pkgs/by-name/co/coffeegrindsize/package.nix44
-rw-r--r--nixpkgs/pkgs/by-name/co/construct/package.nix39
-rw-r--r--nixpkgs/pkgs/by-name/co/cosmic-session/package.nix5
-rw-r--r--nixpkgs/pkgs/by-name/cr/crossplane-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/cr/crunchy-cli/Cargo.lock2354
-rw-r--r--nixpkgs/pkgs/by-name/cr/crunchy-cli/package.nix49
-rw-r--r--nixpkgs/pkgs/by-name/cs/csvkit/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/cu/cursewords/package.nix35
-rw-r--r--nixpkgs/pkgs/by-name/de/decker/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/do/docfd/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/do/door-knocker/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/do/dotslash/package.nix31
-rw-r--r--nixpkgs/pkgs/by-name/ds/dsda-launcher/package.nix47
-rw-r--r--nixpkgs/pkgs/by-name/du/dune3d/package.nix65
-rw-r--r--nixpkgs/pkgs/by-name/ed/eduvpn-client/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ei/eigenlayer/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/el/elvish/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/en/envio/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/er/eris-go/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/ex/ext3grep/package.nix50
-rw-r--r--nixpkgs/pkgs/by-name/ez/eza/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/fa/fangfrisch/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/fa/fantomas/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/fi/figurine/package.nix32
-rw-r--r--nixpkgs/pkgs/by-name/fi/files-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/fl/flarectl/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/fr/free42/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/fr/freefilesync/package.nix12
-rw-r--r--nixpkgs/pkgs/by-name/fy/fypp/package.nix (renamed from nixpkgs/pkgs/development/python-modules/fypp/default.nix)8
-rw-r--r--nixpkgs/pkgs/by-name/ga/galleta/package.nix25
-rw-r--r--nixpkgs/pkgs/by-name/ga/game-rs/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ge/gerbolyze/package.nix92
-rw-r--r--nixpkgs/pkgs/by-name/gl/glauth/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/go/go-camo/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/go/go-critic/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/go/go-judge/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/gp/gptscript/package.nix37
-rw-r--r--nixpkgs/pkgs/by-name/gr/graphite-cli/package-lock.json10
-rw-r--r--nixpkgs/pkgs/by-name/gr/graphite-cli/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/ht/htcondor/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/hy/hyprlang/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/im/immersed-vr/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/in/incus/package.nix1
-rw-r--r--nixpkgs/pkgs/by-name/in/incus/ui.nix26
-rw-r--r--nixpkgs/pkgs/by-name/in/invidtui/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ja/jasper/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/js/jsoncons/package.nix24
-rw-r--r--nixpkgs/pkgs/by-name/ka/kas/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ke/keep-sorted/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ki/killerbee/package.nix44
-rw-r--r--nixpkgs/pkgs/by-name/ki/kiwitalk/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/kn/knossosnet/deps.nix115
-rw-r--r--nixpkgs/pkgs/by-name/kn/knossosnet/package.nix36
-rw-r--r--nixpkgs/pkgs/by-name/kn/knossosnet/targetframework.patch12
-rw-r--r--nixpkgs/pkgs/by-name/ko/kokkos/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/li/libewf-legacy/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/li/libnghttp2_asio/package.nix45
-rw-r--r--nixpkgs/pkgs/by-name/li/libui-ng/package.nix9
-rw-r--r--nixpkgs/pkgs/by-name/ll/llama-cpp/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/lo/louvre/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/lu/lunar-client/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ma/marcel/package.nix48
-rw-r--r--nixpkgs/pkgs/by-name/me/menulibre/package.nix61
-rw-r--r--nixpkgs/pkgs/by-name/mi/miru/package.nix53
-rw-r--r--nixpkgs/pkgs/by-name/mo/moneydance/package.nix52
-rw-r--r--nixpkgs/pkgs/by-name/mo/mountpoint-s3/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/mo/movim/package.nix40
-rw-r--r--nixpkgs/pkgs/by-name/mq/mqttx/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/my/myrescue/0001-darwin-build-fixes.patch79
-rw-r--r--nixpkgs/pkgs/by-name/my/myrescue/package.nix39
-rw-r--r--nixpkgs/pkgs/by-name/my/mystmd/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/na/namespace-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/nb/nbtscan/package.nix27
-rw-r--r--nixpkgs/pkgs/by-name/ne/netproxrc/package.nix22
-rw-r--r--nixpkgs/pkgs/by-name/ni/niri/Cargo.lock3986
-rw-r--r--nixpkgs/pkgs/by-name/ni/niri/package.nix75
-rw-r--r--nixpkgs/pkgs/by-name/no/normcap/package.nix34
-rw-r--r--nixpkgs/pkgs/by-name/nr/nrr/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/nu/numbat/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/of/offpunk/package.nix13
-rw-r--r--nixpkgs/pkgs/by-name/op/openscad-unstable/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/op/opensnitch-ui/package.nix (renamed from nixpkgs/pkgs/tools/networking/opensnitch/ui.nix)20
-rw-r--r--nixpkgs/pkgs/by-name/op/opensnitch/go.mod (renamed from nixpkgs/pkgs/tools/networking/opensnitch/go.mod)17
-rw-r--r--nixpkgs/pkgs/by-name/op/opensnitch/go.sum (renamed from nixpkgs/pkgs/tools/networking/opensnitch/go.sum)48
-rw-r--r--nixpkgs/pkgs/by-name/op/opensnitch/package.nix (renamed from nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix)21
-rw-r--r--nixpkgs/pkgs/by-name/op/opensoundmeter/build.patch13
-rw-r--r--nixpkgs/pkgs/by-name/op/opensoundmeter/package.nix45
-rw-r--r--nixpkgs/pkgs/by-name/pa/pa-notify/package.nix42
-rw-r--r--nixpkgs/pkgs/by-name/pa/parallel-disk-usage/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/pa/pasco/include-string.h.patch10
-rw-r--r--nixpkgs/pkgs/by-name/pa/pasco/package.nix43
-rw-r--r--nixpkgs/pkgs/by-name/pd/pdepend/composer.lock1407
-rw-r--r--nixpkgs/pkgs/by-name/pd/pdepend/package.nix14
-rw-r--r--nixpkgs/pkgs/by-name/pd/pdfannots/package.nix34
-rw-r--r--nixpkgs/pkgs/by-name/pd/pdfid/package.nix40
-rw-r--r--nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ph/phel/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/ph/phpdocumentor/package.nix9
-rw-r--r--nixpkgs/pkgs/by-name/pi/picom/package.nix (renamed from nixpkgs/pkgs/applications/window-managers/picom/default.nix)6
-rw-r--r--nixpkgs/pkgs/by-name/pi/pinact/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/pl/plow/package.nix30
-rw-r--r--nixpkgs/pkgs/by-name/pl/plumber/package.nix8
-rw-r--r--nixpkgs/pkgs/by-name/pm/pmtiles/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/pr/preserves-tools/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/pt/ptunnel/package.nix52
-rw-r--r--nixpkgs/pkgs/by-name/py/pyprland/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/py/pyxel/Cargo.lock (renamed from nixpkgs/pkgs/tools/filesystems/stratisd/Cargo.lock)1784
-rw-r--r--nixpkgs/pkgs/by-name/py/pyxel/never-bundle-sdl2.patch13
-rw-r--r--nixpkgs/pkgs/by-name/py/pyxel/package.nix75
-rw-r--r--nixpkgs/pkgs/by-name/py/pyxel/update-bindgen-f16-support.patch13
-rw-r--r--nixpkgs/pkgs/by-name/qr/qrtool/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/qu/quark-goldleaf/99-quark-goldleaf.rules2
-rw-r--r--nixpkgs/pkgs/by-name/qu/quark-goldleaf/fix-maven-plugin-versions.patch88
-rw-r--r--nixpkgs/pkgs/by-name/qu/quark-goldleaf/package.nix114
-rw-r--r--nixpkgs/pkgs/by-name/qu/quark-goldleaf/remove-pom-jfx.patch93
-rw-r--r--nixpkgs/pkgs/by-name/qu/quicktype/package.nix12
-rw-r--r--nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/rc/rclip/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/rc/rcp/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/re/redfishtool/package.nix28
-rw-r--r--nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/re/renode-unstable/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/re/rerun/0001-re_space_view_time_series-utils-patch-out-doctests-w.patch31
-rw-r--r--nixpkgs/pkgs/by-name/re/rerun/package.nix128
-rw-r--r--nixpkgs/pkgs/by-name/re/restinio/package.nix102
-rw-r--r--nixpkgs/pkgs/by-name/re/restinio_0_6/package.nix (renamed from nixpkgs/pkgs/development/libraries/restinio/default.nix)0
-rw-r--r--nixpkgs/pkgs/by-name/ro/robo/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ro/roslyn-ls/deps.nix238
-rw-r--r--nixpkgs/pkgs/by-name/ro/roslyn-ls/package.nix76
-rwxr-xr-xnixpkgs/pkgs/by-name/ro/roslyn-ls/update.sh25
-rw-r--r--nixpkgs/pkgs/by-name/ru/rustdesk-flutter/Cargo.lock1040
-rw-r--r--nixpkgs/pkgs/by-name/ru/rustdesk-flutter/package.nix45
-rw-r--r--nixpkgs/pkgs/by-name/ru/rustdesk-flutter/pubspec.lock.json4
-rw-r--r--nixpkgs/pkgs/by-name/rw/rwpspread/Cargo.lock1088
-rw-r--r--nixpkgs/pkgs/by-name/rw/rwpspread/package.nix45
-rw-r--r--nixpkgs/pkgs/by-name/sa/satty/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/sc/scalingo/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/sc/scitokens-cpp/package.nix (renamed from nixpkgs/pkgs/by-name/sc/scitoken-cpp/package.nix)4
-rw-r--r--nixpkgs/pkgs/by-name/sc/scripthaus/package.nix39
-rw-r--r--nixpkgs/pkgs/by-name/sc/scrounge-ntfs/darwin.diff42
-rw-r--r--nixpkgs/pkgs/by-name/sc/scrounge-ntfs/package.nix27
-rw-r--r--nixpkgs/pkgs/by-name/sd/sdcc/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/se/seclists/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/sh/shittier/package.nix28
-rw-r--r--nixpkgs/pkgs/by-name/sh/shopware-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/si/sink-rotate/package.nix41
-rw-r--r--nixpkgs/pkgs/by-name/sm/smag/package.nix28
-rw-r--r--nixpkgs/pkgs/by-name/sp/spicetify-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/sp/spooftooph/package.nix36
-rw-r--r--nixpkgs/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix42
-rw-r--r--nixpkgs/pkgs/by-name/sr/srm-cuarzo/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/td/tdl/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ti/tilix/package.nix (renamed from nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix)25
-rw-r--r--nixpkgs/pkgs/by-name/tr/treedome/Cargo.lock1221
-rw-r--r--nixpkgs/pkgs/by-name/tr/treedome/package.json15
-rw-r--r--nixpkgs/pkgs/by-name/tr/treedome/package.nix20
-rw-r--r--nixpkgs/pkgs/by-name/ty/typos-lsp/package.nix32
-rw-r--r--nixpkgs/pkgs/by-name/un/unison-fsmonitor/package.nix37
-rw-r--r--nixpkgs/pkgs/by-name/up/updatecli/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/uv/uv/Cargo.lock5053
-rw-r--r--nixpkgs/pkgs/by-name/uv/uv/package.nix68
-rw-r--r--nixpkgs/pkgs/by-name/ux/uxn/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/vc/vcpkg/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ve/vesktop/package.nix3
-rw-r--r--nixpkgs/pkgs/by-name/wa/waf/hook.nix (renamed from nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix)0
-rw-r--r--nixpkgs/pkgs/by-name/wa/waf/package.nix (renamed from nixpkgs/pkgs/development/tools/build-managers/waf/default.nix)2
-rw-r--r--nixpkgs/pkgs/by-name/wa/waf/setup-hook.sh (renamed from nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh)0
-rw-r--r--nixpkgs/pkgs/by-name/wi/wiremock/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/xc/xcbeautify/package.nix41
-rw-r--r--nixpkgs/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix1
-rw-r--r--nixpkgs/pkgs/by-name/xi/xiu/package.nix48
-rw-r--r--nixpkgs/pkgs/by-name/ya/yasashisa-gothic/package.nix40
-rw-r--r--nixpkgs/pkgs/by-name/ya/yazi-unwrapped/package.nix46
-rw-r--r--nixpkgs/pkgs/by-name/ya/yazi/package.nix48
-rw-r--r--nixpkgs/pkgs/by-name/ys/ysfx/package.nix63
-rw-r--r--nixpkgs/pkgs/by-name/za/zapzap/package.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/0xproto/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/marathi-cursive/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/mplus-outline-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/themes/alacritty-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/dracula-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/elegant-sddm/default.nix63
-rw-r--r--nixpkgs/pkgs/data/themes/nordic/default.nix6
-rw-r--r--nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/default.nix (renamed from nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix)2
-rw-r--r--nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/generic.nix (renamed from nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix)2
-rw-r--r--nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/variants.json (renamed from nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json)0
-rw-r--r--nixpkgs/pkgs/data/themes/whitesur/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/budgie/budgie-control-center/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/gnome/apps/gnome-music/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lomiri/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix74
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/flutter.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch84
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch2
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in1
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json24
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json8
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/versions/3_19/data.json989
-rw-r--r--nixpkgs/pkgs/development/compilers/flutter/versions/3_19/patches/disable-auto-update-shared.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/ispc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/compilers/koka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/mruby/default.nix19
-rw-r--r--nixpkgs/pkgs/development/compilers/terra/default.nix21
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coq-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/serapi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/coq-modules/smtcoq/cvc4.nix50
-rw-r--r--nixpkgs/pkgs/development/coq-modules/smtcoq/default.nix25
-rw-r--r--nixpkgs/pkgs/development/coq-modules/smtcoq/minisat-fenv.patch65
-rw-r--r--nixpkgs/pkgs/development/cuda-modules/nccl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/hare-third-party/hare-toml/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/cel-go/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/erlang/24.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/expr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/luau/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/micropython/default.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.2.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/8.3.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/default.nix8
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix48
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/abseil-cpp/202206.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/abseil-cpp/202301.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/abseil-cpp/202308.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/cubical/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/boost/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/boringssl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/caf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cxxopts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/dconf/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/dqlite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/fancypp/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/gdal/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/geos/3.9.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/ghc_filesystem/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/igraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/imgui/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/lemon-graph/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/lemon-graph/remove-register.patch15
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/libcifpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdex/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libfive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgudev/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libmanette/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmscout/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/librime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libtheora/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/libtheora/mingw-remove-export.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/meshoptimizer/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/microsoft-gsl/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/mongoc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/mongocxx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mpich/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/netcdf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/ngtcp2/gnutls.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nss/latest.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/nuraft/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/onnxruntime/default.nix65
-rw-r--r--nixpkgs/pkgs/development/libraries/onnxruntime/nvcc-gsl.patch32
-rw-r--r--nixpkgs/pkgs/development/libraries/openmpi/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/opensubdiv/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/openvr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/physics/geant4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/poppler/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/precice/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/25.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-cstdint.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/modules/qtmqtt.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch18
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/patches/0008-qtbase-allow-translations-outside-prefix.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch29
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-6/srcs.nix314
-rw-r--r--nixpkgs/pkgs/development/libraries/quickflux/default.nix64
-rw-r--r--nixpkgs/pkgs/development/libraries/raft-canonical/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/rlottie-qml/default.nix73
-rw-r--r--nixpkgs/pkgs/development/libraries/science/chemistry/libvdwxc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/semver-cpp/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/speex/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/virglrenderer/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/vte/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/x265/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal/nix-pkgdatadir-env.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/xdg-desktop-portal/separate-env-for-portal-config.patch33
-rw-r--r--nixpkgs/pkgs/development/libraries/xeus-zmq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/maestro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/node-packages/overrides.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix9
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix11
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocamlfuse/default.nix9
-rw-r--r--nixpkgs/pkgs/development/php-packages/composer/default.nix14
-rw-r--r--nixpkgs/pkgs/development/php-packages/phpstan/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/accelerate/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/aetcd/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioautomower/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioecowitt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiogram/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopegelonline/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiopvapi/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiotankerkoenig/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/anova-wifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anywidget/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/approvaltests/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/argparse-manpage/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/ariadne/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/autarco/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cachier/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/cantools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/catalogue/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/cepa/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-default-group/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudflare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coffea/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/cohere/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/connexion/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/courlan/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/crc/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/datapoint/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/deebot-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deluge-client/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/diffsync/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/diffusers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/docstr-coverage/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/editorconfig/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elementpath/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/envs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/essentials-openapi/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/essentials/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/fakeredis/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi-sso/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastembed/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ffmpy/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/fpyutils/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/frigidaire/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fschat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fsspec-xrootd/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fx2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gerbonara/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/goodwe/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/govee-local-api/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpaw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradio-pdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grip/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/growattserver/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/h5py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/hahomematic/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/hid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hishel/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/home-assistant-chip-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/homeassistant-bring-api/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/igraph/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/ihm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iminuit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/intbitset/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/jax/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/jc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/kaggle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain-community/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain-core/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/langsmith/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/levenshtein/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lexilang/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/limits/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/linear-garage-door/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/litellm/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/livereload/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/llm/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/lttng/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkl-service/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/molecule/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpi4py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mplhep/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msprime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/extensions.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/myuplink/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/neoteroi-mkdocs/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/niaaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/niaarm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nomadnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpyro/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/oci/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/0001-ptxas-disable-version-key-for-non-cuda-targets.patch27
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/openllm-client/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/openwebifpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/optimum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/osc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/papermill/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pendulum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/persistent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pip-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/posthog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/primer3/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/prisma/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/protobuf/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-vpn-api-core/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-vpn-connection/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-vpn-logger/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-vpn-network-manager/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/proton-vpn-session/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pure-pcapy3/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-serializable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyctr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeck/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyformlang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibjpeg-libjpeg/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibjpeg/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-flask/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylutron/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymicrobot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyngrok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynose/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyocr/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyocr/paths-cuneiform.patch101
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyocr/paths-tesseract.patch (renamed from nixpkgs/pkgs/development/python-modules/pyocr/paths.patch)100
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypandoc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprecice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprobables/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrisco/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-textual-snapshot/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-editor/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-technove/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-youtube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/rangeparser/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-cache/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/rerun-sdk/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/resend/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/rns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rokuecp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/securetar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shap/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/skrl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/slowapi/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/smtpdfix/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/snakemake-interface-common/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/somajo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-book-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/stanio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stem/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/stravalib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tesla-fleet-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tuf/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/typeguard/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix719
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-aiobotocore/update.sh2
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-html5lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uqbar/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwid/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwidgets/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/vallox-websocket-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vllm/default.nix139
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-modeladmin/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/xformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xiaomi-ble/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/xrootd/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/yark/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/yasi/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/r-modules/default.nix9
-rw-r--r--nixpkgs/pkgs/development/rocm-modules/5/clr/add-missing-operators.patch979
-rw-r--r--nixpkgs/pkgs/development/rocm-modules/5/clr/default.nix5
-rw-r--r--nixpkgs/pkgs/development/rocm-modules/5/clr/static-functions.patch31
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/brakeman/Gemfile.lock4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/brakeman/gemset.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/cvehound/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/rizin/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/api-linter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/b4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock12
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock2290
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock95
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/moon/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json10
-rw-r--r--nixpkgs/pkgs/development/tools/buildpack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/ctlptl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/cue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/doc2go/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/esbuild/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gci/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/goconvey/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gomplate/default.nix11
-rw-r--r--nixpkgs/pkgs/development/tools/gotools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/gqlgenc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/jql/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kind/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/devspace/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/doclifter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/elfutils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/fzf-make/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/jsonfmt/default.nix1
-rw-r--r--nixpkgs/pkgs/development/tools/misc/opengrok/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/polylith/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/runme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/src-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/strace/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/mongosh/package-lock.json793
-rw-r--r--nixpkgs/pkgs/development/tools/mongosh/source.json8
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/3.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/okteto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pip-audit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/pscale/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/pyenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/qtcreator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/reindeer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ruff/default.nix24
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-binstall/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-deb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-hack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-tauri/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/measureme/Cargo.lock677
-rw-r--r--nixpkgs/pkgs/development/tools/rust/measureme/default.nix5
-rw-r--r--nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rye/Cargo.lock8
-rw-r--r--nixpkgs/pkgs/development/tools/rye/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/schemacrawler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/sd-local/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/sqlboiler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix9
-rw-r--r--nixpkgs/pkgs/development/tools/wire/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/wire/go-modules.patch79
-rw-r--r--nixpkgs/pkgs/development/tools/yarn-berry/default.nix8
-rwxr-xr-xnixpkgs/pkgs/development/tools/yarn-berry/update.sh21
-rw-r--r--nixpkgs/pkgs/development/tools/yq-go/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/zed/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/bun/default.nix10
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--nixpkgs/pkgs/development/web/flyctl/default.nix10
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v18.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v20.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v21.nix4
-rw-r--r--nixpkgs/pkgs/games/endless-sky/default.nix4
-rw-r--r--nixpkgs/pkgs/games/factorio/versions.json48
-rw-r--r--nixpkgs/pkgs/games/freeciv/default.nix4
-rw-r--r--nixpkgs/pkgs/games/heroic/default.nix6
-rw-r--r--nixpkgs/pkgs/games/minesweep-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/games/openmw/tes3mp.nix21
-rw-r--r--nixpkgs/pkgs/games/openrct2/default.nix4
-rwxr-xr-xnixpkgs/pkgs/games/osu-lazer/update-bin.sh2
-rwxr-xr-xnixpkgs/pkgs/games/osu-lazer/update.sh2
-rw-r--r--nixpkgs/pkgs/games/pysolfc/default.nix12
-rw-r--r--nixpkgs/pkgs/games/speed-dreams/default.nix30
-rw-r--r--nixpkgs/pkgs/games/starsector/default.nix4
-rw-r--r--nixpkgs/pkgs/games/stone-kingdoms/default.nix4
-rw-r--r--nixpkgs/pkgs/games/torcs/default.nix5
-rw-r--r--nixpkgs/pkgs/games/trigger/default.nix18
-rw-r--r--nixpkgs/pkgs/misc/fastly/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/lilypond/unstable.nix4
-rw-r--r--nixpkgs/pkgs/misc/vencord/default.nix8
-rw-r--r--nixpkgs/pkgs/misc/vencord/package-lock.json76
-rwxr-xr-xnixpkgs/pkgs/misc/vencord/update.sh12
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/yabai/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/checkpolicy/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/esdm/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ethq/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix3
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json30
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix45
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix9
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/ocf-resource-agents/default.nix11
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix16
-rw-r--r--nixpkgs/pkgs/os-specific/linux/teck-udev-rules/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/undervolt/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix7
-rw-r--r--nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix8
-rw-r--r--nixpkgs/pkgs/servers/alice-lg/default.nix11
-rw-r--r--nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/birdwatcher/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/bloat/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/consul/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix32
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/cmake.nix4
-rw-r--r--nixpkgs/pkgs/servers/foundationdb/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/geospatial/tile38/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/gotosocial/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/appdaemon.nix8
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix30
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/stubs.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-automation/evcc/default.nix17
-rw-r--r--nixpkgs/pkgs/servers/homepage-dashboard/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/angie/console-light.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/angie/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/dufs/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/http/envoy/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--nixpkgs/pkgs/servers/klipper/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/stalwart/Cargo.lock871
-rw-r--r--nixpkgs/pkgs/servers/mail/stalwart/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mastodon/gemset.nix42
-rw-r--r--nixpkgs/pkgs/servers/mastodon/source.nix4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mattermost/default.nix16
-rw-r--r--nixpkgs/pkgs/servers/mautrix-signal/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/miniflux/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/minio/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/misc/navidrome/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/mtail/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/openobserve/Cargo.lock (renamed from nixpkgs/pkgs/by-name/op/openobserve/Cargo.lock)1991
-rw-r--r--nixpkgs/pkgs/servers/monitoring/openobserve/build.rs.patch (renamed from nixpkgs/pkgs/by-name/op/openobserve/build.rs.patch)0
-rw-r--r--nixpkgs/pkgs/servers/monitoring/openobserve/default.nix (renamed from nixpkgs/pkgs/by-name/op/openobserve/package.nix)24
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mqtt/flashmq/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nats-server/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/26.json22
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/27.json22
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/28.json16
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json1
-rw-r--r--nixpkgs/pkgs/servers/nfs-ganesha/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/nosql/surrealdb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/plex/raw.nix6
-rw-r--r--nixpkgs/pkgs/servers/pocketbase/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/prowlarr/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/radarr/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/samba/4.x.nix10
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/Cargo.lock30
-rw-r--r--nixpkgs/pkgs/servers/search/meilisearch/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/weaviate/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--nixpkgs/pkgs/servers/snac2/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/pgbouncer/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/citus.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/rqlite/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/tailscale/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/package.json146
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/pin.json12
-rw-r--r--nixpkgs/pkgs/servers/web-apps/lemmy/server.nix5
-rw-r--r--nixpkgs/pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/pixelfed/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/murex/default.nix4
-rw-r--r--nixpkgs/pkgs/test/default.nix1
-rw-r--r--nixpkgs/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json4
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/X11/xrestop/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/acme-sh/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/adtool/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/admin/afterburn/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/analog/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-env/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-nuke/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-rotate-key/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-vault/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/awsls/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/awsrm/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/awsweeper/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/berglas/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/bom/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/certigo/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/cf-vault/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/chamber/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/cjdns-tools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/cli53/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/coldsnap/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/colmena/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/copilot-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/credhub-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/cw/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/damon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/docker-credential-gcr/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/ejson2env/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/fastlane/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/fioctl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/gimme-aws-creds/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/iamy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/infra/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/iredis/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/admin/itamae/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/kics/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/ui.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/meshcentral/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/netbox2netshot/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/netplan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/okta-aws-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/admin/ossutil/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/pbm/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/pulumi-bin/data.nix578
-rw-r--r--nixpkgs/pkgs/tools/admin/qovery-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/rhoas/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/sec/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/simplotask/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/ssmsh/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/swapspace/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/syft/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/admin/triton/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/admin/wander/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/admin/zbctl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/archivers/wimlib/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/wyoming/openwakeword.nix23
-rw-r--r--nixpkgs/pkgs/tools/audio/wyoming/piper.nix15
-rw-r--r--nixpkgs/pkgs/tools/backup/awsbck/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/bacula/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/sigtop/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/openobex/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/ceph/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/filesystems/kdiskmark/default.nix16
-rw-r--r--nixpkgs/pkgs/tools/filesystems/stratisd/default.nix9
-rw-r--r--nixpkgs/pkgs/tools/games/er-patcher/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/games/ps3-disc-dumper/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/games/slipstream/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/games/steam-rom-manager/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/graphics/argyllcms/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/graphics/argyllcms/jam-cross.patch22
-rw-r--r--nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/mangohud/default.nix83
-rw-r--r--nixpkgs/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch2
-rw-r--r--nixpkgs/pkgs/tools/graphics/mangohud/preload-nix-workaround.patch41
-rw-r--r--nixpkgs/pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/shot-scraper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/abduco/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/misc/archi/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/bat-extras/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/brltty/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/cfonts/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cloc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/diskscan/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/dvtm/unstable.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/gh-dash/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/5.0.nix9
-rw-r--r--nixpkgs/pkgs/tools/misc/hdf5/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/leanify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/mise/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/moar/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/notify/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/cmake-include.patch7
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/default.nix194
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/disable-gqa.patch15
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/remove-git.patch21
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/replace-gcc.patch11
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/set-llamacpp-path.patch23
-rw-r--r--nixpkgs/pkgs/tools/misc/pfetch-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml-server/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/plantuml/default.nix36
-rw-r--r--nixpkgs/pkgs/tools/misc/pre-commit/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/remote-exec/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/steampipe/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tagref/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux-sessionizer/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux/CVE-2022-47016.patch72
-rw-r--r--nixpkgs/pkgs/tools/misc/tmux/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/ttyplot/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/ugs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/uwufetch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/Cargo.lock1676
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/vector-pr19518.patch25
-rw-r--r--nixpkgs/pkgs/tools/misc/wasm-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/wit-bindgen/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/yubico-piv-tool/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/zoxide/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/acme-client/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ahcpd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ain/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ali/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/altermime/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/amass/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/anevicon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/arping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/arpoison/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/atinout/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/axel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/babeld/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/bandwhich/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpdump/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpq3/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bgpq4/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/biosdevname/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bombardier/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bore/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/boringtun/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/boundary/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/brook/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bukubrow/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/bully/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/burpsuite/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cadaver/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cassowary/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/castnow/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cdpr/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cfspeedtest/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/chaos/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/checkip/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cksfv/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cnping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cntlm/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/cocom/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/connect/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/containerlab/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/corerad/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/corkscrew/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/crackle/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/croc/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/curlie/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/darkstat/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ddns-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpcd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcpdump/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dhcping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnscrypt-wrapper/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsmon-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsmonster/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstake/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/dnstracer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/driftnet/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/drill/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ebpf-verifier/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/edgedb/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/email/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/fakeroute/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/fast-ssh/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/fastd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/filegive/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/findomain/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/flannel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/fping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/gemget/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ghostunnel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/gobgp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/godns/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/godspeed/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/gof5/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/goreplay/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/gost/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/gping/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/grpc_cli/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcui/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/grpcurl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/hans/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/hey/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/horst/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/hostapd-mana/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/hss/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/htpdate/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/httperf/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/httping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/httplab/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/httprobe/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/hue-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/hysteria/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/i2p/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/i2pd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/iftop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/igmpproxy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/inadyn/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ip2location/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ip2unix/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ipcalc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ivpn/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/jnettop/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/kail/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/kapp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/keama/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/keepalived/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/networking/labctl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/libreswan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/linux-router/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/lxi-tools/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/lychee/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mailsend/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/maphosts/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mbidled/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mcrcon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mdk4/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/minidlna/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/minio-client/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/minissdpd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mmsd-tng/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mockoon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mole/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/motrix/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mozwire/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mqtt-benchmark/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mqttui/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/mubeng/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/muffet/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nat-traverse/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/netassert/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/netbird/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/netdiscover/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nethogs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nethoscope/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/netifd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/netmask/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nettee/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nexttrace/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nfstrace/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrep/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ngrok/versions.json36
-rw-r--r--nixpkgs/pkgs/tools/networking/noip/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/norouter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ntopng/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ntttcp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nuttcp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nylon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/nzbget/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/octodns/providers/bind/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/oha/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/onetun/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/openconnect/common.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/openfortivpn/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/openvpn/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/networking/oui/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/owl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pacparser/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pathvector/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pcapc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pcapfix/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pgrok/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/phantomsocks/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/photon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/piknik/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pingtcp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pingu/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pixiecore/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pixiewps/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/privoxy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/proxychains/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/pwnat/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/q/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/qrcp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/quickserve/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rathole/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rcon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rconc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rdap/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rdrview/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/redfang/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/redir/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/redli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/redsocks/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/requestly/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/restish/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rewrk/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ripmime/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/routedns/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/rshijack/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/s3rs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/s5cmd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/saldl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/shncpd/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/simpleproxy/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sipcalc/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sipexer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sipsak/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sish/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sitespeed-io/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/sleep-on-lan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/slirp4netns/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/slowlorust/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/smartdns/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/snabb/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/snet/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/snmpcheck/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/snowflake/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/sockperf/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/speedtest-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/speedtest-rs/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/spoofer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/srelay/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ssh-agents/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ssh-ident/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sshed/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sshpass/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sshping/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/ssldump/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sslsplit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/sstp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/stun/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/stunnel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/subfinder/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/suckit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/swagger-cli/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/tayga/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tcp-cutter/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpflow/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/telepresence2/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/tendermint/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/termscp/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tox-node/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/traceroute/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tran/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/transmission-rss/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/trurl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tun2socks/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/tunwg/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/udpreplay/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/udptunnel/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/uqmi/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/vegeta/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/vlan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/vopono/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wakelan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wakeonlan/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wavemon/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wbox/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wget2/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/whois/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-go/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-vanity-address/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wireproxy/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/wormhole-william/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wrk/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wrk2/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wsl-vpnkit/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/wuzz/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/xrootd/default.nix55
-rw-r--r--nixpkgs/pkgs/tools/networking/zap/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/zrok/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/aflplusplus/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cfripper/default.nix19
-rw-r--r--nixpkgs/pkgs/tools/security/doppler/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/enpass/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/grype/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/security/httpx/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/kubernetes-polaris/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ldapnomnom/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/oath-toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/openpgp-card-tools/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/security/pass/rofi-pass.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/semgrep/common.nix20
-rw-r--r--nixpkgs/pkgs/tools/security/semgrep/default.nix40
-rw-r--r--nixpkgs/pkgs/tools/security/semgrep/semgrep-core.nix2
-rwxr-xr-xnixpkgs/pkgs/tools/security/semgrep/update.sh8
-rw-r--r--nixpkgs/pkgs/tools/security/sigma-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/sudo-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/zlint/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/bfs/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/btop/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/gdu/default.nix13
-rw-r--r--nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/natscli/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/system/netdata/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/ascii/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ov/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/recode/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/text/shfmt/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/virtualization/multipass/default.nix4
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix10
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix103
-rw-r--r--nixpkgs/pkgs/top-level/linux-kernels.nix11
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix63
-rw-r--r--nixpkgs/pkgs/top-level/qt5-packages.nix4
2156 files changed, 47659 insertions, 18647 deletions
diff --git a/nixpkgs/doc/build-helpers/images/dockertools.section.md b/nixpkgs/doc/build-helpers/images/dockertools.section.md
index 9317146b8f94..a1d1f2cb2012 100644
--- a/nixpkgs/doc/build-helpers/images/dockertools.section.md
+++ b/nixpkgs/doc/build-helpers/images/dockertools.section.md
@@ -6,7 +6,7 @@ Docker itself is not used to perform any of the operations done by these functio
 ## buildImage {#ssec-pkgs-dockerTools-buildImage}
 
 This function builds a Docker-compatible repository tarball containing a single image.
-As such, the result is suitable for being loaded in Docker with `docker load` (see [](#ex-dockerTools-buildImage) for how to do this).
+As such, the result is suitable for being loaded in Docker with `docker image load` (see [](#ex-dockerTools-buildImage) for how to do this).
 
 This function will create a single layer for all files (and dependencies) that are specified in its argument.
 Only new dependencies that are not already in the existing layers will be copied.
@@ -43,7 +43,7 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
 `fromImage` (Path or Null; _optional_)
 
 : The repository tarball of an image to be used as the base for the generated image.
-  It must be a valid Docker image, such as one exported by `docker save`, or another image built with the `dockerTools` utility functions.
+  It must be a valid Docker image, such as one exported by `docker image save`, or another image built with the `dockerTools` utility functions.
   This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
   A value of `null` can be seen as an equivalent of `FROM scratch`.
 
@@ -123,7 +123,7 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
 
   _Default value:_ `""`.
 
-`config` (Attribute Set; _optional_)
+`config` (Attribute Set or Null; _optional_)
 
 : Used to specify the configuration of the containers that will be started off the generated image.
   Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
@@ -178,6 +178,13 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
 
   _Default value:_ 0.
 
+`compressor` (String; _optional_)
+
+: Selects the algorithm used to compress the image.
+
+  _Default value:_ `"gz"`.\
+  _Possible values:_ `"none"`, `"gz"`, `"zstd"`.
+
 `contents` **DEPRECATED**
 
 : This attribute is deprecated, and users are encouraged to use `copyToRoot` instead.
@@ -247,7 +254,7 @@ Cooking the image...
 Finished.
 /nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
 
-$ docker load -i /nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
+$ docker image load -i /nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
 (some output removed for clarity)
 Loaded image: redis:latest
 ```
@@ -345,8 +352,8 @@ dockerTools.buildImage {
 
 After importing the generated repository tarball with Docker, its CLI will display a reasonable date and sort the images as expected:
 
-```ShellSession
-$ docker images
+```shell
+$ docker image ls
 REPOSITORY   TAG      IMAGE ID       CREATED              SIZE
 hello        latest   de2bf4786de6   About a minute ago   25.2MB
 ```
@@ -364,7 +371,7 @@ Despite the similar name, [`buildImage`](#ssec-pkgs-dockerTools-buildImage) work
 Even though some of the arguments may seem related, they cannot be interchanged.
 :::
 
-You can use this function to load an image in Docker with `docker load`.
+You can load the result of this function in Docker with `docker image load`.
 See [](#ex-dockerTools-buildLayeredImage-hello) to see how to do that.
 
 ### Examples {#ssec-pkgs-dockerTools-buildLayeredImage-examples}
@@ -404,7 +411,7 @@ Adding manifests...
 Done.
 /nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
 
-$ docker load -i /nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
+$ docker image load -i /nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
 (some output removed for clarity)
 Loaded image: hello:latest
 ```
@@ -415,7 +422,7 @@ Loaded image: hello:latest
 `streamLayeredImage` builds a **script** which, when run, will stream to stdout a Docker-compatible repository tarball containing a single image, using multiple layers to improve sharing between images.
 This means that `streamLayeredImage` does not output an image into the Nix store, but only a script that builds the image, saving on IO and disk/cache space, particularly with large images.
 
-You can use this function to load an image in Docker with `docker load`.
+You can load the result of this function in Docker with `docker image load`.
 See [](#ex-dockerTools-streamLayeredImage-hello) to see how to do that.
 
 For this function, you specify a [store path](https://nixos.org/manual/nix/stable/store/store-path) or a list of store paths to be added to the image, and the functions will automatically include any dependencies of those paths in the image.
@@ -440,7 +447,7 @@ This allows the function to produce reproducible images.
 
 : The name of the generated image.
 
-`tag` (String; _optional_)
+`tag` (String or Null; _optional_)
 
 : Tag of the generated image.
   If `null`, the hash of the nix derivation will be used as the tag.
@@ -450,7 +457,7 @@ This allows the function to produce reproducible images.
 `fromImage`(Path or Null; _optional_)
 
 : The repository tarball of an image to be used as the base for the generated image.
-  It must be a valid Docker image, such as one exported by `docker save`, or another image built with the `dockerTools` utility functions.
+  It must be a valid Docker image, such as one exported by `docker image save`, or another image built with the `dockerTools` utility functions.
   This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
   A value of `null` can be seen as an equivalent of `FROM scratch`.
 
@@ -470,7 +477,7 @@ This allows the function to produce reproducible images.
 
   _Default value:_ `[]`
 
-`config` (Attribute Set; _optional_) []{#dockerTools-buildLayeredImage-arg-config}
+`config` (Attribute Set or Null; _optional_) []{#dockerTools-buildLayeredImage-arg-config}
 
 : Used to specify the configuration of the containers that will be started off the generated image.
   Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
@@ -594,7 +601,7 @@ dockerTools.streamLayeredImage {
 ```
 
 The result of building this package is a script.
-Running this script and piping it into `docker load` gives you the same image that was built in [](#ex-dockerTools-buildLayeredImage-hello).
+Running this script and piping it into `docker image load` gives you the same image that was built in [](#ex-dockerTools-buildLayeredImage-hello).
 Note that in this case, the image is never added to the Nix store, but instead streamed directly into Docker.
 
 ```shell
@@ -602,7 +609,7 @@ $ nix-build
 (output removed for clarity)
 /nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello
 
-$ /nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello | docker load
+$ /nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello | docker image load
 No 'fromImage' provided
 Creating layer 1 from paths: ['/nix/store/i93s7xxblavsacpy82zdbn4kplsyq48l-libunistring-1.1']
 Creating layer 2 from paths: ['/nix/store/ji01n9vinnj22nbrb86nx8a1ssgpilx8-libidn2-2.3.4']
@@ -718,7 +725,7 @@ dockerTools.streamLayeredImage {
 []{#ssec-pkgs-dockerTools-fetchFromRegistry}
 ## pullImage {#ssec-pkgs-dockerTools-pullImage}
 
-This function is similar to the `docker pull` command, which means it can be used to pull a Docker image from a registry that implements the [Docker Registry HTTP API V2](https://distribution.github.io/distribution/spec/api/).
+This function is similar to the `docker image pull` command, which means it can be used to pull a Docker image from a registry that implements the [Docker Registry HTTP API V2](https://distribution.github.io/distribution/spec/api/).
 By default, the `docker.io` registry is used.
 
 The image will be downloaded as an uncompressed Docker-compatible repository tarball, which is suitable for use with other `dockerTools` functions such as [`buildImage`](#ssec-pkgs-dockerTools-buildImage), [`buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage), and [`streamLayeredImage`](#ssec-pkgs-dockerTools-streamLayeredImage).
@@ -1105,7 +1112,7 @@ This is currently implemented by linking to the `env` binary from the `coreutils
 ### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
 
 This provides a `/bin/sh` link to the `bash` binary from the `bashInteractive` package.
-Because of this, it supports cases such as running a command interactively in a container (for example by running `docker run -it <image_name>`).
+Because of this, it supports cases such as running a command interactively in a container (for example by running `docker container run -it <image_name>`).
 
 ### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
 
@@ -1169,9 +1176,9 @@ This is made possible by `binSh`.
 $ nix-build
 (some output removed for clarity)
 /nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
-$ docker load -i /nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
+$ docker image load -i /nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
 (output removed for clarity)
-$ docker run --rm -it env-helpers:latest /bin/sh
+$ docker container run --rm -it env-helpers:latest /bin/sh
 sh-5.2# help
 GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
 (rest of output removed for clarity)
@@ -1209,9 +1216,9 @@ This is made possible by `binSh`.
 $ nix-build
 (some output removed for clarity)
 /nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
-$ docker load -i /nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
+$ docker image load -i /nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
 (output removed for clarity)
-$ docker run --rm -it env-helpers:latest /bin/sh
+$ docker container run --rm -it env-helpers:latest /bin/sh
 sh-5.2# help
 GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
 (rest of output removed for clarity)
@@ -1315,7 +1322,7 @@ $ nix-build
 (some output removed for clarity)
 /nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
 
-$ docker load -i /nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
+$ docker image load -i /nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
 (some output removed for clarity)
 Loaded image: hello-2.12.1-env:latest
 ```
@@ -1323,7 +1330,7 @@ Loaded image: hello-2.12.1-env:latest
 After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
 
 ```shell
-$ docker run -it hello-2.12.1-env:latest
+$ docker container run -it hello-2.12.1-env:latest
 [nix-shell:~]$ buildDerivation
 Running phase: unpackPhase
 unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
@@ -1443,14 +1450,14 @@ dockerTools.streamNixShellImage {
 ```
 
 The result of building this package is a script.
-Running this script and piping it into `docker load` gives you the same image that was built in [](#ex-dockerTools-buildNixShellImage-hello).
+Running this script and piping it into `docker image load` gives you the same image that was built in [](#ex-dockerTools-buildNixShellImage-hello).
 
 ```shell
 $ nix-build
 (some output removed for clarity)
 /nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env
 
-$ /nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env | docker load
+$ /nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env | docker image load
 (some output removed for clarity)
 Loaded image: hello-2.12.1-env:latest
 ```
@@ -1458,7 +1465,7 @@ Loaded image: hello-2.12.1-env:latest
 After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
 
 ```shell
-$ docker run -it hello-2.12.1-env:latest
+$ docker container run -it hello-2.12.1-env:latest
 [nix-shell:~]$ buildDerivation
 Running phase: unpackPhase
 unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
@@ -1497,14 +1504,14 @@ dockerTools.streamNixShellImage {
 }
 ```
 
-The result of building this package is a script which can be run and piped into `docker load` to load the generated image.
+The result of building this package is a script which can be run and piped into `docker image load` to load the generated image.
 
 ```shell
 $ nix-build
 (some output removed for clarity)
 /nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env
 
-$ /nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env | docker load
+$ /nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env | docker image load
 (some output removed for clarity)
 Loaded image: hello-2.12.1-env:latest
 ```
@@ -1512,7 +1519,7 @@ Loaded image: hello-2.12.1-env:latest
 After starting an interactive container, we can verify the extra package is available by running `cowsay`:
 
 ```shell
-$ docker run -it hello-2.12.1-env:latest
+$ docker container run -it hello-2.12.1-env:latest
 [nix-shell:~]$ cowsay "Hello, world!"
  _______________
 < Hello, world! >
@@ -1546,14 +1553,14 @@ dockerTools.streamNixShellImage {
 }
 ```
 
-The result of building this package is a script which can be run and piped into `docker load` to load the generated image.
+The result of building this package is a script which can be run and piped into `docker image load` to load the generated image.
 
 ```shell
 $ nix-build
 (some output removed for clarity)
 /nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env
 
-$ /nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env | docker load
+$ /nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env | docker image load
 (some output removed for clarity)
 Loaded image: hello-2.12.1-env:latest
 ```
@@ -1561,7 +1568,7 @@ Loaded image: hello-2.12.1-env:latest
 After starting an interactive container, we can see the result of the `shellHook`:
 
 ```shell
-$ docker run -it hello-2.12.1-env:latest
+$ docker container run -it hello-2.12.1-env:latest
 Hello, world!
 
 [nix-shell:~]$
diff --git a/nixpkgs/doc/languages-frameworks/python.section.md b/nixpkgs/doc/languages-frameworks/python.section.md
index 0849aacdf166..da06fe1d69b5 100644
--- a/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/nixpkgs/doc/languages-frameworks/python.section.md
@@ -116,11 +116,11 @@ buildPythonPackage rec {
     rm testing/test_argcomplete.py
   '';
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     attrs
     py
     setuptools
@@ -172,7 +172,7 @@ following are specific to `buildPythonPackage`:
   variable in wrapped programs.
 * `pyproject`: Whether the pyproject format should be used. When set to `true`,
   `pypaBuildHook` will be used, and you can add the required build dependencies
-  from `build-system.requires` to `nativeBuildInputs`. Note that the pyproject
+  from `build-system.requires` to `build-system`. Note that the pyproject
   format falls back to using `setuptools`, so you can use `pyproject = true`
   even if the package only has a `setup.py`. When set to `false`, you can
   use the existing [hooks](#setup-hooks0 or provide your own logic to build the
@@ -206,17 +206,22 @@ build inputs (see "Specifying dependencies"). The following are of special
 interest for Python packages, either because these are primarily used, or
 because their behaviour is different:
 
-* `nativeBuildInputs ? []`: Build-time only dependencies. Typically executables
-  as well as the items listed in `setup_requires`.
+* `nativeBuildInputs ? []`: Build-time only dependencies. Typically executables.
+* `build-system ? []`: Build-time only Python dependencies. Items listed in `build-system.requires`/`setup_requires`.
 * `buildInputs ? []`: Build and/or run-time dependencies that need to be
   compiled for the host machine. Typically non-Python libraries which are being
   linked.
 * `nativeCheckInputs ? []`: Dependencies needed for running the [`checkPhase`](#ssec-check-phase). These
   are added to [`nativeBuildInputs`](#var-stdenv-nativeBuildInputs) when [`doCheck = true`](#var-stdenv-doCheck). Items listed in
   `tests_require` go here.
-* `propagatedBuildInputs ? []`: Aside from propagating dependencies,
+* `dependencies ? []`: Aside from propagating dependencies,
   `buildPythonPackage` also injects code into and wraps executables with the
   paths included in this list. Items listed in `install_requires` go here.
+* `optional-dependencies ? { }`: Optional feature flagged dependencies.  Items listed in `extras_requires` go here.
+
+Aside from propagating dependencies,
+  `buildPythonPackage` also injects code into and wraps executables with the
+  paths included in this list. Items listed in `extras_requires` go here.
 
 ##### Overriding Python packages {#overriding-python-packages}
 
@@ -299,11 +304,12 @@ python3Packages.buildPythonApplication rec {
     hash  = "sha256-Pe229rT0aHwA98s+nTHQMEFKZPo/yw6sot8MivFDvAw=";
   };
 
-  nativeBuildInputs = with python3Packages; [
+  build-system = with python3Packages; [
     setuptools
+    wheel
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  dependencies = with python3Packages; [
     tornado
     python-daemon
   ];
@@ -462,11 +468,11 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function).
 - `eggBuildHook` to skip building for eggs.
 - `eggInstallHook` to install eggs.
 - `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system
-  (e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
+  (e.g. `setuptools` or `flit`) should still be added as `build-system`.
 - `pypaBuildHook` to build a wheel using
   [`pypa/build`](https://pypa-build.readthedocs.io/en/latest/index.html) and
   PEP 517/518. Note a build system (e.g. `setuptools` or `flit`) should still
-  be added as `nativeBuildInput`.
+  be added as `build-system`.
 - `pipInstallHook` to install wheels.
 - `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
 - `pythonCatchConflictsHook` to check whether a Python package is not already existing.
@@ -881,7 +887,7 @@ buildPythonPackage rec {
     hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     wheel
   ];
@@ -941,7 +947,7 @@ with import <nixpkgs> {};
         hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
       };
 
-      nativeBuildInputs = [
+      build-system = [
         python311.pkgs.setuptools
         python311.pkgs.wheel
       ];
@@ -977,13 +983,15 @@ that we introduced with the `let` expression.
 
 #### Handling dependencies {#handling-dependencies}
 
-Our example, `toolz`, does not have any dependencies on other Python packages or
-system libraries. According to the manual, [`buildPythonPackage`](#buildpythonpackage-function) uses the
-arguments [`buildInputs`](#var-stdenv-buildInputs) and [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs) to specify dependencies. If
-something is exclusively a build-time dependency, then the dependency should be
-included in [`buildInputs`](#var-stdenv-buildInputs), but if it is (also) a runtime dependency, then it
-should be added to [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs). Test dependencies are considered
-build-time dependencies and passed to [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs).
+Our example, `toolz`, does not have any dependencies on other Python packages or system libraries.
+[`buildPythonPackage`](#buildpythonpackage-function) uses the the following arguments in the following circumstances:
+
+- `dependencies` - For Python runtime dependencies.
+- `build-system` - For Python build-time requirements.
+- [`buildInputs`](#var-stdenv-buildInputs) - For non-Python build-time requirements.
+- [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) - For test dependencies
+
+Dependencies can belong to multiple arguments, for example if something is both a build time requirement & a runtime dependency.
 
 The following example shows which arguments are given to [`buildPythonPackage`](#buildpythonpackage-function) in
 order to build [`datashape`](https://github.com/blaze/datashape).
@@ -1013,12 +1021,12 @@ buildPythonPackage rec {
     hash = "sha256-FLLvdm1MllKrgTGC6Gb0k0deZeVYvtCCLji/B7uhong=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     wheel
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     multipledispatch
     numpy
     python-dateutil
@@ -1041,7 +1049,7 @@ buildPythonPackage rec {
 We can see several runtime dependencies, `numpy`, `multipledispatch`, and
 `python-dateutil`. Furthermore, we have [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) with `pytest`.
 `pytest` is a test runner and is only used during the [`checkPhase`](#ssec-check-phase) and is
-therefore not added to [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs).
+therefore not added to `dependencies`.
 
 In the previous case we had only dependencies on other Python packages to consider.
 Occasionally you have also system libraries to consider. E.g., `lxml` provides
@@ -1068,7 +1076,7 @@ buildPythonPackage rec {
     hash = "sha256-s9NiusRxFydHzaNRMjjxFcvWxfi45jGb9ql6eJJyQJk=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     wheel
   ];
@@ -1125,7 +1133,7 @@ buildPythonPackage rec {
     hash = "sha256-9ru2r6kwhUCaskiFoaPNuJCfCVoUL01J40byvRt4kHQ=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     wheel
   ];
@@ -1136,7 +1144,7 @@ buildPythonPackage rec {
     fftwLongDouble
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     numpy
     scipy
   ];
@@ -1459,9 +1467,7 @@ mode is activated.
 
 In the following example, we create a simple environment that has a Python 3.11
 version of our package in it, as well as its dependencies and other packages we
-like to have in the environment, all specified with [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs).
-Indeed, we can just add any package we like to have in our environment to
-[`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs).
+like to have in the environment, all specified with `dependencies`.
 
 ```nix
 with import <nixpkgs> {};
@@ -1470,9 +1476,11 @@ with python311Packages;
 buildPythonPackage rec {
   name = "mypackage";
   src = ./path/to/package/source;
-  propagatedBuildInputs = [
+  dependencies = [
     pytest
     numpy
+  ];
+  propagatedBuildInputs = [
     pkgs.libsndfile
   ];
 }
@@ -1519,7 +1527,7 @@ buildPythonPackage rec {
     hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
     wheel
   ];
@@ -1903,8 +1911,8 @@ configure alternatives](#sec-overlays-alternatives-blas-lapack)".
 
 In a `setup.py` or `setup.cfg` it is common to declare dependencies:
 
-* `setup_requires` corresponds to [`nativeBuildInputs`](#var-stdenv-nativeBuildInputs)
-* `install_requires` corresponds to [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs)
+* `setup_requires` corresponds to `build-system`
+* `install_requires` corresponds to `dependencies`
 * `tests_require` corresponds to [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs)
 
 ### How to enable interpreter optimizations? {#optimizations}
@@ -1928,12 +1936,10 @@ in mypython
 
 Some packages define optional dependencies for additional features. With
 `setuptools` this is called `extras_require` and `flit` calls it
-`extras-require`, while PEP 621 calls these `optional-dependencies`. A
-method for supporting this is by declaring the extras of a package in its
-`passthru`, e.g. in case of the package `dask`
+`extras-require`, while PEP 621 calls these `optional-dependencies`.
 
 ```nix
-passthru.optional-dependencies = {
+optional-dependencies = {
   complete = [ distributed ];
 };
 ```
@@ -1941,11 +1947,13 @@ passthru.optional-dependencies = {
 and letting the package requiring the extra add the list to its dependencies
 
 ```nix
-propagatedBuildInputs = [
+dependencies = [
   ...
 ] ++ dask.optional-dependencies.complete;
 ```
 
+This method is using `passthru`, meaning that changing `optional-dependencies` of a package won't cause it to rebuild.
+
 Note this method is preferred over adding parameters to builders, as that can
 result in packages depending on different variants and thereby causing
 collisions.
diff --git a/nixpkgs/doc/languages-frameworks/rust.section.md b/nixpkgs/doc/languages-frameworks/rust.section.md
index 72bade25a9fb..76ac7b6cb2d2 100644
--- a/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -44,11 +44,11 @@ rustPlatform.buildRustPackage rec {
 }
 ```
 
-`buildRustPackage` requires either the `cargoHash` or the `cargoSha256`
-attribute which is computed over all crate sources of this package.
-`cargoSha256` is used for traditional Nix SHA-256 hashes. `cargoHash` should
-instead be used for [SRI](https://www.w3.org/TR/SRI/) hashes and should be
-preferred. For example:
+`buildRustPackage` requires either a `cargoHash` (preferred) or a
+`cargoSha256` attribute, computed over all crate sources of this package.
+`cargoHash` supports [SRI](https://www.w3.org/TR/SRI/) hashes and should be
+preferred over `cargoSha256` which was used for traditional Nix SHA-256 hashes.
+For example:
 
 ```nix
   cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
@@ -64,16 +64,16 @@ Both types of hashes are permitted when contributing to nixpkgs. The
 Cargo hash is obtained by inserting a fake checksum into the
 expression and building the package once. The correct checksum can
 then be taken from the failed build. A fake hash can be used for
-`cargoSha256` as follows:
+`cargoHash` as follows:
 
 ```nix
-  cargoSha256 = lib.fakeSha256;
+  cargoHash = lib.fakeHash;
 ```
 
-For `cargoHash` you can use:
+For `cargoSha256` you can use:
 
 ```nix
-  cargoHash = lib.fakeHash;
+  cargoSha256 = lib.fakeSha256;
 ```
 
 Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
@@ -90,7 +90,7 @@ directory into a tar.gz archive.
 The tarball with vendored dependencies contains a directory with the
 package's `name`, which is normally composed of `pname` and
 `version`. This means that the vendored dependencies hash
-(`cargoSha256`/`cargoHash`) is dependent on the package name and
+(`cargoHash`/`cargoSha256`) is dependent on the package name and
 version. The `cargoDepsName` attribute can be used to use another name
 for the directory of vendored dependencies. For example, the hash can
 be made invariant to the version by setting `cargoDepsName` to
@@ -115,7 +115,7 @@ rustPlatform.buildRustPackage rec {
 
 ### Importing a `Cargo.lock` file {#importing-a-cargo.lock-file}
 
-Using `cargoSha256` or `cargoHash` is tedious when using
+Using a vendored hash (`cargoHash`/`cargoSha256`) is tedious when using
 `buildRustPackage` within a project, since it requires that the hash
 is updated after every change to `Cargo.lock`. Therefore,
 `buildRustPackage` also supports vendoring dependencies directly from
diff --git a/nixpkgs/doc/packages/darwin-builder.section.md b/nixpkgs/doc/packages/darwin-builder.section.md
index 0c5323705345..bf6ef906ca5a 100644
--- a/nixpkgs/doc/packages/darwin-builder.section.md
+++ b/nixpkgs/doc/packages/darwin-builder.section.md
@@ -98,7 +98,7 @@ $ sudo launchctl kickstart -k system/org.nixos.nix-daemon
             host.pkgs = pkgs;
             darwin-builder.workingDirectory = "/var/lib/darwin-builder";
           };
-        };
+        }
       ];
     };
   in {
diff --git a/nixpkgs/lib/licenses.nix b/nixpkgs/lib/licenses.nix
index 47b7005c561d..39d8272f7573 100644
--- a/nixpkgs/lib/licenses.nix
+++ b/nixpkgs/lib/licenses.nix
@@ -854,6 +854,11 @@ in mkLicense lset) ({
     fullName = "Mozilla Public License 2.0";
   };
 
+  mplus = {
+    spdxId = "mplus";
+    fullName = "M+ Font License";
+  };
+
   mspl = {
     spdxId = "MS-PL";
     fullName = "Microsoft Public License";
diff --git a/nixpkgs/lib/modules.nix b/nixpkgs/lib/modules.nix
index 0c484fa684aa..c51999c2e332 100644
--- a/nixpkgs/lib/modules.nix
+++ b/nixpkgs/lib/modules.nix
@@ -81,9 +81,9 @@ let
                 , # `class`:
                   # A nominal type for modules. When set and non-null, this adds a check to
                   # make sure that only compatible modules are imported.
-                  # This would be remove in the future, Prefer _module.args option instead.
                   class ? null
-                , args ? {}
+                , # This would be remove in the future, Prefer _module.args option instead.
+                  args ? {}
                 , # This would be remove in the future, Prefer _module.check option instead.
                   check ? true
                 }:
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index ff66c73fb0c0..961b17b49c12 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -385,6 +385,13 @@
     githubId = 2526296;
     name = "Adrien Bustany";
   };
+  abysssol = {
+    name = "abysssol";
+    email = "abysssol@pm.me";
+    matrix = "@abysssol:tchncs.de";
+    github = "abysssol";
+    githubId = 76763323;
+  };
   acairncross = {
     email = "acairncross@gmail.com";
     github = "acairncross";
@@ -2250,6 +2257,12 @@
     githubId = 24027;
     name = "Bruno Bigras";
   };
+  bbjubjub = {
+    name = "Julie B.";
+    email = "julie+nixpkgs@bbjubjub.fr";
+    github = "bbjubjub2494";
+    githubId = 15657735;
+  };
   bburdette = {
     email = "bburdette@protonmail.com";
     github = "bburdette";
@@ -3216,6 +3229,13 @@
     github = "cdmistman";
     githubId = 23486351;
   };
+  cdombroski = {
+    name = "Chris Dombroski";
+    email = "cdombroski@gmail.com";
+    matrix = "@cdombroski:kow.is";
+    github = "cdombroski";
+    githubId = 244909;
+  };
   ceedubs = {
     email = "ceedubs@gmail.com";
     github = "ceedubs";
@@ -4103,6 +4123,12 @@
     github = "D3vil0p3r";
     githubId = 83867734;
   };
+  d4ilyrun = {
+    name = "Léo Duboin";
+    email = "leo@duboin.com";
+    github = "d4ilyrun";
+    githubId = 34611103;
+  };
   dadada = {
     name = "dadada";
     email = "dadada@dadada.li";
@@ -4289,6 +4315,15 @@
     githubId = 34766150;
     name = "datafoo";
   };
+  DataHearth = {
+    email = "dev@antoine-langlois.net";
+    github = "DataHearth";
+    githubId = 28595242;
+    name = "DataHearth";
+    keys = [{
+      fingerprint = "A129 2547 0298 BFEE 7EE0  92B3 946E 2D0C 410C 7B3D";
+    }];
+  };
   davegallant = {
     name = "Dave Gallant";
     email = "davegallant@gmail.com";
@@ -4782,6 +4817,12 @@
     githubId = 8404455;
     name = "Diego Lelis";
   };
+  diegs = {
+    email = "dpontor@gmail.com";
+    github = "diegs";
+    githubId = 74719;
+    name = "Diego Pontoriero";
+  };
   DieracDelta = {
     email = "justin@restivo.me";
     github = "DieracDelta";
@@ -4800,6 +4841,11 @@
     githubId = 32810399;
     name = "Diffumist";
   };
+  DimitarNestorov = {
+    name = "Dimitar Nestorov";
+    github = "DimitarNestorov";
+    githubId = 8790386;
+  };
   diogotcorreia = {
     name = "Diogo Correia";
     email = "me@diogotc.com";
@@ -5299,6 +5345,12 @@
     githubId = 7875;
     name = "Rommel Martinez";
   };
+  ecklf = {
+    email = "ecklf@icloud.com";
+    github = "ecklf";
+    githubId = 8146736;
+    name = "Florentin Eckl";
+  };
   eclairevoyant = {
     github = "eclairevoyant";
     githubId = 848000;
@@ -8255,6 +8307,12 @@
       fingerprint = "E864 BDFA AB55 36FD C905  5195 DBF2 52AF FB26 19FD";
     }];
   };
+  ironicbadger = {
+    email = "alexktz@gmail.com";
+    github = "ironicbadger";
+    githubId = 2773080;
+    name = "Alex Kretzschmar";
+  };
   ironpinguin = {
     email = "michele@catalano.de";
     github = "ironpinguin";
@@ -9481,6 +9539,16 @@
     githubId = 5802758;
     name = "Joshua Trees";
   };
+  juancmuller = {
+    email = "nix@juancmuller.com";
+    githubId = 208500;
+    github = "jcmuller";
+    matrix = "@jcmuller@beeper.com";
+    name = "Juan C. Müller";
+    keys = [{
+      fingerprint = "D78D 25D8 A1B8 2596 267F  35B8 F44E A51A 28F9 B4A7";
+    }];
+  };
   juaningan = {
     email = "juaningan@gmail.com";
     github = "oneingan";
@@ -9860,6 +9928,9 @@
     github = "kevincox";
     githubId = 494012;
     name = "Kevin Cox";
+    keys = [{
+      fingerprint = "B66B 891D D83B 0E67 7D84 FC30 9BB9 2CC1 552E 99AA";
+    }];
   };
   kevingriffin = {
     email = "me@kevin.jp";
@@ -10367,6 +10438,12 @@
     githubId = 894884;
     name = "Jakub Kozłowski";
   };
+  kud = {
+    email = "kasa7qi@gmail.com";
+    github = "KUD-00";
+    githubId = 70764075;
+    name = "kud";
+  };
   kupac = {
     github = "Kupac";
     githubId = 8224569;
@@ -11053,15 +11130,6 @@
     githubId = 4969294;
     name = "Louis Tim Larsen";
   };
-  lourkeur = {
-    name = "Louis Bettens";
-    email = "louis@bettens.info";
-    github = "lourkeur";
-    githubId = 15657735;
-    keys = [{
-      fingerprint = "5B93 9CFA E8FC 4D8F E07A  3AEA DFE1 D4A0 1733 7E2A";
-    }];
-  };
   loveisgrief = {
     name = "LoveIsGrief";
     email = "loveisgrief@tuta.io";
@@ -11152,6 +11220,12 @@
     githubId = 35580196;
     name = "Luca Guerra";
   };
+  lucasbergman = {
+    email = "lucas@bergmans.us";
+    github = "lucasbergman";
+    githubId = 3717454;
+    name = "Lucas Bergman";
+  };
   lucasew = {
     email = "lucas59356@gmail.com";
     github = "lucasew";
@@ -11731,12 +11805,6 @@
     githubId = 1729331;
     name = "Dominique Martinet";
   };
-  martingms = {
-    email = "martin@mg.am";
-    github = "martingms";
-    githubId = 458783;
-    name = "Martin Gammelsæter";
-  };
   martinjlowm = {
     email = "martin@martinjlowm.dk";
     github = "martinjlowm";
@@ -14859,6 +14927,12 @@
       fingerprint = "3AC6 F170 F011 33CE 393B  CD94 BE94 8AFD 7E78 73BE";
     }];
   };
+  phijor = {
+    name = "Philipp Joram";
+    email = "nixpkgs@phijor.me";
+    github = "phijor";
+    githubId = 10487782;
+  };
   philandstuff = {
     email = "philip.g.potter@gmail.com";
     github = "philandstuff";
@@ -16546,6 +16620,12 @@
     github = "rubyowo";
     githubId = 105302757;
   };
+  rucadi = {
+    email = "ruben.canodiaz@gmail.com";
+    github = "rucadi";
+    githubId = 6445619;
+    name = "Ruben Cano Diaz";
+  };
   rudolfvesely = {
     name = "Rudolf Vesely";
     email = "i@rudolfvesely.com";
@@ -17442,6 +17522,12 @@
     github = "shymega";
     githubId = 1334592;
   };
+  siddarthkay = {
+    email = "siddarthkay@gmail.com";
+    github = "siddarthkay";
+    githubId = 64726664;
+    name = "Siddarth Kumar";
+  };
   siddharthdhakane = {
     email = "siddharthdhakane@gmail.com";
     github = "siddharthdhakane";
@@ -18312,6 +18398,13 @@
     githubId = 2666479;
     name = "Y Nguyen";
   };
+  superherointj = {
+    email = "sergiomarcelo@yandex.com";
+    github = "superherointj";
+    githubId = 5861043;
+    matrix = "@superherointj:matrix.org";
+    name = "Sérgio Marcelo";
+  };
   SuperSandro2000 = {
     email = "sandro.jaeckel@gmail.com";
     matrix = "@sandro:supersandro.de";
@@ -18578,6 +18671,12 @@
     githubId = 11619234;
     name = "Sergey Volkov";
   };
+  tarantoj = {
+    email = "taranto.james@gmail.com";
+    github = "tarantoj";
+    githubId = 13129552;
+    name = "James Taranto";
+  };
   tari = {
     email = "peter@taricorp.net";
     github = "tari";
diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix
index 39c1ddcc33c4..2296842d5092 100644
--- a/nixpkgs/maintainers/team-list.nix
+++ b/nixpkgs/maintainers/team-list.nix
@@ -176,7 +176,7 @@ with lib.maintainers; {
 
   cosmopolitan = {
     members = [
-      lourkeur
+      bbjubjub
       tomberek
     ];
     scope = "Maintain the Cosmopolitan LibC and related programs.";
@@ -821,12 +821,18 @@ with lib.maintainers; {
 
   qt-kde = {
     members = [
+      ilya-fedin
+      k900
+      LunNova
+      mjm
+      nickcao
+      SuperSandro2000
       ttuegel
     ];
     githubTeams = [
       "qt-kde"
     ];
-    scope = "Maintain the KDE desktop environment and Qt.";
+    scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects.";
     shortName = "Qt / KDE";
     enableFeatureFreezePing = true;
   };
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2405.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2405.section.md
index f6a77036674e..be754f99713b 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -71,6 +71,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [TigerBeetle](https://tigerbeetle.com/), a distributed financial accounting database designed for mission critical safety and performance. Available as [services.tigerbeetle](#opt-services.tigerbeetle.enable).
 
+- [go-camo](https://github.com/cactus/go-camo), a secure image proxy server. Available as [services.go-camo](#opt-services.go-camo.enable).
+
 - [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
 
 - [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
@@ -167,6 +169,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - `xxd` has been moved from `vim` default output to its own output to reduce closure size. The canonical way to reference it across all platforms is `unixtools.xxd`.
 
+- The `stalwart-mail` package has been updated to v0.5.3, which includes [breaking changes](https://github.com/stalwartlabs/mail-server/blob/v0.5.3/UPGRADING.md).
+
 - `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
   Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
 
@@ -175,6 +179,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   `wants`), because the dependency that `multi-user.target` has on
   `network-online.target` is planned for removal.
 
+- `services.pgbouncer` now has systemd support enabled and will log to journald. The default setting for `services.pgbouncer.logFile` is now `null` to disable logging to a separate log file.
+
 - `services.archisteamfarm` no longer uses the abbreviation `asf` for its state directory (`/var/lib/asf`), user and group (both `asf`). Instead the long name `archisteamfarm` is used.
   Configurations with `system.stateVersion` 23.11 or earlier, default to the old stateDirectory until the 24.11 release and must either set the option explicitly or move the data to the new directory.
 
@@ -335,6 +341,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - The `services.paperless` module no longer uses the previously downloaded NLTK data stored in `/var/cache/paperless/nltk`. This directory can be removed.
 
+- The `services.teeworlds` module now has a wealth of configuration options, including a new `package` option.
+
 - The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
 
 - The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
diff --git a/nixpkgs/nixos/lib/systemd-unit-options.nix b/nixpkgs/nixos/lib/systemd-unit-options.nix
index df05d165d9e8..bc7880da9fe0 100644
--- a/nixpkgs/nixos/lib/systemd-unit-options.nix
+++ b/nixpkgs/nixos/lib/systemd-unit-options.nix
@@ -6,7 +6,7 @@ with lib;
 let
   checkService = checkUnitConfig "Service" [
     (assertValueOneOf "Type" [
-      "exec" "simple" "forking" "oneshot" "dbus" "notify" "idle"
+      "exec" "simple" "forking" "oneshot" "dbus" "notify" "notify-reload" "idle"
     ])
     (assertValueOneOf "Restart" [
       "no" "on-success" "on-failure" "on-abnormal" "on-abort" "always"
diff --git a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix
index ef00c6f86cbd..4698971de8ff 100644
--- a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix
+++ b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image-inner.nix
@@ -13,8 +13,23 @@
       ./lxd.nix
     ];
 
-  networking.useDHCP = false;
-  networking.interfaces.eth0.useDHCP = true;
+  networking = {
+    dhcpcd.enable = false;
+    useDHCP = false;
+    useHostResolvConf = false;
+  };
+
+  systemd.network = {
+    enable = true;
+    networks."50-eth0" = {
+      matchConfig.Name = "eth0";
+      networkConfig = {
+        DHCP = "ipv4";
+        IPv6AcceptRA = true;
+      };
+      linkConfig.RequiredForOnline = "routable";
+    };
+  };
 
   system.stateVersion = "@stateVersion@"; # Did you read the comment?
 }
diff --git a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image.nix b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image.nix
index b77f9f5aabe0..930ab34af385 100644
--- a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image.nix
+++ b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-container-image.nix
@@ -20,12 +20,25 @@
     };
   in ''
     if [ ! -e /etc/nixos/configuration.nix ]; then
-      mkdir -p /etc/nixos
-      cp ${config} /etc/nixos/configuration.nix
+      install -m 644 -D ${config} /etc/nixos/configuration.nix
     fi
   '';
 
-  # Network
-  networking.useDHCP = false;
-  networking.interfaces.eth0.useDHCP = true;
+  networking = {
+    dhcpcd.enable = false;
+    useDHCP = false;
+    useHostResolvConf = false;
+  };
+
+  systemd.network = {
+    enable = true;
+    networks."50-eth0" = {
+      matchConfig.Name = "eth0";
+      networkConfig = {
+        DHCP = "ipv4";
+        IPv6AcceptRA = true;
+      };
+      linkConfig.RequiredForOnline = "routable";
+    };
+  };
 }
diff --git a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
index 2d1761401fcd..d1264fa04304 100644
--- a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
+++ b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image-inner.nix
@@ -14,14 +14,15 @@
     ];
 
   networking = {
-    dhcdpcd.enable = false;
+    dhcpcd.enable = false;
     useDHCP = false;
+    useHostResolvConf = false;
   };
 
   systemd.network = {
     enable = true;
-    networks."50-eth0" = {
-      matchConfig.Name = "eth0";
+    networks."50-enp5s0" = {
+      matchConfig.Name = "enp5s0";
       networkConfig = {
         DHCP = "ipv4";
         IPv6AcceptRA = true;
diff --git a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
index a58579914465..bbbdd1f3fa17 100644
--- a/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
+++ b/nixpkgs/nixos/maintainers/scripts/lxd/lxd-virtual-machine-image.nix
@@ -27,8 +27,9 @@
 
   # Network
   networking = {
-    dhcdpcd.enable = false;
+    dhcpcd.enable = false;
     useDHCP = false;
+    useHostResolvConf = false;
   };
 
   systemd.network = {
diff --git a/nixpkgs/nixos/modules/config/ldso.nix b/nixpkgs/nixos/modules/config/ldso.nix
index 72ae3958d886..bd6f0dc5a83b 100644
--- a/nixpkgs/nixos/modules/config/ldso.nix
+++ b/nixpkgs/nixos/modules/config/ldso.nix
@@ -6,9 +6,9 @@ let
   libDir = pkgs.stdenv.hostPlatform.libDir;
   ldsoBasename = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker));
 
-  pkgs32 = pkgs.pkgsi686Linux;
-  libDir32 = pkgs32.stdenv.hostPlatform.libDir;
-  ldsoBasename32 = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker));
+  # Hard-code to avoid creating another instance of nixpkgs. Also avoids eval errors in some cases.
+  libDir32 = "lib"; # pkgs.pkgsi686Linux.stdenv.hostPlatform.libDir
+  ldsoBasename32 = "ld-linux.so.2"; # last (splitString "/" pkgs.pkgsi686Linux.stdenv.cc.bintools.dynamicLinker)
 in {
   options = {
     environment.ldso = mkOption {
diff --git a/nixpkgs/nixos/modules/config/no-x-libs.nix b/nixpkgs/nixos/modules/config/no-x-libs.nix
index 2f763290e32d..32b17f6059ef 100644
--- a/nixpkgs/nixos/modules/config/no-x-libs.nix
+++ b/nixpkgs/nixos/modules/config/no-x-libs.nix
@@ -83,6 +83,7 @@ with lib;
       # translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
       util-linux = super.util-linux.override { translateManpages = false; };
       vim-full = super.vim-full.override { guiSupport = false; };
+      vte = super.vte.override { gtkVersion = null; };
       zbar = super.zbar.override { enableVideo = false; withXorg = false; };
     }));
   };
diff --git a/nixpkgs/nixos/modules/config/users-groups.nix b/nixpkgs/nixos/modules/config/users-groups.nix
index 967ad0846d75..dd34771c0b42 100644
--- a/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/nixpkgs/nixos/modules/config/users-groups.nix
@@ -649,7 +649,6 @@ in {
         home = "/root";
         shell = mkDefault cfg.defaultUserShell;
         group = "root";
-        initialHashedPassword = mkDefault "!";
       };
       nobody = {
         uid = ids.uids.nobody;
@@ -897,7 +896,26 @@ in {
     ));
 
     warnings =
-      builtins.filter (x: x != null) (
+      flip concatMap (attrValues cfg.users) (user: let
+        unambiguousPasswordConfiguration = 1 >= length (filter (x: x != null) ([
+          user.hashedPassword
+          user.hashedPasswordFile
+          user.password
+        ] ++ optionals cfg.mutableUsers [
+          # For immutable users, initialHashedPassword is set to hashedPassword,
+          # so using these options would always trigger the assertion.
+          user.initialHashedPassword
+          user.initialPassword
+        ]));
+      in optional (!unambiguousPasswordConfiguration) ''
+        The user '${user.name}' has multiple of the options
+        `hashedPassword`, `password`, `hashedPasswordFile`, `initialPassword`
+        & `initialHashedPassword` set to a non-null value.
+        The options silently discard others by the order of precedence
+        given above which can lead to surprising results. To resolve this warning,
+        set at most one of the options above to a non-`null` value.
+      '')
+      ++ builtins.filter (x: x != null) (
         flip mapAttrsToList cfg.users (_: user:
         # This regex matches a subset of the Modular Crypto Format (MCF)[1]
         # informal standard. Since this depends largely on the OS or the
diff --git a/nixpkgs/nixos/modules/config/vte.nix b/nixpkgs/nixos/modules/config/vte.nix
index a969607f6e0b..48f85246560a 100644
--- a/nixpkgs/nixos/modules/config/vte.nix
+++ b/nixpkgs/nixos/modules/config/vte.nix
@@ -1,5 +1,3 @@
-# VTE
-
 { config, pkgs, lib, ... }:
 
 with lib;
@@ -9,7 +7,7 @@ let
   vteInitSnippet = ''
     # Show current working directory in VTE terminals window title.
     # Supports both bash and zsh, requires interactive shell.
-    . ${pkgs.vte}/etc/profile.d/vte.sh
+    . ${pkgs.vte.override { gtkVersion = null; }}/etc/profile.d/vte.sh
   '';
 
 in
diff --git a/nixpkgs/nixos/modules/config/xdg/portal.nix b/nixpkgs/nixos/modules/config/xdg/portal.nix
index 07d4fa76c2e8..5aa23377f9ff 100644
--- a/nixpkgs/nixos/modules/config/xdg/portal.nix
+++ b/nixpkgs/nixos/modules/config/xdg/portal.nix
@@ -119,19 +119,6 @@ in
     let
       cfg = config.xdg.portal;
       packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
-      configPackages = cfg.configPackages;
-
-      joinedPortals = pkgs.buildEnv {
-        name = "xdg-portals";
-        paths = packages;
-        pathsToLink = [ "/share/xdg-desktop-portal/portals" "/share/applications" ];
-      };
-
-      joinedPortalConfigs = pkgs.buildEnv {
-        name = "xdg-portal-configs";
-        paths = configPackages;
-        pathsToLink = [ "/share/xdg-desktop-portal" ];
-      };
     in
     mkIf cfg.enable {
       warnings = lib.optional (cfg.configPackages == [ ] && cfg.config == { }) ''
@@ -158,17 +145,18 @@ in
       systemd.packages = packages;
 
       environment = {
-        # fixes screen sharing on plasmawayland on non-chromium apps by linking
-        # share/applications/*.desktop files
-        # see https://github.com/NixOS/nixpkgs/issues/145174
-        systemPackages = [ joinedPortals ];
-        pathsToLink = [ "/share/applications" ];
+        systemPackages = packages ++ cfg.configPackages;
+        pathsToLink = [
+          # Portal definitions and upstream desktop environment portal configurations.
+          "/share/xdg-desktop-portal"
+          # .desktop files to register fallback icon and app name.
+          "/share/applications"
+        ];
 
         sessionVariables = {
           GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
           NIXOS_XDG_OPEN_USE_PORTAL = mkIf cfg.xdgOpenUsePortal "1";
-          XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
-          NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR = mkIf (cfg.configPackages != [ ]) "${joinedPortalConfigs}/share/xdg-desktop-portal";
+          NIX_XDG_DESKTOP_PORTAL_DIR = "/run/current-system/sw/share/xdg-desktop-portal/portals";
         };
 
         etc = lib.concatMapAttrs
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index e81754414ea4..a64efec046a4 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -241,6 +241,7 @@
   ./programs/proxychains.nix
   ./programs/qdmr.nix
   ./programs/qt5ct.nix
+  ./programs/quark-goldleaf.nix
   ./programs/regreet.nix
   ./programs/rog-control-center.nix
   ./programs/rust-motd.nix
@@ -963,6 +964,7 @@
   ./services/networking/gns3-server.nix
   ./services/networking/gnunet.nix
   ./services/networking/go-autoconfig.nix
+  ./services/networking/go-camo.nix
   ./services/networking/go-neb.nix
   ./services/networking/go-shadowsocks2.nix
   ./services/networking/gobgpd.nix
diff --git a/nixpkgs/nixos/modules/programs/chromium.nix b/nixpkgs/nixos/modules/programs/chromium.nix
index 287d93c82cad..45a9e9e2a689 100644
--- a/nixpkgs/nixos/modules/programs/chromium.nix
+++ b/nixpkgs/nixos/modules/programs/chromium.nix
@@ -23,7 +23,7 @@ in
 
       enablePlasmaBrowserIntegration = mkEnableOption (lib.mdDoc "Native Messaging Host for Plasma Browser Integration");
 
-      plasmaBrowserIntegrationPackage = mkPackageOption pkgs "plasma5Packages.plasma-browser-integration" { };
+      plasmaBrowserIntegrationPackage = mkPackageOption pkgs [ "plasma5Packages" "plasma-browser-integration" ] { };
 
       extensions = mkOption {
         type = with types; nullOr (listOf str);
diff --git a/nixpkgs/nixos/modules/programs/quark-goldleaf.nix b/nixpkgs/nixos/modules/programs/quark-goldleaf.nix
new file mode 100644
index 000000000000..71aadc8c594e
--- /dev/null
+++ b/nixpkgs/nixos/modules/programs/quark-goldleaf.nix
@@ -0,0 +1,18 @@
+{ config, lib, pkgs, ... }:
+let
+  cfg = config.programs.quark-goldleaf;
+in
+{
+  options = {
+    programs.quark-goldleaf = {
+      enable = lib.mkEnableOption "quark-goldleaf with udev rules applied";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.quark-goldleaf ];
+    services.udev.packages = [ pkgs.quark-goldleaf ];
+  };
+
+  meta.maintainers = pkgs.quark-goldleaf.meta.maintainers;
+}
diff --git a/nixpkgs/nixos/modules/programs/yazi.nix b/nixpkgs/nixos/modules/programs/yazi.nix
index 273a7eeed05f..338eddb60d80 100644
--- a/nixpkgs/nixos/modules/programs/yazi.nix
+++ b/nixpkgs/nixos/modules/programs/yazi.nix
@@ -22,7 +22,7 @@ in
             description = lib.mdDoc ''
               Configuration included in `${name}.toml`.
 
-              See https://github.com/sxyazi/yazi/blob/v${cfg.package.version}/config/docs/${name}.md for documentation.
+              See https://yazi-rs.github.io/docs/configuration/${name}/ for documentation.
             '';
           }))
           names);
@@ -47,7 +47,5 @@ in
   };
   meta = {
     maintainers = with lib.maintainers; [ linsui ];
-    # The version of the package is used in the doc.
-    buildDocsInSandbox = false;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
index 3fb916c76971..a920b6cb1268 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/default.nix
@@ -285,7 +285,7 @@ in {
       systemd.tmpfiles.rules = [
         "d /opt/cni/bin 0755 root root -"
         "d /run/kubernetes 0755 kubernetes kubernetes -"
-        "d /var/lib/kubernetes 0755 kubernetes kubernetes -"
+        "d ${cfg.dataDir} 0755 kubernetes kubernetes -"
       ];
 
       users.users.kubernetes = {
@@ -294,6 +294,7 @@ in {
         group = "kubernetes";
         home = cfg.dataDir;
         createHome = true;
+        homeMode = "755";
       };
       users.groups.kubernetes.gid = config.ids.gids.kubernetes;
 
diff --git a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
index 9a01238c2391..a4b5cb8eda86 100644
--- a/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixpkgs/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -192,7 +192,8 @@ in
         mkdir -p "$(dirname "${certmgrAPITokenPath}")"
         if [ -f "${cfsslAPITokenPath}" ]; then
           ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
-        else
+        elif [ ! -f "${certmgrAPITokenPath}" ]; then
+          # Don't remove the token if it already exists
           install -m 600 /dev/null "${certmgrAPITokenPath}"
         fi
       ''
diff --git a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
index 54bbe69703f9..b1d44e67658b 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -39,7 +39,7 @@ let
 
   hydra-package =
   let
-    makeWrapperArgs = concatStringsSep " " (mapAttrsToList (key: value: "--set \"${key}\" \"${value}\"") hydraEnv);
+    makeWrapperArgs = concatStringsSep " " (mapAttrsToList (key: value: "--set-default \"${key}\" \"${value}\"") hydraEnv);
   in pkgs.buildEnv rec {
     name = "hydra-env";
     nativeBuildInputs = [ pkgs.makeWrapper ];
diff --git a/nixpkgs/nixos/modules/services/databases/mysql.nix b/nixpkgs/nixos/modules/services/databases/mysql.nix
index 128bb0862175..a6d71cca88de 100644
--- a/nixpkgs/nixos/modules/services/databases/mysql.nix
+++ b/nixpkgs/nixos/modules/services/databases/mysql.nix
@@ -7,6 +7,9 @@ let
   cfg = config.services.mysql;
 
   isMariaDB = lib.getName cfg.package == lib.getName pkgs.mariadb;
+  isOracle = lib.getName cfg.package == lib.getName pkgs.mysql80;
+  # Oracle MySQL has supported "notify" service type since 8.0
+  hasNotify = isMariaDB || (isOracle && versionAtLeast cfg.package.version "8.0");
 
   mysqldOptions =
     "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}";
@@ -377,19 +380,11 @@ in
         # The super user account to use on *first* run of MySQL server
         superUser = if isMariaDB then cfg.user else "root";
       in ''
-        ${optionalString (!isMariaDB) ''
+        ${optionalString (!hasNotify) ''
           # Wait until the MySQL server is available for use
-          count=0
           while [ ! -e /run/mysqld/mysqld.sock ]
           do
-              if [ $count -eq 30 ]
-              then
-                  echo "Tried 30 times, giving up..."
-                  exit 1
-              fi
-
               echo "MySQL daemon not yet started. Waiting for 1 second..."
-              count=$((count++))
               sleep 1
           done
         ''}
@@ -477,7 +472,7 @@ in
 
       serviceConfig = mkMerge [
         {
-          Type = if isMariaDB then "notify" else "simple";
+          Type = if hasNotify then "notify" else "simple";
           Restart = "on-abort";
           RestartSec = "5s";
 
diff --git a/nixpkgs/nixos/modules/services/databases/pgbouncer.nix b/nixpkgs/nixos/modules/services/databases/pgbouncer.nix
index 65b287e84442..157d49c13161 100644
--- a/nixpkgs/nixos/modules/services/databases/pgbouncer.nix
+++ b/nixpkgs/nixos/modules/services/databases/pgbouncer.nix
@@ -66,9 +66,6 @@ let
       ${optionalString (cfg.adminUsers != null) "admin_users = ${cfg.adminUsers}"}
       ${optionalString (cfg.statsUsers != null) "stats_users = ${cfg.statsUsers}"}
 
-      # linux
-      pidfile = /run/pgbouncer/pgbouncer.pid
-
       # extra
       ${cfg.extraConfig}
     '';
@@ -96,10 +93,9 @@ in {
 
     logFile = mkOption {
       type = types.nullOr types.str;
-      default = "pgbouncer.log";
+      default = null;
       description = lib.mdDoc ''
-        Specifies the log file.
-        Either this or syslog has to be specified.
+        Specifies a log file in addition to journald.
       '';
     };
 
@@ -601,22 +597,21 @@ in {
 
     systemd.services.pgbouncer = {
       description = "PgBouncer - PostgreSQL connection pooler";
-      wants    = [ "postgresql.service" ];
-      after    = [ "postgresql.service" ];
+      wants    = [ "network-online.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service";
+      after    = [ "network-online.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service";
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        Type = "forking";
+        Type = "notify";
         User = cfg.user;
         Group = cfg.group;
-        ExecStart = "${pkgs.pgbouncer}/bin/pgbouncer -d ${confFile}";
+        ExecStart = "${lib.getExe pkgs.pgbouncer} ${confFile}";
         ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
         RuntimeDirectory = "pgbouncer";
-        PIDFile = "/run/pgbouncer/pgbouncer.pid";
         LimitNOFILE = cfg.openFilesLimit;
       };
     };
 
-    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
+    networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.listenPort;
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/display-managers/greetd.nix b/nixpkgs/nixos/modules/services/display-managers/greetd.nix
index 2212f97a9ffe..c2d345152de9 100644
--- a/nixpkgs/nixos/modules/services/display-managers/greetd.nix
+++ b/nixpkgs/nixos/modules/services/display-managers/greetd.nix
@@ -78,7 +78,7 @@ in
       serviceConfig = {
         ExecStart = "${pkgs.greetd.greetd}/bin/greetd --config ${settingsFormat.generate "greetd.toml" cfg.settings}";
 
-        Restart = mkIf cfg.restart "always";
+        Restart = mkIf cfg.restart "on-success";
 
         # Defaults from greetd upstream configuration
         IgnoreSIGPIPE = false;
diff --git a/nixpkgs/nixos/modules/services/games/teeworlds.nix b/nixpkgs/nixos/modules/services/games/teeworlds.nix
index bd0df1ffca57..04b611fb3cb1 100644
--- a/nixpkgs/nixos/modules/services/games/teeworlds.nix
+++ b/nixpkgs/nixos/modules/services/games/teeworlds.nix
@@ -6,13 +6,86 @@ let
   cfg = config.services.teeworlds;
   register = cfg.register;
 
+  bool = b: if b != null && b then "1" else "0";
+  optionalSetting = s: setting: optionalString (s != null) "${setting} ${s}";
+  lookup = attrs: key: default: if attrs ? key then attrs."${key}" else default;
+
+  inactivePenaltyOptions = {
+    "spectator" = "1";
+    "spectator/kick" = "2";
+    "kick" = "3";
+  };
+  skillLevelOptions = {
+    "casual" = "0";
+    "normal" = "1";
+    "competitive" = "2";
+  };
+  tournamentModeOptions = {
+    "disable" = "0";
+    "enable"  = "1";
+    "restrictSpectators" = "2";
+  };
+
   teeworldsConf = pkgs.writeText "teeworlds.cfg" ''
     sv_port ${toString cfg.port}
-    sv_register ${if cfg.register then "1" else "0"}
-    ${optionalString (cfg.name != null) "sv_name ${cfg.name}"}
-    ${optionalString (cfg.motd != null) "sv_motd ${cfg.motd}"}
-    ${optionalString (cfg.password != null) "password ${cfg.password}"}
-    ${optionalString (cfg.rconPassword != null) "sv_rcon_password ${cfg.rconPassword}"}
+    sv_register ${bool cfg.register}
+    sv_name ${cfg.name}
+    ${optionalSetting cfg.motd "sv_motd"}
+    ${optionalSetting cfg.password "password"}
+    ${optionalSetting cfg.rconPassword "sv_rcon_password"}
+
+    ${optionalSetting cfg.server.bindAddr "bindaddr"}
+    ${optionalSetting cfg.server.hostName "sv_hostname"}
+    sv_high_bandwidth ${bool cfg.server.enableHighBandwidth}
+    sv_inactivekick ${lookup inactivePenaltyOptions cfg.server.inactivePenalty "spectator/kick"}
+    sv_inactivekick_spec ${bool cfg.server.kickInactiveSpectators}
+    sv_inactivekick_time ${toString cfg.server.inactiveTime}
+    sv_max_clients ${toString cfg.server.maxClients}
+    sv_max_clients_per_ip ${toString cfg.server.maxClientsPerIP}
+    sv_skill_level ${lookup skillLevelOptions cfg.server.skillLevel "normal"}
+    sv_spamprotection ${bool cfg.server.enableSpamProtection}
+
+    sv_gametype ${cfg.game.gameType}
+    sv_map ${cfg.game.map}
+    sv_match_swap ${bool cfg.game.swapTeams}
+    sv_player_ready_mode ${bool cfg.game.enableReadyMode}
+    sv_player_slots ${toString cfg.game.playerSlots}
+    sv_powerups ${bool cfg.game.enablePowerups}
+    sv_scorelimit ${toString cfg.game.scoreLimit}
+    sv_strict_spectate_mode ${bool cfg.game.restrictSpectators}
+    sv_teamdamage ${bool cfg.game.enableTeamDamage}
+    sv_timelimit ${toString cfg.game.timeLimit}
+    sv_tournament_mode ${lookup tournamentModeOptions cfg.server.tournamentMode "disable"}
+    sv_vote_kick ${bool cfg.game.enableVoteKick}
+    sv_vote_kick_bantime ${toString cfg.game.voteKickBanTime}
+    sv_vote_kick_min ${toString cfg.game.voteKickMinimumPlayers}
+
+    ${optionalSetting cfg.server.bindAddr "bindaddr"}
+    ${optionalSetting cfg.server.hostName "sv_hostname"}
+    sv_high_bandwidth ${bool cfg.server.enableHighBandwidth}
+    sv_inactivekick ${lookup inactivePenaltyOptions cfg.server.inactivePenalty "spectator/kick"}
+    sv_inactivekick_spec ${bool cfg.server.kickInactiveSpectators}
+    sv_inactivekick_time ${toString cfg.server.inactiveTime}
+    sv_max_clients ${toString cfg.server.maxClients}
+    sv_max_clients_per_ip ${toString cfg.server.maxClientsPerIP}
+    sv_skill_level ${lookup skillLevelOptions cfg.server.skillLevel "normal"}
+    sv_spamprotection ${bool cfg.server.enableSpamProtection}
+
+    sv_gametype ${cfg.game.gameType}
+    sv_map ${cfg.game.map}
+    sv_match_swap ${bool cfg.game.swapTeams}
+    sv_player_ready_mode ${bool cfg.game.enableReadyMode}
+    sv_player_slots ${toString cfg.game.playerSlots}
+    sv_powerups ${bool cfg.game.enablePowerups}
+    sv_scorelimit ${toString cfg.game.scoreLimit}
+    sv_strict_spectate_mode ${bool cfg.game.restrictSpectators}
+    sv_teamdamage ${bool cfg.game.enableTeamDamage}
+    sv_timelimit ${toString cfg.game.timeLimit}
+    sv_tournament_mode ${lookup tournamentModeOptions cfg.server.tournamentMode "disable"}
+    sv_vote_kick ${bool cfg.game.enableVoteKick}
+    sv_vote_kick_bantime ${toString cfg.game.voteKickBanTime}
+    sv_vote_kick_min ${toString cfg.game.voteKickMinimumPlayers}
+
     ${concatStringsSep "\n" cfg.extraOptions}
   '';
 
@@ -22,17 +95,19 @@ in
     services.teeworlds = {
       enable = mkEnableOption (lib.mdDoc "Teeworlds Server");
 
+      package = mkPackageOptionMD pkgs "teeworlds-server" { };
+
       openPorts = mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc "Whether to open firewall ports for Teeworlds";
+        description = lib.mdDoc "Whether to open firewall ports for Teeworlds.";
       };
 
       name = mkOption {
-        type = types.nullOr types.str;
-        default = null;
+        type = types.str;
+        default = "unnamed server";
         description = lib.mdDoc ''
-          Name of the server. Defaults to 'unnamed server'.
+          Name of the server.
         '';
       };
 
@@ -41,7 +116,7 @@ in
         example = true;
         default = false;
         description = lib.mdDoc ''
-          Whether the server registers as public server in the global server list. This is disabled by default because of privacy.
+          Whether the server registers as a public server in the global server list. This is disabled by default for privacy reasons.
         '';
       };
 
@@ -49,7 +124,7 @@ in
         type = types.nullOr types.str;
         default = null;
         description = lib.mdDoc ''
-          Set the server message of the day text.
+          The server's message of the day text.
         '';
       };
 
@@ -85,6 +160,217 @@ in
         '';
         example = [ "sv_map dm1" "sv_gametype dm" ];
       };
+
+      server = {
+        bindAddr = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = lib.mdDoc ''
+            The address the server will bind to.
+          '';
+        };
+
+        enableHighBandwidth = mkOption {
+          type = types.bool;
+          default = false;
+          description = lib.mdDoc ''
+            Whether to enable high bandwidth mode on LAN servers. This will double the amount of bandwidth required for running the server.
+          '';
+        };
+
+        hostName = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = lib.mdDoc ''
+            Hostname for the server.
+          '';
+        };
+
+        inactivePenalty = mkOption {
+          type = types.enum [ "spectator" "spectator/kick" "kick" ];
+          example = "spectator";
+          default = "spectator/kick";
+          description = lib.mdDoc ''
+            Specify what to do when a client goes inactive (see [](#opt-services.teeworlds.server.inactiveTime)).
+
+            - `spectator`: send the client into spectator mode
+
+            - `spectator/kick`: send the client into a free spectator slot, otherwise kick the client
+
+            - `kick`: kick the client
+          '';
+        };
+
+        kickInactiveSpectators = mkOption {
+          type = types.bool;
+          default = false;
+          description = lib.mdDoc ''
+            Whether to kick inactive spectators.
+          '';
+        };
+
+        inactiveTime = mkOption {
+          type = types.ints.unsigned;
+          default = 3;
+          description = lib.mdDoc ''
+            The amount of minutes a client has to idle before it is considered inactive.
+          '';
+        };
+
+        maxClients = mkOption {
+          type = types.ints.unsigned;
+          default = 12;
+          description = lib.mdDoc ''
+            The maximum amount of clients that can be connected to the server at the same time.
+          '';
+        };
+
+        maxClientsPerIP = mkOption {
+          type = types.ints.unsigned;
+          default = 12;
+          description = lib.mdDoc ''
+            The maximum amount of clients with the same IP address that can be connected to the server at the same time.
+          '';
+        };
+
+        skillLevel = mkOption {
+          type = types.enum [ "casual" "normal" "competitive" ];
+          default = "normal";
+          description = lib.mdDoc ''
+            The skill level shown in the server browser.
+          '';
+        };
+
+        enableSpamProtection = mkOption {
+          type = types.bool;
+          default = true;
+          description = lib.mdDoc ''
+            Whether to enable chat spam protection.
+          '';
+        };
+      };
+
+      game = {
+        gameType = mkOption {
+          type = types.str;
+          example = "ctf";
+          default = "dm";
+          description = lib.mdDoc ''
+            The game type to use on the server.
+
+            The default gametypes are `dm`, `tdm`, `ctf`, `lms`, and `lts`.
+          '';
+        };
+
+        map = mkOption {
+          type = types.str;
+          example = "ctf5";
+          default = "dm1";
+          description = lib.mdDoc ''
+            The map to use on the server.
+          '';
+        };
+
+        swapTeams = mkOption {
+          type = types.bool;
+          default = true;
+          description = lib.mdDoc ''
+            Whether to swap teams each round.
+          '';
+        };
+
+        enableReadyMode = mkOption {
+          type = types.bool;
+          default = false;
+          description = lib.mdDoc ''
+            Whether to enable "ready mode"; where players can pause/unpause the game
+            and start the game in warmup, using their ready state.
+          '';
+        };
+
+        playerSlots = mkOption {
+          type = types.ints.unsigned;
+          default = 8;
+          description = lib.mdDoc ''
+            The amount of slots to reserve for players (as opposed to spectators).
+          '';
+        };
+
+        enablePowerups = mkOption {
+          type = types.bool;
+          default = true;
+          description = lib.mdDoc ''
+            Whether to allow powerups such as the ninja.
+          '';
+        };
+
+        scoreLimit = mkOption {
+          type = types.ints.unsigned;
+          example = 400;
+          default = 20;
+          description = lib.mdDoc ''
+            The score limit needed to win a round.
+          '';
+        };
+
+        restrictSpectators = mkOption {
+          type = types.bool;
+          default = false;
+          description = lib.mdDoc ''
+            Whether to restrict access to information such as health, ammo and armour in spectator mode.
+          '';
+        };
+
+        enableTeamDamage = mkOption {
+          type = types.bool;
+          default = false;
+          description = lib.mdDoc ''
+            Whether to enable team damage; whether to allow team mates to inflict damage on one another.
+          '';
+        };
+
+        timeLimit = mkOption {
+          type = types.ints.unsigned;
+          default = 0;
+          description = lib.mdDoc ''
+            Time limit of the game. In cases of equal points, there will be sudden death.
+            Setting this to 0 disables a time limit.
+          '';
+        };
+
+        tournamentMode = mkOption {
+          type = types.enum [ "disable" "enable" "restrictSpectators" ];
+          default = "disable";
+          description = lib.mdDoc ''
+            Whether to enable tournament mode. In tournament mode, players join as spectators.
+            If this is set to `restrictSpectators`, tournament mode is enabled but spectator chat is restricted.
+          '';
+        };
+
+        enableVoteKick = mkOption {
+          type = types.bool;
+          default = true;
+          description = lib.mdDoc ''
+            Whether to enable voting to kick players.
+          '';
+        };
+
+        voteKickBanTime = mkOption {
+          type = types.ints.unsigned;
+          default = 5;
+          description = lib.mdDoc ''
+            The amount of minutes that a player is banned for if they get kicked by a vote.
+          '';
+        };
+
+        voteKickMinimumPlayers = mkOption {
+          type = types.ints.unsigned;
+          default = 5;
+          description = lib.mdDoc ''
+            The minimum amount of players required to start a kick vote.
+          '';
+        };
+      };
     };
   };
 
@@ -100,7 +386,7 @@ in
 
       serviceConfig = {
         DynamicUser = true;
-        ExecStart = "${pkgs.teeworlds-server}/bin/teeworlds_srv -f ${teeworldsConf}";
+        ExecStart = "${cfg.package}/bin/teeworlds_srv -f ${teeworldsConf}";
 
         # Hardening
         CapabilityBoundingSet = false;
diff --git a/nixpkgs/nixos/modules/services/hardware/asusd.nix b/nixpkgs/nixos/modules/services/hardware/asusd.nix
index ebbdea26c051..ff9a751e5be8 100644
--- a/nixpkgs/nixos/modules/services/hardware/asusd.nix
+++ b/nixpkgs/nixos/modules/services/hardware/asusd.nix
@@ -8,6 +8,8 @@ in
     services.asusd = {
       enable = lib.mkEnableOption (lib.mdDoc "the asusd service for ASUS ROG laptops");
 
+      package = lib.mkPackageOption pkgs "asusctl" { };
+
       enableUserService = lib.mkOption {
         type = lib.types.bool;
         default = false;
@@ -73,7 +75,7 @@ in
   };
 
   config = lib.mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.asusctl ];
+    environment.systemPackages = [ cfg.package ];
 
     environment.etc =
       let
@@ -92,9 +94,9 @@ in
       };
 
     services.dbus.enable = true;
-    systemd.packages = [ pkgs.asusctl ];
-    services.dbus.packages = [ pkgs.asusctl ];
-    services.udev.packages = [ pkgs.asusctl ];
+    systemd.packages = [ cfg.package ];
+    services.dbus.packages = [ cfg.package ];
+    services.udev.packages = [ cfg.package ];
     services.supergfxd.enable = lib.mkDefault true;
 
     systemd.user.services.asusd-user.enable = cfg.enableUserService;
diff --git a/nixpkgs/nixos/modules/services/hardware/bolt.nix b/nixpkgs/nixos/modules/services/hardware/bolt.nix
index 6990a9ea63b3..3bdf67cc1758 100644
--- a/nixpkgs/nixos/modules/services/hardware/bolt.nix
+++ b/nixpkgs/nixos/modules/services/hardware/bolt.nix
@@ -1,14 +1,13 @@
-# Thunderbolt 3 device manager
-
 { config, lib, pkgs, ...}:
 
 with lib;
 
+let
+  cfg = config.services.hardware.bolt;
+in
 {
   options = {
-
     services.hardware.bolt = {
-
       enable = mkOption {
         type = types.bool;
         default = false;
@@ -20,15 +19,13 @@ with lib;
         '';
       };
 
+      package = mkPackageOption pkgs "bolt" { };
     };
-
   };
 
-  config = mkIf config.services.hardware.bolt.enable {
-
-    environment.systemPackages = [ pkgs.bolt ];
-    services.udev.packages = [ pkgs.bolt ];
-    systemd.packages = [ pkgs.bolt ];
-
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    services.udev.packages = [ cfg.package ];
+    systemd.packages = [ cfg.package ];
   };
 }
diff --git a/nixpkgs/nixos/modules/services/hardware/brltty.nix b/nixpkgs/nixos/modules/services/hardware/brltty.nix
index 3133804f485f..f96760e92c57 100644
--- a/nixpkgs/nixos/modules/services/hardware/brltty.nix
+++ b/nixpkgs/nixos/modules/services/hardware/brltty.nix
@@ -34,6 +34,7 @@ in {
     users.users.brltty = {
       description = "BRLTTY daemon user";
       group = "brltty";
+      isSystemUser = true;
     };
     users.groups = {
       brltty = { };
diff --git a/nixpkgs/nixos/modules/services/hardware/undervolt.nix b/nixpkgs/nixos/modules/services/hardware/undervolt.nix
index 67d8171587bb..c4d4c6791a21 100644
--- a/nixpkgs/nixos/modules/services/hardware/undervolt.nix
+++ b/nixpkgs/nixos/modules/services/hardware/undervolt.nix
@@ -12,6 +12,7 @@ let
     inherit (cfg)
       verbose
       temp
+      turbo
       ;
     # `core` and `cache` are both intentionally set to `cfg.coreOffset` as according to the undervolt docs:
     #
@@ -105,6 +106,14 @@ in
       '';
     };
 
+    turbo = mkOption {
+      type = types.nullOr types.int;
+      default = null;
+      description = lib.mdDoc ''
+        Changes the Intel Turbo feature status (1 is disabled and 0 is enabled).
+      '';
+    };
+
     p1.limit = mkOption {
       type = with types; nullOr int;
       default = null;
diff --git a/nixpkgs/nixos/modules/services/mail/stalwart-mail.nix b/nixpkgs/nixos/modules/services/mail/stalwart-mail.nix
index f576a426b318..8ab3497f7a17 100644
--- a/nixpkgs/nixos/modules/services/mail/stalwart-mail.nix
+++ b/nixpkgs/nixos/modules/services/mail/stalwart-mail.nix
@@ -32,10 +32,15 @@ in {
       global.tracing.level = mkDefault "info";
       queue.path = mkDefault "${dataDir}/queue";
       report.path = mkDefault "${dataDir}/reports";
+      store.db.type = mkDefault "sqlite";
       store.db.path = mkDefault "${dataDir}/data/index.sqlite3";
-      store.blob.type = mkDefault "local";
-      store.blob.local.path = mkDefault "${dataDir}/data/blobs";
+      store.blob.type = mkDefault "fs";
+      store.blob.path = mkDefault "${dataDir}/data/blobs";
+      storage.data = mkDefault "db";
+      storage.fts = mkDefault "db";
+      storage.blob = mkDefault "blob";
       resolver.type = mkDefault "system";
+      resolver.public-suffix = mkDefault ["https://publicsuffix.org/list/public_suffix_list.dat"];
     };
 
     systemd.services.stalwart-mail = {
@@ -57,8 +62,8 @@ in {
         KillSignal = "SIGINT";
         Restart = "on-failure";
         RestartSec = 5;
-        StandardOutput = "syslog";
-        StandardError = "syslog";
+        StandardOutput = "journal";
+        StandardError = "journal";
         SyslogIdentifier = "stalwart-mail";
 
         DynamicUser = true;
diff --git a/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix b/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
index 80a6162b2168..557d6d7e7168 100644
--- a/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixpkgs/nixos/modules/services/misc/sourcehut/default.nix
@@ -790,13 +790,21 @@ in
         '';
       };
       systemd.tmpfiles.settings."10-sourcehut-gitsrht" = mkIf cfg.git.enable (
-        builtins.listToAttrs (map (name: {
-          name = "/var/log/sourcehut/gitsrht-${name}";
-          value.f = {
-            inherit (cfg.git) user group;
-            mode = "0644";
-          };
-        }) [ "keys" "shell" "update-hook" ])
+        mkMerge [
+          (builtins.listToAttrs (map (name: {
+            name = "/var/log/sourcehut/gitsrht-${name}";
+            value.f = {
+              inherit (cfg.git) user group;
+              mode = "0644";
+            };
+          }) [ "keys" "shell" "update-hook" ]))
+          {
+            ${cfg.settings."git.sr.ht".repos}.d = {
+              inherit (cfg.git) user group;
+              mode = "0644";
+            };
+          }
+        ]
       );
       systemd.services.sshd = {
         preStart = mkIf cfg.hg.enable ''
diff --git a/nixpkgs/nixos/modules/services/misc/tandoor-recipes.nix b/nixpkgs/nixos/modules/services/misc/tandoor-recipes.nix
index 6c51a9bb8555..a8300ecd5233 100644
--- a/nixpkgs/nixos/modules/services/misc/tandoor-recipes.nix
+++ b/nixpkgs/nixos/modules/services/misc/tandoor-recipes.nix
@@ -17,14 +17,11 @@ let
     lib.mapAttrs (_: toString) cfg.extraConfig
   );
 
-  manage =
-    let
-      setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
-    in
-    pkgs.writeShellScript "manage" ''
-      ${setupEnv}
-      exec ${pkg}/bin/tandoor-recipes "$@"
-    '';
+  manage = pkgs.writeShellScript "manage" ''
+    set -o allexport # Export the following env vars
+    ${lib.toShellVars env}
+    exec ${pkg}/bin/tandoor-recipes "$@"
+  '';
 in
 {
   meta.maintainers = with maintainers; [ ambroisie ];
diff --git a/nixpkgs/nixos/modules/services/networking/go-camo.nix b/nixpkgs/nixos/modules/services/networking/go-camo.nix
new file mode 100644
index 000000000000..cb3b6eade464
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/go-camo.nix
@@ -0,0 +1,73 @@
+{ lib, pkgs, config, ... }:
+
+let
+  cfg = config.services.go-camo;
+  inherit (lib) mkOption mkEnableOption mkIf mkMerge types optionalString;
+in
+{
+  options.services.go-camo = {
+    enable = mkEnableOption "go-camo service";
+    listen = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = "Address:Port to bind to for HTTP (default: 0.0.0.0:8080).";
+      apply = v: optionalString (v != null) "--listen=${v}";
+    };
+    sslListen = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = "Address:Port to bind to for HTTPS.";
+      apply = v: optionalString (v != null) "--ssl-listen=${v}";
+    };
+    sslKey = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = "Path to TLS private key.";
+      apply = v: optionalString (v != null) "--ssl-key=${v}";
+    };
+    sslCert = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = "Path to TLS certificate.";
+      apply = v: optionalString (v != null) "--ssl-cert=${v}";
+    };
+    keyFile = mkOption {
+      type = types.path;
+      default = null;
+      description = ''
+        A file containing the HMAC key to use for signing URLs.
+        The file can contain any string. Can be generated using "openssl rand -base64 18 > the_file".
+      '';
+    };
+    extraOptions = mkOption {
+      type = with types; listOf str;
+      default = [];
+      description = "Extra options passed to the go-camo command.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.go-camo = {
+      description = "go-camo service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      environment = {
+        GOCAMO_HMAC_FILE = "%d/hmac";
+      };
+      script = ''
+        export GOCAMO_HMAC=$(cat "$GOCAMO_HMAC_FILE")
+        exec ${lib.escapeShellArgs(lib.lists.remove "" ([ "${pkgs.go-camo}/bin/go-camo" cfg.listen cfg.sslListen cfg.sslKey cfg.sslCert ] ++ cfg.extraOptions))}
+      '';
+      serviceConfig = {
+        NoNewPrivileges = true;
+        ProtectSystem = "strict";
+        DynamicUser = true;
+        User = "gocamo";
+        Group = "gocamo";
+        LoadCredential = [
+          "hmac:${cfg.keyFile}"
+        ];
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/hostapd.nix b/nixpkgs/nixos/modules/services/networking/hostapd.nix
index 00482e59acf3..40542155ed63 100644
--- a/nixpkgs/nixos/modules/services/networking/hostapd.nix
+++ b/nixpkgs/nixos/modules/services/networking/hostapd.nix
@@ -909,7 +909,7 @@ in {
                 in {
                   settings = {
                     ssid = bssCfg.ssid;
-                    utf8_ssid = bssCfg.ssid;
+                    utf8_ssid = bssCfg.utf8Ssid;
 
                     logger_syslog = mkDefault (-1);
                     logger_syslog_level = bssCfg.logLevel;
diff --git a/nixpkgs/nixos/modules/services/networking/knot.nix b/nixpkgs/nixos/modules/services/networking/knot.nix
index 94c32586736a..6488a159b3b7 100644
--- a/nixpkgs/nixos/modules/services/networking/knot.nix
+++ b/nixpkgs/nixos/modules/services/networking/knot.nix
@@ -1,8 +1,36 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, utils, ... }:
 
-with lib;
 
 let
+  inherit (lib)
+    attrNames
+    concatMapStrings
+    concatMapStringsSep
+    concatStrings
+    concatStringsSep
+    elem
+    filter
+    flip
+    hasAttr
+    hasPrefix
+    isAttrs
+    isBool
+    isDerivation
+    isList
+    mapAttrsToList
+    mkChangedOptionModule
+    mkEnableOption
+    mkIf
+    mkOption
+    mkPackageOption
+    optionals
+    types
+  ;
+
+  inherit (utils)
+    escapeSystemdExecArgs
+  ;
+
   cfg = config.services.knot;
 
   yamlConfig = let
@@ -113,8 +141,7 @@ let
   mkConfigFile = configString: pkgs.writeTextFile {
     name = "knot.conf";
     text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString;
-    # TODO: maybe we could do some checks even when private keys complicate this?
-    checkPhase = lib.optionalString (cfg.keyFiles == []) ''
+    checkPhase = lib.optionalString cfg.checkConfig ''
       ${cfg.package}/bin/knotc --config=$out conf-check
     '';
   };
@@ -142,12 +169,45 @@ let
 in {
   options = {
     services.knot = {
-      enable = mkEnableOption (lib.mdDoc "Knot authoritative-only DNS server");
+      enable = mkEnableOption "Knot authoritative-only DNS server";
+
+      enableXDP = mkOption {
+        type = types.bool;
+        default = lib.hasAttrByPath [ "xdp" "listen" ] cfg.settings;
+        defaultText = ''
+          Enabled when the `xdp.listen` setting is configured through `settings`.
+        '';
+        example = true;
+        description = ''
+          Extends the systemd unit with permissions to allow for the use of
+          the eXpress Data Path (XDP).
+
+          ::: {.note}
+            Make sure to read up on functional [limitations](https://www.knot-dns.cz/docs/latest/singlehtml/index.html#mode-xdp-limitations)
+            when running in XDP mode.
+          :::
+        '';
+      };
+
+      checkConfig = mkOption {
+        type = types.bool;
+        # TODO: maybe we could do some checks even when private keys complicate this?
+        # conf-check fails hard on missing IPs/devices with XDP
+        default = cfg.keyFiles == [] && !cfg.enableXDP;
+        defaultText = ''
+          Disabled when the config uses `keyFiles` or `enableXDP`.
+        '';
+        example = false;
+        description = ''
+          Toggles the configuration test at build time. It runs in a
+          sandbox, and therefore cannot be used in all scenarios.
+        '';
+      };
 
       extraArgs = mkOption {
         type = types.listOf types.str;
         default = [];
-        description = lib.mdDoc ''
+        description = ''
           List of additional command line parameters for knotd
         '';
       };
@@ -155,7 +215,7 @@ in {
       keyFiles = mkOption {
         type = types.listOf types.path;
         default = [];
-        description = lib.mdDoc ''
+        description = ''
           A list of files containing additional configuration
           to be included using the include directive. This option
           allows to include configuration like TSIG keys without
@@ -168,7 +228,7 @@ in {
       settings = mkOption {
         type = types.attrs;
         default = {};
-        description = lib.mdDoc ''
+        description = ''
           Extra configuration as nix values.
         '';
       };
@@ -176,7 +236,7 @@ in {
       settingsFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc ''
+        description = ''
           As alternative to ``settings``, you can provide whole configuration
           directly in the almost-YAML format of Knot DNS.
           You might want to utilize ``pkgs.writeText "knot.conf" "longConfigString"`` for this.
@@ -210,19 +270,35 @@ in {
       wants = [ "network.target" ];
       after = ["network.target" ];
 
-      serviceConfig = {
+      serviceConfig = let
+        # https://www.knot-dns.cz/docs/3.3/singlehtml/index.html#pre-requisites
+        xdpCapabilities = lib.optionals (cfg.enableXDP) [
+          "CAP_NET_ADMIN"
+          "CAP_NET_RAW"
+          "CAP_SYS_ADMIN"
+          "CAP_IPC_LOCK"
+        ] ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "5.11") [
+          "CAP_SYS_RESOURCE"
+        ];
+      in {
         Type = "notify";
-        ExecStart = "${cfg.package}/bin/knotd --config=${configFile} --socket=${socketFile} ${concatStringsSep " " cfg.extraArgs}";
-        ExecReload = "${knot-cli-wrappers}/bin/knotc reload";
+        ExecStart = escapeSystemdExecArgs ([
+          (lib.getExe cfg.package)
+          "--config=${configFile}"
+          "--socket=${socketFile}"
+        ] ++ cfg.extraArgs);
+        ExecReload = escapeSystemdExecArgs [
+          "${knot-cli-wrappers}/bin/knotc" "reload"
+        ];
         User = "knot";
         Group = "knot";
 
         AmbientCapabilities = [
           "CAP_NET_BIND_SERVICE"
-        ];
+        ] ++ xdpCapabilities;
         CapabilityBoundingSet = [
           "CAP_NET_BIND_SERVICE"
-        ];
+        ] ++ xdpCapabilities;
         DeviceAllow = "";
         DevicePolicy = "closed";
         LockPersonality = true;
@@ -247,6 +323,9 @@ in {
           "AF_INET"
           "AF_INET6"
           "AF_UNIX"
+        ] ++ optionals (cfg.enableXDP) [
+          "AF_NETLINK"
+          "AF_XDP"
         ];
         RestrictNamespaces = true;
         RestrictRealtime =true;
@@ -258,6 +337,8 @@ in {
         SystemCallFilter = [
           "@system-service"
           "~@privileged"
+        ] ++ optionals (cfg.enableXDP) [
+          "bpf"
         ];
         UMask = "0077";
       };
diff --git a/nixpkgs/nixos/modules/services/networking/libreswan.nix b/nixpkgs/nixos/modules/services/networking/libreswan.nix
index db4d2f7f0ba0..a44cac93d5f6 100644
--- a/nixpkgs/nixos/modules/services/networking/libreswan.nix
+++ b/nixpkgs/nixos/modules/services/networking/libreswan.nix
@@ -133,9 +133,6 @@ in
       "ipsec.d/01-nixos.conf".source = configFile;
     } // policyFiles;
 
-    # Create NSS database directory
-    systemd.tmpfiles.rules = [ "d /var/lib/ipsec/nss 755 root root -" ];
-
     systemd.services.ipsec = {
       description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";
       wantedBy = [ "multi-user.target" ];
@@ -153,6 +150,10 @@ in
         echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
         echo 0 | tee /proc/sys/net/ipv{4,6}/conf/*/accept_redirects
       '';
+      serviceConfig = {
+        StateDirectory = "ipsec/nss";
+        StateDirectoryMode = 0700;
+      };
     };
 
   };
diff --git a/nixpkgs/nixos/modules/services/security/opensnitch.nix b/nixpkgs/nixos/modules/services/security/opensnitch.nix
index 97ac3a72804c..42cf8159f3ea 100644
--- a/nixpkgs/nixos/modules/services/security/opensnitch.nix
+++ b/nixpkgs/nixos/modules/services/security/opensnitch.nix
@@ -36,7 +36,8 @@ in {
 
         description = mdDoc ''
           Declarative configuration of firewall rules.
-          All rules will be stored in `/var/lib/opensnitch/rules`.
+          All rules will be stored in `/var/lib/opensnitch/rules` by default.
+          Rules path can be configured with `settings.Rules.Path`.
           See [upstream documentation](https://github.com/evilsocket/opensnitch/wiki/Rules)
           for available options.
         '';
@@ -79,15 +80,6 @@ in {
               '';
             };
 
-            DefaultDuration = mkOption {
-              type = types.enum [
-                "once" "always" "until restart" "30s" "5m" "15m" "30m" "1h"
-              ];
-              description = mdDoc ''
-                Default duration of firewall rule.
-              '';
-            };
-
             InterceptUnknown = mkOption {
               type = types.bool;
               description = mdDoc ''
@@ -134,6 +126,30 @@ in {
               };
 
             };
+
+            Ebpf.ModulesPath = mkOption {
+              type = types.path;
+              default = if cfg.settings.ProcMonitorMethod == "ebpf" then "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd" else null;
+              defaultText = literalExpression ''
+                if cfg.settings.ProcMonitorMethod == "ebpf" then
+                  "\\$\\{config.boot.kernelPackages.opensnitch-ebpf\\}/etc/opensnitchd"
+                else null;
+              '';
+              description = mdDoc ''
+                Configure eBPF modules path. Used when
+                `settings.ProcMonitorMethod` is set to `ebpf`.
+              '';
+            };
+
+            Rules.Path = mkOption {
+              type = types.path;
+              default = "/var/lib/opensnitch/rules";
+              description = mdDoc ''
+                Path to the directory where firewall rules can be found and will
+                get stored by the NixOS module.
+              '';
+            };
+
           };
         };
         description = mdDoc ''
@@ -151,40 +167,42 @@ in {
 
     systemd = {
       packages = [ pkgs.opensnitch ];
-      services.opensnitchd.wantedBy = [ "multi-user.target" ];
+      services.opensnitchd = {
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          ExecStart = [
+            ""
+            "${pkgs.opensnitch}/bin/opensnitchd --config-file ${format.generate "default-config.json" cfg.settings}"
+          ];
+        };
+        preStart = mkIf (cfg.rules != {}) (let
+          rules = flip mapAttrsToList predefinedRules (file: content: {
+          inherit (content) file;
+          local = "${cfg.settings.Rules.Path}/${file}.json";
+        });
+        in ''
+          # Remove all firewall rules from rules path (configured with
+          # cfg.settings.Rules.Path) that are symlinks to a store-path, but aren't
+          # declared in `cfg.rules` (i.e. all networks that were "removed" from
+          # `cfg.rules`).
+          find ${cfg.settings.Rules.Path} -type l -lname '${builtins.storeDir}/*' ${optionalString (rules != {}) ''
+            -not \( ${concatMapStringsSep " -o " ({ local, ... }:
+              "-name '${baseNameOf local}*'")
+            rules} \) \
+          ''} -delete
+          ${concatMapStrings ({ file, local }: ''
+            ln -sf '${file}' "${local}"
+          '') rules}
+        '');
+      };
+      tmpfiles.rules = [
+        "d ${cfg.settings.Rules.Path} 0750 root root - -"
+        "L+ /etc/opensnitchd/system-fw.json - - - - ${pkgs.opensnitch}/etc/opensnitchd/system-fw.json"
+      ];
     };
 
-    systemd.services.opensnitchd.preStart = mkIf (cfg.rules != {}) (let
-      rules = flip mapAttrsToList predefinedRules (file: content: {
-        inherit (content) file;
-        local = "/var/lib/opensnitch/rules/${file}.json";
-      });
-    in ''
-      # Remove all firewall rules from `/var/lib/opensnitch/rules` that are symlinks to a store-path,
-      # but aren't declared in `cfg.rules` (i.e. all networks that were "removed" from
-      # `cfg.rules`).
-      find /var/lib/opensnitch/rules -type l -lname '${builtins.storeDir}/*' ${optionalString (rules != {}) ''
-        -not \( ${concatMapStringsSep " -o " ({ local, ... }:
-          "-name '${baseNameOf local}*'")
-        rules} \) \
-      ''} -delete
-      ${concatMapStrings ({ file, local }: ''
-        ln -sf '${file}' "${local}"
-      '') rules}
-
-      if [ ! -f /etc/opensnitchd/system-fw.json ]; then
-        cp "${pkgs.opensnitch}/etc/opensnitchd/system-fw.json" "/etc/opensnitchd/system-fw.json"
-      fi
-    '');
-
-    environment.etc = mkMerge [ ({
-      "opensnitchd/default-config.json".source = format.generate "default-config.json" cfg.settings;
-    }) (mkIf (cfg.settings.ProcMonitorMethod == "ebpf") {
-      "opensnitchd/opensnitch.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch.o";
-      "opensnitchd/opensnitch-dns.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch-dns.o";
-      "opensnitchd/opensnitch-procs.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch-procs.o";
-    })];
-
   };
+
+  meta.maintainers = with lib.maintainers; [ onny ];
 }
 
diff --git a/nixpkgs/nixos/modules/services/system/automatic-timezoned.nix b/nixpkgs/nixos/modules/services/system/automatic-timezoned.nix
index 8934ed3a7ef2..7d3cd004a7ba 100644
--- a/nixpkgs/nixos/modules/services/system/automatic-timezoned.nix
+++ b/nixpkgs/nixos/modules/services/system/automatic-timezoned.nix
@@ -50,7 +50,7 @@ in
         serviceConfig = {
           Type = "exec";
           User = "automatic-timezoned";
-          ExecStart = "${cfg.package}/bin/automatic-timezoned --zoneinfo-path=${pkgs.tzdata}/share/zoneinfo/zone1970.tab";
+          ExecStart = "${cfg.package}/bin/automatic-timezoned";
         };
         wantedBy = [ "default.target" ];
       };
diff --git a/nixpkgs/nixos/modules/services/torrent/transmission.nix b/nixpkgs/nixos/modules/services/torrent/transmission.nix
index 5dd02eb33163..a9fb123b981e 100644
--- a/nixpkgs/nixos/modules/services/torrent/transmission.nix
+++ b/nixpkgs/nixos/modules/services/torrent/transmission.nix
@@ -74,7 +74,7 @@ in
             description = lib.mdDoc "";
           };
           options.message-level = mkOption {
-            type = types.ints.between 0 3;
+            type = types.ints.between 0 6;
             default = 2;
             description = lib.mdDoc "Set verbosity of transmission messages.";
           };
diff --git a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix b/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
index 8d09d1b97828..7fc710c6fcec 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
@@ -4,7 +4,8 @@ let
   cfg = config.services.mastodon;
   opt = options.services.mastodon;
 
-  # We only want to create a database if we're actually going to connect to it.
+  # We only want to create a Redis and PostgreSQL databases if we're actually going to connect to it local.
+  redisActuallyCreateLocally = cfg.redis.createLocally && (cfg.redis.host == "127.0.0.1" || cfg.redis.enableUnixSocket);
   databaseActuallyCreateLocally = cfg.database.createLocally && cfg.database.host == "/run/postgresql";
 
   env = {
@@ -33,6 +34,7 @@ let
 
     TRUSTED_PROXY_IP = cfg.trustedProxy;
   }
+  // lib.optionalAttrs (cfg.redis.createLocally && cfg.redis.enableUnixSocket) { REDIS_URL = "unix://${config.services.redis.servers.mastodon.unixSocket}"; }
   // lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; }
   // lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN  = cfg.smtp.user; }
   // lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
@@ -116,9 +118,11 @@ let
       threads = toString (if processCfg.threads == null then cfg.sidekiqThreads else processCfg.threads);
     in {
       after = [ "network.target" "mastodon-init-dirs.service" ]
+        ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
         ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
         ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
       requires = [ "mastodon-init-dirs.service" ]
+        ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
         ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
         ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
       description = "Mastodon sidekiq${jobClassLabel}";
@@ -146,9 +150,11 @@ let
         name = "mastodon-streaming-${toString i}";
         value = {
           after = [ "network.target" "mastodon-init-dirs.service" ]
+            ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
             ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
             ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
           requires = [ "mastodon-init-dirs.service" ]
+            ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
             ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
             ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
           wantedBy = [ "mastodon.target" "mastodon-streaming.target" ];
@@ -404,6 +410,19 @@ in {
           type = lib.types.port;
           default = 31637;
         };
+
+        passwordFile = lib.mkOption {
+          description = lib.mdDoc "A file containing the password for Redis database.";
+          type = lib.types.nullOr lib.types.path;
+          default = null;
+          example = "/run/keys/mastodon-redis-password";
+        };
+
+        enableUnixSocket = lib.mkOption {
+          description = lib.mdDoc "Use Unix socket";
+          type = lib.types.bool;
+          default = true;
+        };
       };
 
       database = {
@@ -613,6 +632,13 @@ in {
   config = lib.mkIf cfg.enable (lib.mkMerge [{
     assertions = [
       {
+        assertion = redisActuallyCreateLocally -> (!cfg.redis.enableUnixSocket || cfg.redis.passwordFile == null);
+        message = ''
+          <option>services.mastodon.redis.enableUnixSocket</option> needs to be disabled if
+            <option>services.mastodon.redis.passwordFile</option> is used.
+        '';
+      }
+      {
         assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user && cfg.database.user == cfg.database.name);
         message = ''
           For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer
@@ -689,6 +715,8 @@ in {
         OTP_SECRET="$(cat ${cfg.otpSecretFile})"
         VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
         VAPID_PUBLIC_KEY="$(cat ${cfg.vapidPublicKeyFile})"
+      '' + lib.optionalString (cfg.redis.passwordFile != null)''
+        REDIS_PASSWORD="$(cat ${cfg.redis.passwordFile})"
       '' + lib.optionalString (cfg.database.passwordFile != null) ''
         DB_PASS="$(cat ${cfg.database.passwordFile})"
       '' + lib.optionalString cfg.smtp.authenticate ''
@@ -751,9 +779,11 @@ in {
 
     systemd.services.mastodon-web = {
       after = [ "network.target" "mastodon-init-dirs.service" ]
+        ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
         ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
         ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
       requires = [ "mastodon-init-dirs.service" ]
+        ++ lib.optional redisActuallyCreateLocally "redis-mastodon.service"
         ++ lib.optional databaseActuallyCreateLocally "postgresql.service"
         ++ lib.optional cfg.automaticMigrations "mastodon-init-db.service";
       wantedBy = [ "mastodon.target" ];
@@ -834,11 +864,14 @@ in {
       enable = true;
       hostname = lib.mkDefault "${cfg.localDomain}";
     };
-    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.redis.servers.mastodon = lib.mkIf redisActuallyCreateLocally (lib.mkMerge [
+      {
+        enable = true;
+      }
+      (lib.mkIf (!cfg.redis.enableUnixSocket) {
+        port = cfg.redis.port;
+      })
+    ]);
     services.postgresql = lib.mkIf databaseActuallyCreateLocally {
       enable = true;
       ensureUsers = [
@@ -859,6 +892,7 @@ in {
         };
       })
       (lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package pkgs.imagemagick ])
+      (lib.mkIf (cfg.redis.createLocally && cfg.redis.enableUnixSocket) {${config.services.mastodon.user}.extraGroups = [ "redis-mastodon" ];})
     ];
 
     users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user;
diff --git a/nixpkgs/nixos/modules/services/web-apps/photoprism.nix b/nixpkgs/nixos/modules/services/web-apps/photoprism.nix
index d3773cc9cf78..ccf995fccf3e 100644
--- a/nixpkgs/nixos/modules/services/web-apps/photoprism.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/photoprism.nix
@@ -12,17 +12,14 @@ let
     lib.mapAttrs (_: toString) cfg.settings
   );
 
-  manage =
-    let
-      setupEnv = lib.concatStringsSep "\n" (lib.mapAttrsToList (name: val: "export ${name}=${lib.escapeShellArg val}") env);
-    in
-    pkgs.writeShellScript "manage" ''
-      ${setupEnv}
-      eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
-      exec ${pkgs.util-linux}/bin/nsenter \
-        -t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
-        ${cfg.package}/bin/photoprism "$@"
-    '';
+  manage = pkgs.writeShellScript "manage" ''
+    set -o allexport # Export the following env vars
+    ${lib.toShellVars env}
+    eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
+    exec ${pkgs.util-linux}/bin/nsenter \
+      -t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
+      ${cfg.package}/bin/photoprism "$@"
+  '';
 in
 {
   meta.maintainers = with lib.maintainers; [ stunkymonkey ];
diff --git a/nixpkgs/nixos/modules/services/web-servers/garage.nix b/nixpkgs/nixos/modules/services/web-servers/garage.nix
index 47b4c6ab416e..48dd5b34757c 100644
--- a/nixpkgs/nixos/modules/services/web-servers/garage.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/garage.nix
@@ -30,7 +30,7 @@ in
     };
 
     logLevel = mkOption {
-      type = types.enum ([ "info" "debug" "trace" ]);
+      type = types.enum ([ "error" "warn" "info" "debug" "trace" ]);
       default = "info";
       example = "debug";
       description = lib.mdDoc "Garage log level, see <https://garagehq.deuxfleurs.fr/documentation/quick-start/#launching-the-garage-server> for examples.";
diff --git a/nixpkgs/nixos/modules/services/web-servers/ttyd.nix b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
index e545869ca432..14361df2bb66 100644
--- a/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/ttyd.nix
@@ -1,11 +1,17 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
 
   cfg = config.services.ttyd;
 
+  inherit (lib)
+    optionals
+    types
+    concatLists
+    mapAttrsToList
+    mkOption
+    ;
+
   # Command line arguments for the ttyd daemon
   args = [ "--port" (toString cfg.port) ]
          ++ optionals (cfg.socket != null) [ "--interface" cfg.socket ]
@@ -14,6 +20,7 @@ let
          ++ (concatLists (mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
          ++ [ "--terminal-type" cfg.terminalType ]
          ++ optionals cfg.checkOrigin [ "--check-origin" ]
+         ++ optionals cfg.writeable [ "--writable" ] # the typo is correct
          ++ [ "--max-clients" (toString cfg.maxClients) ]
          ++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ]
          ++ optionals cfg.enableIPv6 [ "--ipv6" ]
@@ -30,40 +37,40 @@ in
 
   options = {
     services.ttyd = {
-      enable = mkEnableOption (lib.mdDoc "ttyd daemon");
+      enable = lib.mkEnableOption ("ttyd daemon");
 
       port = mkOption {
         type = types.port;
         default = 7681;
-        description = lib.mdDoc "Port to listen on (use 0 for random port)";
+        description = "Port to listen on (use 0 for random port)";
       };
 
       socket = mkOption {
         type = types.nullOr types.path;
         default = null;
         example = "/var/run/ttyd.sock";
-        description = lib.mdDoc "UNIX domain socket path to bind.";
+        description = "UNIX domain socket path to bind.";
       };
 
       interface = mkOption {
         type = types.nullOr types.str;
         default = null;
         example = "eth0";
-        description = lib.mdDoc "Network interface to bind.";
+        description = "Network interface to bind.";
       };
 
       username = mkOption {
         type = types.nullOr types.str;
         default = null;
-        description = lib.mdDoc "Username for basic authentication.";
+        description = "Username for basic http authentication.";
       };
 
       passwordFile = mkOption {
         type = types.nullOr types.path;
         default = null;
         apply = value: if value == null then null else toString value;
-        description = lib.mdDoc ''
-          File containing the password to use for basic authentication.
+        description = ''
+          File containing the password to use for basic http authentication.
           For insecurely putting the password in the globally readable store use
           `pkgs.writeText "ttydpw" "MyPassword"`.
         '';
@@ -72,19 +79,46 @@ in
       signal = mkOption {
         type = types.ints.u8;
         default = 1;
-        description = lib.mdDoc "Signal to send to the command on session close.";
+        description = "Signal to send to the command on session close.";
+      };
+
+      entrypoint = mkOption {
+        type = types.listOf types.str;
+        default = [ "${pkgs.shadow}/bin/login" ];
+        defaultText = lib.literalExpression ''
+          [ "''${pkgs.shadow}/bin/login" ]
+        '';
+        example = lib.literalExpression ''
+          [ (lib.getExe pkgs.htop) ]
+        '';
+        description = "Which command ttyd runs.";
+        apply = lib.escapeShellArgs;
+      };
+
+      user = mkOption {
+        type = types.str;
+        # `login` needs to be run as root
+        default = "root";
+        description = "Which unix user ttyd should run as.";
+      };
+
+      writeable = mkOption {
+        type = types.nullOr types.bool;
+        default = null; # null causes an eval error, forcing the user to consider attack surface
+        example = true;
+        description = "Allow clients to write to the TTY.";
       };
 
       clientOptions = mkOption {
         type = types.attrsOf types.str;
         default = {};
-        example = literalExpression ''
+        example = lib.literalExpression ''
           {
             fontSize = "16";
             fontFamily = "Fira Code";
           }
         '';
-        description = lib.mdDoc ''
+        description = ''
           Attribute set of client options for xtermjs.
           <https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/>
         '';
@@ -93,50 +127,50 @@ in
       terminalType = mkOption {
         type = types.str;
         default = "xterm-256color";
-        description = lib.mdDoc "Terminal type to report.";
+        description = "Terminal type to report.";
       };
 
       checkOrigin = mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc "Whether to allow a websocket connection from a different origin.";
+        description = "Whether to allow a websocket connection from a different origin.";
       };
 
       maxClients = mkOption {
         type = types.int;
         default = 0;
-        description = lib.mdDoc "Maximum clients to support (0, no limit)";
+        description = "Maximum clients to support (0, no limit)";
       };
 
       indexFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc "Custom index.html path";
+        description = "Custom index.html path";
       };
 
       enableIPv6 = mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc "Whether or not to enable IPv6 support.";
+        description = "Whether or not to enable IPv6 support.";
       };
 
       enableSSL = mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc "Whether or not to enable SSL (https) support.";
+        description = "Whether or not to enable SSL (https) support.";
       };
 
       certFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc "SSL certificate file path.";
+        description = "SSL certificate file path.";
       };
 
       keyFile = mkOption {
         type = types.nullOr types.path;
         default = null;
         apply = value: if value == null then null else toString value;
-        description = lib.mdDoc ''
+        description = ''
           SSL key file path.
           For insecurely putting the keyFile in the globally readable store use
           `pkgs.writeText "ttydKeyFile" "SSLKEY"`.
@@ -146,25 +180,27 @@ in
       caFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc "SSL CA file path for client certificate verification.";
+        description = "SSL CA file path for client certificate verification.";
       };
 
       logLevel = mkOption {
         type = types.int;
         default = 7;
-        description = lib.mdDoc "Set log level.";
+        description = "Set log level.";
       };
     };
   };
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = lib.mkIf cfg.enable {
 
     assertions =
       [ { assertion = cfg.enableSSL
             -> cfg.certFile != null && cfg.keyFile != null && cfg.caFile != null;
           message = "SSL is enabled for ttyd, but no certFile, keyFile or caFile has been specified."; }
+        { assertion = cfg.writeable != null;
+          message = "services.ttyd.writeable must be set"; }
         { assertion = ! (cfg.interface != null && cfg.socket != null);
           message = "Cannot set both interface and socket for ttyd."; }
         { assertion = (cfg.username != null) == (cfg.passwordFile != null);
@@ -177,21 +213,19 @@ in
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
-        # Runs login which needs to be run as root
-        # login: Cannot possibly work without effective root
-        User = "root";
+        User = cfg.user;
         LoadCredential = lib.optionalString (cfg.passwordFile != null) "TTYD_PASSWORD_FILE:${cfg.passwordFile}";
       };
 
       script = if cfg.passwordFile != null then ''
         PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/TTYD_PASSWORD_FILE")
         ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
-          --credential ${escapeShellArg cfg.username}:"$PASSWORD" \
-          ${pkgs.shadow}/bin/login
+          --credential ${lib.escapeShellArg cfg.username}:"$PASSWORD" \
+          ${cfg.entrypoint}
       ''
       else ''
         ${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
-          ${pkgs.shadow}/bin/login
+          ${cfg.entrypoint}
       '';
     };
   };
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/budgie.nix
index 463c45675cee..fe39097a22e8 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/budgie.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/budgie.nix
@@ -39,6 +39,10 @@ let
     '';
     destination = "/share/gnome-background-properties/nixos.xml";
   };
+
+  budgie-control-center = pkgs.budgie.budgie-control-center.override {
+    enableSshSocket = config.services.openssh.startWhenNeeded;
+  };
 in {
   options = {
     services.xserver.desktopManager.budgie = {
@@ -114,7 +118,7 @@ in {
       [
         # Budgie Desktop.
         budgie.budgie-backgrounds
-        budgie.budgie-control-center
+        budgie-control-center
         (budgie.budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
         budgie.budgie-desktop-view
         budgie.budgie-screensaver
@@ -233,8 +237,8 @@ in {
     services.gvfs.enable = mkDefault true;
 
     # Register packages for DBus.
-    services.dbus.packages = with pkgs; [
-      budgie.budgie-control-center
+    services.dbus.packages = [
+      budgie-control-center
     ];
 
     # Register packages for udev.
diff --git a/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix b/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
index 48741aa41d85..e3cb5cc3be2b 100644
--- a/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
+++ b/nixpkgs/nixos/modules/services/x11/window-managers/icewm.nix
@@ -17,7 +17,7 @@ in
       { name = "icewm";
         start =
           ''
-            ${pkgs.icewm}/bin/icewm &
+            ${pkgs.icewm}/bin/icewm-session &
             waitPID=$!
           '';
       };
diff --git a/nixpkgs/nixos/modules/system/boot/kernel.nix b/nixpkgs/nixos/modules/system/boot/kernel.nix
index a46331ccd431..b0ac857feb4b 100644
--- a/nixpkgs/nixos/modules/system/boot/kernel.nix
+++ b/nixpkgs/nixos/modules/system/boot/kernel.nix
@@ -81,6 +81,13 @@ in
             extraStructuredConfig.FOO = lib.kernel.yes;
             features.foo = true;
           }
+          {
+            name = "foo-ml-mbox";
+            patch = (fetchurl {
+              url = "https://lore.kernel.org/lkml/19700205182810.58382-1-email@domain/t.mbox.gz";
+              hash = "sha256-...";
+            });
+          }
         ]
       '';
       description = lib.mdDoc ''
diff --git a/nixpkgs/nixos/modules/system/boot/stage-1.nix b/nixpkgs/nixos/modules/system/boot/stage-1.nix
index e990aeea7a14..8f3f3612805f 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1.nix
+++ b/nixpkgs/nixos/modules/system/boot/stage-1.nix
@@ -621,6 +621,11 @@ in
             path the secret should have inside the initrd, the value
             is the path it should be copied from (or null for the same
             path inside and out).
+
+            Note that `nixos-rebuild switch` will generate the initrd
+            also for past generations, so if secrets are moved or deleted
+            you will also have to garbage collect the generations that
+            use those secrets.
           '';
         example = literalExpression
           ''
diff --git a/nixpkgs/nixos/modules/system/boot/systemd/oomd.nix b/nixpkgs/nixos/modules/system/boot/systemd/oomd.nix
index 000b18c01609..edc25784367a 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd/oomd.nix
+++ b/nixpkgs/nixos/modules/system/boot/systemd/oomd.nix
@@ -49,15 +49,15 @@ in {
 
     systemd.slices."-".sliceConfig = lib.mkIf cfg.enableRootSlice {
       ManagedOOMMemoryPressure = "kill";
-      ManagedOOMMemoryPressureLimit = "80%";
+      ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
     };
     systemd.slices."system".sliceConfig = lib.mkIf cfg.enableSystemSlice {
       ManagedOOMMemoryPressure = "kill";
-      ManagedOOMMemoryPressureLimit = "80%";
+      ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
     };
     systemd.slices."user-".sliceConfig = lib.mkIf cfg.enableUserSlices {
       ManagedOOMMemoryPressure = "kill";
-      ManagedOOMMemoryPressureLimit = "80%";
+      ManagedOOMMemoryPressureLimit = lib.mkDefault "80%";
     };
     systemd.user.units."slice" = lib.mkIf cfg.enableUserSlices {
       text = ''
diff --git a/nixpkgs/nixos/modules/system/etc/build-composefs-dump.py b/nixpkgs/nixos/modules/system/etc/build-composefs-dump.py
index bf4ec791ecf7..bba454dd888d 100644
--- a/nixpkgs/nixos/modules/system/etc/build-composefs-dump.py
+++ b/nixpkgs/nixos/modules/system/etc/build-composefs-dump.py
@@ -199,7 +199,8 @@ def main() -> None:
                         size=os.stat(source).st_size,
                         filetype=FileType.file,
                         mode=mode,
-                        payload=target,
+                        # payload needs to be relative path in this case
+                        payload=target.lstrip("/"),
                     )
             paths[target] = composefs_path
             add_leading_directories(target, attrs, paths)
diff --git a/nixpkgs/nixos/modules/virtualisation/docker.nix b/nixpkgs/nixos/modules/virtualisation/docker.nix
index b0d61ee06091..d4d34d13a94d 100644
--- a/nixpkgs/nixos/modules/virtualisation/docker.nix
+++ b/nixpkgs/nixos/modules/virtualisation/docker.nix
@@ -93,8 +93,18 @@ in
         default = null;
         description =
           lib.mdDoc ''
-            This option determines which Docker storage driver to use. By default
-            it let's docker automatically choose preferred storage driver.
+            This option determines which Docker
+            [storage driver](https://docs.docker.com/storage/storagedriver/select-storage-driver/)
+            to use.
+            By default it lets docker automatically choose the preferred storage
+            driver.
+            However, it is recommended to specify a storage driver explicitly, as
+            docker's default varies over versions.
+
+            ::: {.warning}
+            Changing the storage driver will cause any existing containers
+            and images to become inaccessible.
+            :::
           '';
       };
 
diff --git a/nixpkgs/nixos/modules/virtualisation/incus.nix b/nixpkgs/nixos/modules/virtualisation/incus.nix
index bbe5b48b95bb..3bbe0ba45851 100644
--- a/nixpkgs/nixos/modules/virtualisation/incus.nix
+++ b/nixpkgs/nixos/modules/virtualisation/incus.nix
@@ -97,6 +97,12 @@ in
           considered failed and systemd will attempt to restart it.
         '';
       };
+
+      ui = {
+        enable = lib.mkEnableOption (lib.mdDoc "(experimental) Incus UI");
+
+        package = lib.mkPackageOption pkgs [ "incus" "ui" ] { };
+      };
     };
   };
 
@@ -165,10 +171,12 @@ in
         "${config.boot.zfs.package}/lib/udev"
       ];
 
-      environment = {
+      environment = lib.mkMerge [ {
         # Override Path to the LXC template configuration directory
         INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
-      };
+      } (lib.mkIf (cfg.ui.enable) {
+        "INCUS_UI" = cfg.ui.package;
+      }) ];
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/incusd --group incus-admin";
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index 31af6ec64214..8193c3dfe840 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -799,7 +799,7 @@ in {
   solanum = handleTest ./solanum.nix {};
   sonarr = handleTest ./sonarr.nix {};
   sonic-server = handleTest ./sonic-server.nix {};
-  sourcehut = handleTest ./sourcehut.nix {};
+  sourcehut = handleTest ./sourcehut {};
   spacecookie = handleTest ./spacecookie.nix {};
   spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {};
   sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {};
diff --git a/nixpkgs/nixos/tests/docker-tools.nix b/nixpkgs/nixos/tests/docker-tools.nix
index 90af817e75ed..f252eb9ff61e 100644
--- a/nixpkgs/nixos/tests/docker-tools.nix
+++ b/nixpkgs/nixos/tests/docker-tools.nix
@@ -46,6 +46,18 @@ let
         echo 'runAsRoot has run.'
       '';
     };
+
+  chownTestImage =
+    pkgs.dockerTools.streamLayeredImage {
+      name = "chown-test";
+      tag = "latest";
+      enableFakechroot = true;
+      fakeRootCommands = ''
+        touch /testfile
+        chown 12345:12345 /testfile
+      '';
+      config.Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "/testfile" ];
+    };
 in {
   name = "docker-tools";
   meta = with pkgs.lib.maintainers; {
@@ -71,14 +83,29 @@ in {
             docker.succeed("${examples.helloOnRoot} | docker load")
             docker.succeed("docker run --rm hello | grep -i hello")
             docker.succeed("docker image rm hello:latest")
+
         with subtest("includeStorePath = false; breaks example"):
             docker.succeed("${examples.helloOnRootNoStore} | docker load")
             docker.fail("docker run --rm hello | grep -i hello")
             docker.succeed("docker image rm hello:latest")
+        with subtest("includeStorePath = false; breaks example (fakechroot)"):
+            docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load")
+            docker.fail("docker run --rm hello | grep -i hello")
+            docker.succeed("docker image rm hello:latest")
+
+        with subtest("Ensure ZERO paths are added to the store"):
+            docker.fail("${examples.helloOnRootNoStore} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'")
+        with subtest("Ensure ZERO paths are added to the store (fakechroot)"):
+            docker.fail("${examples.helloOnRootNoStoreFakechroot} | ${pkgs.crane}/bin/crane export - - | tar t | grep 'nix/store/'")
+
         with subtest("includeStorePath = false; works with mounted store"):
             docker.succeed("${examples.helloOnRootNoStore} | docker load")
             docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello")
             docker.succeed("docker image rm hello:latest")
+        with subtest("includeStorePath = false; works with mounted store (fakechroot)"):
+            docker.succeed("${examples.helloOnRootNoStoreFakechroot} | docker load")
+            docker.succeed("docker run --rm --volume ${builtins.storeDir}:${builtins.storeDir}:ro hello | grep -i hello")
+            docker.succeed("docker image rm hello:latest")
 
     with subtest("Ensure Docker images use a stable date by default"):
         docker.succeed(
@@ -128,6 +155,15 @@ in {
         docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.nixLayered.imageTag}'")
         docker.succeed("docker rmi ${examples.nixLayered.imageName}")
 
+    with subtest("Check that images with alternative compression schemas load"):
+        docker.succeed(
+            "docker load --input='${examples.bashZstdCompressed}'",
+            "docker rmi ${examples.bashZstdCompressed.imageName}",
+        )
+        docker.succeed(
+            "docker load --input='${examples.bashUncompressed}'",
+            "docker rmi ${examples.bashUncompressed.imageName}",
+        )
 
     with subtest(
         "Check if the nix store is correctly initialized by listing "
@@ -449,6 +485,18 @@ in {
             "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} /hello/bin/layeredImageWithFakeRootCommands-hello"
         )
 
+    with subtest("mergeImage correctly deals with varying compression schemas in inputs"):
+        docker.succeed("docker load --input='${examples.mergeVaryingCompressor}'")
+
+        for sub_image, tag in [
+            ("${examples.redis.imageName}", "${examples.redis.imageTag}"),
+            ("${examples.bashUncompressed.imageName}", "${examples.bashUncompressed.imageTag}"),
+            ("${examples.bashZstdCompressed.imageName}", "${examples.bashZstdCompressed.imageTag}"),
+        ]:
+            docker.succeed(f"docker images --format '{{{{.Repository}}}}-{{{{.Tag}}}}' | grep -F '{sub_image}-{tag}'")
+            docker.succeed(f"docker rmi {sub_image}")
+
+
     with subtest("exportImage produces a valid tarball"):
         docker.succeed(
             "tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null"
@@ -550,5 +598,11 @@ in {
             "${examples.nix-shell-build-derivation} | docker load",
             "docker run --rm -it nix-shell-build-derivation"
         )
+
+    with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"):
+        docker.succeed(
+            "${chownTestImage} | docker load",
+            "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)"
+        )
   '';
 })
diff --git a/nixpkgs/nixos/tests/go-camo.nix b/nixpkgs/nixos/tests/go-camo.nix
new file mode 100644
index 000000000000..513964c31c43
--- /dev/null
+++ b/nixpkgs/nixos/tests/go-camo.nix
@@ -0,0 +1,30 @@
+{ system ? builtins.currentSystem, config ? { }
+, pkgs ? import ../.. { inherit system config; } }:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+
+{
+  gocamo_file_key = let
+      key_val = "12345678";
+    in
+    makeTest {
+    name = "go-camo-file-key";
+    meta = {
+      maintainers = [ pkgs.lib.maintainers.viraptor ];
+    };
+
+    nodes.machine = { config, pkgs, ... }: {
+      services.go-camo = {
+        enable = true;
+        keyFile = pkgs.writeText "foo" key_val;
+      };
+    };
+
+    # go-camo responds to http requests
+    testScript = ''
+      machine.wait_for_unit("go-camo.service")
+      machine.wait_for_open_port(8080)
+      machine.succeed("curl http://localhost:8080")
+    '';
+  };
+}
diff --git a/nixpkgs/nixos/tests/incus/default.nix b/nixpkgs/nixos/tests/incus/default.nix
index 26e8a4ac4c77..c8e53774599b 100644
--- a/nixpkgs/nixos/tests/incus/default.nix
+++ b/nixpkgs/nixos/tests/incus/default.nix
@@ -9,5 +9,6 @@
   lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
   preseed = import ./preseed.nix { inherit system pkgs; };
   socket-activated = import ./socket-activated.nix { inherit system pkgs; };
+  ui = import ./ui.nix {inherit system pkgs;};
   virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix { inherit system pkgs; };
 }
diff --git a/nixpkgs/nixos/tests/incus/ui.nix b/nixpkgs/nixos/tests/incus/ui.nix
new file mode 100644
index 000000000000..24ce1217d8df
--- /dev/null
+++ b/nixpkgs/nixos/tests/incus/ui.nix
@@ -0,0 +1,63 @@
+import ../make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "incus-ui";
+
+  meta = {
+    maintainers = lib.teams.lxc.members;
+  };
+
+  nodes.machine = { lib, ... }: {
+    virtualisation = {
+      incus.enable = true;
+      incus.ui.enable = true;
+    };
+
+    environment.systemPackages =
+      let
+        seleniumScript = pkgs.writers.writePython3Bin "selenium-script"
+          {
+            libraries = with pkgs.python3Packages; [ selenium ];
+          } ''
+          from selenium import webdriver
+          from selenium.webdriver.common.by import By
+          from selenium.webdriver.firefox.options import Options
+          from selenium.webdriver.support.ui import WebDriverWait
+
+          options = Options()
+          options.add_argument("--headless")
+          service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}")  # noqa: E501
+
+          driver = webdriver.Firefox(options=options, service=service)
+          driver.implicitly_wait(10)
+          driver.get("https://localhost:8443/ui")
+
+          wait = WebDriverWait(driver, 60)
+
+          assert len(driver.find_elements(By.CLASS_NAME, "l-application")) > 0
+          assert len(driver.find_elements(By.CLASS_NAME, "l-navigation__drawer")) > 0
+
+          driver.close()
+        '';
+      in
+      with pkgs; [ curl firefox-unwrapped geckodriver seleniumScript ];
+  };
+
+
+  testScript = ''
+    machine.wait_for_unit("sockets.target")
+    machine.wait_for_unit("incus.service")
+    machine.wait_for_file("/var/lib/incus/unix.socket")
+
+    # Configure incus listen address
+    machine.succeed("incus config set core.https_address :8443")
+    machine.succeed("systemctl restart incus")
+
+    # Check that the INCUS_UI environment variable is populated in the systemd unit
+    machine.succeed("cat /etc/systemd/system/incus.service | grep 'INCUS_UI'")
+
+    # Ensure the endpoint returns an HTML page with 'Incus UI' in the title
+    machine.succeed("curl -kLs https://localhost:8443/ui | grep '<title>Incus UI</title>'")
+
+    # Ensure the application is actually rendered by the Javascript
+    machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/keepalived.nix b/nixpkgs/nixos/tests/keepalived.nix
index ce291514591f..16564511d85d 100644
--- a/nixpkgs/nixos/tests/keepalived.nix
+++ b/nixpkgs/nixos/tests/keepalived.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "keepalived";
-  maintainers = [ lib.maintainers.raitobezarius ];
+  meta.maintainers = [ lib.maintainers.raitobezarius ];
 
   nodes = {
     node1 = { pkgs, ... }: {
diff --git a/nixpkgs/nixos/tests/knot.nix b/nixpkgs/nixos/tests/knot.nix
index 44efd93b6fa9..c5af8bf1edcc 100644
--- a/nixpkgs/nixos/tests/knot.nix
+++ b/nixpkgs/nixos/tests/knot.nix
@@ -114,11 +114,14 @@ in {
       services.knot.extraArgs = [ "-v" ];
       services.knot.settings = {
         server = {
+          automatic-acl = true;
+        };
+
+        xdp = {
           listen = [
-            "0.0.0.0@53"
-            "::@53"
+            "eth1"
           ];
-          automatic-acl = true;
+          tcp = true;
         };
 
         remote.primary = {
@@ -140,7 +143,7 @@ in {
           "sub.example.com".file = "sub.example.com.zone";
         };
 
-        log.syslog.any = "info";
+        log.syslog.any = "debug";
       };
     };
     client = { lib, nodes, ... }: {
diff --git a/nixpkgs/nixos/tests/lemmy.nix b/nixpkgs/nixos/tests/lemmy.nix
index e8d747f89a9e..d93df3646837 100644
--- a/nixpkgs/nixos/tests/lemmy.nix
+++ b/nixpkgs/nixos/tests/lemmy.nix
@@ -51,7 +51,8 @@ in
 
     with subtest("the backend starts and responds"):
         server.wait_for_open_port(${toString backendPort})
-        server.succeed("curl --fail localhost:${toString backendPort}/api/v3/site")
+        # wait until succeeds, it just needs few seconds for migrations, but lets give it 10s max
+        server.wait_until_succeeds("curl --fail localhost:${toString backendPort}/api/v3/site", 10)
 
     with subtest("the UI starts and responds"):
         server.wait_for_unit("lemmy-ui.service")
diff --git a/nixpkgs/nixos/tests/opensnitch.nix b/nixpkgs/nixos/tests/opensnitch.nix
index d84e4e0a935b..a1af07647f71 100644
--- a/nixpkgs/nixos/tests/opensnitch.nix
+++ b/nixpkgs/nixos/tests/opensnitch.nix
@@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
           enable = true;
           settings.DefaultAction = "deny";
           rules = {
-            opensnitch = {
+            curl = {
               name = "curl";
               enabled = true;
               action = "allow";
diff --git a/nixpkgs/nixos/tests/prometheus-exporters.nix b/nixpkgs/nixos/tests/prometheus-exporters.nix
index 7e74f27174ec..632656ad5795 100644
--- a/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/nixpkgs/nixos/tests/prometheus-exporters.nix
@@ -218,6 +218,9 @@ let
         services.dnsmasq.enable = true;
       };
       exporterTest = ''
+        wait_for_unit("dnsmasq.service")
+        wait_for_open_port(53)
+        wait_for_file("/var/lib/dnsmasq/dnsmasq.leases")
         wait_for_unit("prometheus-dnsmasq-exporter.service")
         wait_for_open_port(9153)
         succeed("curl -sSf http://localhost:9153/metrics | grep 'dnsmasq_leases 0'")
diff --git a/nixpkgs/nixos/tests/qownnotes.nix b/nixpkgs/nixos/tests/qownnotes.nix
index 93801cb98702..3390ba6d9025 100644
--- a/nixpkgs/nixos/tests/qownnotes.nix
+++ b/nixpkgs/nixos/tests/qownnotes.nix
@@ -21,6 +21,7 @@ import ./make-test-python.nix ({ lib, pkgs, ...} :
 
   enableOCR = true;
 
+  # https://nixos.org/manual/nixos/stable/#ssec-machine-objects
   testScript = { nodes, ... }: let
     aliceDo = cmd: ''machine.succeed("su - alice -c '${cmd}' >&2 &");'';
     in ''
@@ -52,8 +53,13 @@ import ./make-test-python.nix ({ lib, pkgs, ...} :
         machine.wait_for_text("App metric")
         machine.send_key("ret")
 
+        # Doesn't work for non-root
+        #machine.wait_for_window("QOwnNotes - ${pkgs.qownnotes.version}")
+
+        # OCR doesn't seem to be able any more to handle the main window
+        #machine.wait_for_text("QOwnNotes - ${pkgs.qownnotes.version}")
+
         # The main window should now show up
-        machine.wait_for_text("QOwnNotes - ${pkgs.qownnotes.version}")
         machine.wait_for_open_port(22222)
         machine.wait_for_console_text("QOwnNotes server listening on port 22222")
 
@@ -63,7 +69,13 @@ import ./make-test-python.nix ({ lib, pkgs, ...} :
         machine.send_key("ctrl-n")
         machine.sleep(1)
         machine.send_chars("This is a NixOS test!\n")
-        machine.wait_for_text("This is a NixOS test!")
+        machine.wait_until_succeeds("find /home/alice/Notes -type f | grep -qi 'Note 2'")
+
+        # OCR doesn't seem to be able any more to handle the main window
+        #machine.wait_for_text("This is a NixOS test!")
+
+        # Doesn't work for non-root
+        #machine.wait_for_window("- QOwnNotes - ${pkgs.qownnotes.version}")
 
         machine.screenshot("QOwnNotes-NewNote")
   '';
diff --git a/nixpkgs/nixos/tests/slurm.nix b/nixpkgs/nixos/tests/slurm.nix
index a6b02e970b0c..ad516b6e8d2b 100644
--- a/nixpkgs/nixos/tests/slurm.nix
+++ b/nixpkgs/nixos/tests/slurm.nix
@@ -45,7 +45,7 @@ let
       '';
     in pkgs.runCommand "mpitest" {} ''
       mkdir -p $out/bin
-      ${pkgs.openmpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest
+      ${lib.getDev pkgs.mpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest
     '';
 in {
   name = "slurm";
diff --git a/nixpkgs/nixos/tests/sourcehut.nix b/nixpkgs/nixos/tests/sourcehut.nix
deleted file mode 100644
index 0b258acc2af1..000000000000
--- a/nixpkgs/nixos/tests/sourcehut.nix
+++ /dev/null
@@ -1,252 +0,0 @@
-import ./make-test-python.nix ({ pkgs, lib, ... }:
-let
-  domain = "sourcehut.localdomain";
-
-  # Note that wildcard certificates just under the TLD (eg. *.com)
-  # would be rejected by clients like curl.
-  tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
-    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \
-      -subj '/CN=${domain}' -extensions v3_req \
-      -addext 'subjectAltName = DNS:*.${domain}'
-    install -D -t $out key.pem cert.pem
-  '';
-
-  images = {
-    nixos.unstable.x86_64 =
-      let
-        systemConfig = { pkgs, ... }: {
-          # passwordless ssh server
-          services.openssh = {
-            enable = true;
-            settings = {
-              PermitRootLogin = "yes";
-              PermitEmptyPasswords = true;
-            };
-          };
-
-          users = {
-            mutableUsers = false;
-            # build user
-            extraUsers."build" = {
-              isNormalUser = true;
-              uid = 1000;
-              extraGroups = [ "wheel" ];
-              password = "";
-            };
-            users.root.password = "";
-          };
-
-          security.sudo.wheelNeedsPassword = false;
-          nix.settings.trusted-users = [ "root" "build" ];
-          documentation.nixos.enable = false;
-
-          # builds.sr.ht-image-specific network settings
-          networking = {
-            hostName = "build";
-            dhcpcd.enable = false;
-            defaultGateway.address = "10.0.2.2";
-            usePredictableInterfaceNames = false;
-            interfaces."eth0".ipv4.addresses = [{
-              address = "10.0.2.15";
-              prefixLength = 25;
-            }];
-            enableIPv6 = false;
-            nameservers = [
-              # OpenNIC anycast
-              "185.121.177.177"
-              "169.239.202.202"
-              # Google
-              "8.8.8.8"
-            ];
-            firewall.allowedTCPPorts = [ 22 ];
-          };
-
-          environment.systemPackages = [
-            pkgs.gitMinimal
-            #pkgs.mercurial
-            pkgs.curl
-            pkgs.gnupg
-          ];
-        };
-        qemuConfig = { pkgs, ... }: {
-          imports = [ systemConfig ];
-          fileSystems."/".device = "/dev/disk/by-label/nixos";
-          boot.initrd.availableKernelModules = [
-            "ahci"
-            "ehci_pci"
-            "sd_mod"
-            "usb_storage"
-            "usbhid"
-            "virtio_balloon"
-            "virtio_blk"
-            "virtio_pci"
-            "virtio_ring"
-            "xhci_pci"
-          ];
-          boot.loader = {
-            grub = {
-              version = 2;
-              device = "/dev/vda";
-            };
-            timeout = 0;
-          };
-        };
-        config = (import (pkgs.path + "/nixos/lib/eval-config.nix") {
-          inherit pkgs; modules = [ qemuConfig ];
-          system = "x86_64-linux";
-        }).config;
-      in
-      import (pkgs.path + "/nixos/lib/make-disk-image.nix") {
-        inherit pkgs lib config;
-        diskSize = 16000;
-        format = "qcow2-compressed";
-        contents = [
-          { source = pkgs.writeText "gitconfig" ''
-              [user]
-                name = builds.sr.ht
-                email = build@sr.ht
-            '';
-            target = "/home/build/.gitconfig";
-            user = "build";
-            group = "users";
-            mode = "644";
-          }
-        ];
-      };
-  };
-
-in
-{
-  name = "sourcehut";
-
-  meta.maintainers = [ pkgs.lib.maintainers.tomberek ];
-
-  nodes.machine = { config, pkgs, nodes, ... }: {
-    # buildsrht needs space
-    virtualisation.diskSize = 4 * 1024;
-    virtualisation.memorySize = 2 * 1024;
-    networking.domain = domain;
-    networking.enableIPv6 = false;
-    networking.extraHosts = ''
-      ${config.networking.primaryIPAddress} builds.${domain}
-      ${config.networking.primaryIPAddress} git.${domain}
-      ${config.networking.primaryIPAddress} meta.${domain}
-    '';
-
-    services.sourcehut = {
-      enable = true;
-      nginx.enable = true;
-      nginx.virtualHost = {
-        forceSSL = true;
-        sslCertificate = "${tls-cert}/cert.pem";
-        sslCertificateKey = "${tls-cert}/key.pem";
-      };
-      postgresql.enable = true;
-      redis.enable = true;
-
-      meta.enable = true;
-      builds = {
-        enable = true;
-        # FIXME: see why it does not seem to activate fully.
-        #enableWorker = true;
-        inherit images;
-      };
-      git.enable = true;
-
-      settings."sr.ht" = {
-        global-domain = config.networking.domain;
-        service-key = pkgs.writeText "service-key" "8b327279b77e32a3620e2fc9aabce491cc46e7d821fd6713b2a2e650ce114d01";
-        network-key = pkgs.writeText "network-key" "cEEmc30BRBGkgQZcHFksiG7hjc6_dK1XR2Oo5Jb9_nQ=";
-      };
-      settings."builds.sr.ht" = {
-        oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
-        oauth-client-id = "299db9f9c2013170";
-      };
-      settings."git.sr.ht" = {
-        oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
-        oauth-client-id = "d07cb713d920702e";
-      };
-      settings.webhooks.private-key = pkgs.writeText "webhook-key" "Ra3IjxgFiwG9jxgp4WALQIZw/BMYt30xWiOsqD0J7EA=";
-      settings.mail = {
-        smtp-from = "root+hut@${domain}";
-        # WARNING: take care to keep pgp-privkey outside the Nix store in production,
-        # or use LoadCredentialEncrypted=
-        pgp-privkey = toString (pkgs.writeText "sourcehut.pgp-privkey" ''
-          -----BEGIN PGP PRIVATE KEY BLOCK-----
-
-          lFgEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
-          Gk7hYQoAAP9X4oPmxxrHN8LewBpWITdBomNqlHoiP7mI0nz/BOPJHxEktDZuaXhv
-          cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp
-          bj6IlwQTFgoAPxYhBPqjgjnL8RHN4JnADNicgXaYm0jJBQJioNE5AhsDBQkDwmcA
-          BgsJCAcDCgUVCgkICwUWAwIBAAIeBQIXgAAKCRDYnIF2mJtIySVCAP9e2nHsVHSi
-          2B1YGZpVG7Xf36vxljmMkbroQy+0gBPwRwEAq+jaiQqlbGhQ7R/HMFcAxBIVsq8h
-          Aw1rngsUd0o3dAicXQRioNE5EgorBgEEAZdVAQUBAQdAXZV2Sd5ZNBVTBbTGavMv
-          D6ORrUh8z7TI/3CsxCE7+yADAQgHAAD/c1RU9xH+V/uI1fE7HIn/zL0LUPpsuce2
-          cH++g4u3kBgTOYh+BBgWCgAmFiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg0TkC
-          GwwFCQPCZwAACgkQ2JyBdpibSMlKagD/cTre6p1m8QuJ7kwmCFRSz5tBzIuYMMgN
-          xtT7dmS91csA/35fWsOykSiFRojQ7ccCSUTHL7ApF2EbL968tP/D2hIG
-          =Hjoc
-          -----END PGP PRIVATE KEY BLOCK-----
-        '');
-        pgp-pubkey = pkgs.writeText "sourcehut.pgp-pubkey" ''
-          -----BEGIN PGP PUBLIC KEY BLOCK-----
-
-          mDMEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
-          Gk7hYQq0Nm5peG9zL3Rlc3RzL3NvdXJjZWh1dCA8cm9vdCtodXRAc291cmNlaHV0
-          LmxvY2FsZG9tYWluPoiXBBMWCgA/FiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg
-          0TkCGwMFCQPCZwAGCwkIBwMKBRUKCQgLBRYDAgEAAh4FAheAAAoJENicgXaYm0jJ
-          JUIA/17acexUdKLYHVgZmlUbtd/fq/GWOYyRuuhDL7SAE/BHAQCr6NqJCqVsaFDt
-          H8cwVwDEEhWyryEDDWueCxR3Sjd0CLg4BGKg0TkSCisGAQQBl1UBBQEBB0BdlXZJ
-          3lk0FVMFtMZq8y8Po5GtSHzPtMj/cKzEITv7IAMBCAeIfgQYFgoAJhYhBPqjgjnL
-          8RHN4JnADNicgXaYm0jJBQJioNE5AhsMBQkDwmcAAAoJENicgXaYm0jJSmoA/3E6
-          3uqdZvELie5MJghUUs+bQcyLmDDIDcbU+3ZkvdXLAP9+X1rDspEohUaI0O3HAklE
-          xy+wKRdhGy/evLT/w9oSBg==
-          =pJD7
-          -----END PGP PUBLIC KEY BLOCK-----
-        '';
-        pgp-key-id = "0xFAA38239CBF111CDE099C00CD89C8176989B48C9";
-      };
-    };
-
-    networking.firewall.allowedTCPPorts = [ 443 ];
-    security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
-    services.nginx = {
-      enable = true;
-      recommendedGzipSettings = true;
-      recommendedOptimisation = true;
-      recommendedTlsSettings = true;
-      recommendedProxySettings = true;
-    };
-
-    services.postgresql = {
-      enable = true;
-      enableTCPIP = false;
-      settings.unix_socket_permissions = "0770";
-    };
-  };
-
-  testScript = ''
-    start_all()
-    machine.wait_for_unit("multi-user.target")
-
-    # Testing metasrht
-    machine.wait_for_unit("metasrht-api.service")
-    machine.wait_for_unit("metasrht.service")
-    machine.wait_for_unit("metasrht-webhooks.service")
-    machine.wait_for_open_port(5000)
-    machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
-    machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
-
-    # Testing buildsrht
-    machine.wait_for_unit("buildsrht.service")
-    machine.wait_for_open_port(5002)
-    machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}")
-    #machine.wait_for_unit("buildsrht-worker.service")
-
-    # Testing gitsrht
-    machine.wait_for_unit("gitsrht-api.service")
-    machine.wait_for_unit("gitsrht.service")
-    machine.wait_for_unit("gitsrht-webhooks.service")
-    machine.succeed("curl -sL http://git.${domain} | grep git.${domain}")
-  '';
-})
diff --git a/nixpkgs/nixos/tests/sourcehut/builds.nix b/nixpkgs/nixos/tests/sourcehut/builds.nix
new file mode 100644
index 000000000000..f1f928ecc3d0
--- /dev/null
+++ b/nixpkgs/nixos/tests/sourcehut/builds.nix
@@ -0,0 +1,54 @@
+import ../make-test-python.nix ({ pkgs, lib, ... }:
+let
+  domain = "sourcehut.localdomain";
+in
+{
+  name = "sourcehut";
+
+  meta.maintainers = with pkgs.lib.maintainers; [ tomberek nessdoor ];
+
+  nodes.machine = { config, pkgs, nodes, ... }: {
+    imports = [
+      ./nodes/common.nix
+    ];
+
+    networking.domain = domain;
+    networking.extraHosts = ''
+      ${config.networking.primaryIPAddress} builds.${domain}
+      ${config.networking.primaryIPAddress} meta.${domain}
+    '';
+
+    services.sourcehut = {
+      builds = {
+        enable = true;
+        # FIXME: see why it does not seem to activate fully.
+        #enableWorker = true;
+        images = { };
+      };
+
+      settings."builds.sr.ht" = {
+        oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
+        oauth-client-id = "299db9f9c2013170";
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+
+    with subtest("Check whether meta comes up"):
+         machine.wait_for_unit("metasrht-api.service")
+         machine.wait_for_unit("metasrht.service")
+         machine.wait_for_unit("metasrht-webhooks.service")
+         machine.wait_for_open_port(5000)
+         machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
+         machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
+
+    with subtest("Check whether builds comes up"):
+         machine.wait_for_unit("buildsrht.service")
+         machine.wait_for_open_port(5002)
+         machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}")
+         #machine.wait_for_unit("buildsrht-worker.service")
+  '';
+})
diff --git a/nixpkgs/nixos/tests/sourcehut/default.nix b/nixpkgs/nixos/tests/sourcehut/default.nix
new file mode 100644
index 000000000000..04f1551d70d9
--- /dev/null
+++ b/nixpkgs/nixos/tests/sourcehut/default.nix
@@ -0,0 +1,6 @@
+{ system, pkgs, ... }:
+
+{
+  git = import ./git.nix { inherit system pkgs; };
+  builds = import ./builds.nix { inherit system pkgs; };
+}
diff --git a/nixpkgs/nixos/tests/sourcehut/git.nix b/nixpkgs/nixos/tests/sourcehut/git.nix
new file mode 100644
index 000000000000..ed184d5d5518
--- /dev/null
+++ b/nixpkgs/nixos/tests/sourcehut/git.nix
@@ -0,0 +1,96 @@
+import ../make-test-python.nix ({ pkgs, lib, ... }:
+let
+  domain = "sourcehut.localdomain";
+in
+{
+  name = "sourcehut";
+
+  meta.maintainers = with pkgs.lib.maintainers; [ tomberek nessdoor ];
+
+  nodes.machine = { config, pkgs, nodes, ... }: {
+    imports = [
+      ./nodes/common.nix
+    ];
+
+    networking.domain = domain;
+    networking.extraHosts = ''
+      ${config.networking.primaryIPAddress} git.${domain}
+      ${config.networking.primaryIPAddress} meta.${domain}
+    '';
+
+    services.sourcehut = {
+      git.enable = true;
+      settings."git.sr.ht" = {
+        oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
+        oauth-client-id = "d07cb713d920702e";
+      };
+    };
+
+    environment.systemPackages = with pkgs; [
+      git
+    ];
+  };
+
+  testScript =
+    let
+      userName = "nixos-test";
+      userPass = "AutoNixosTestPwd";
+      hutConfig = pkgs.writeText "hut-config" ''
+        instance "${domain}" {
+          # Will be replaced at runtime with the generated token
+          access-token "OAUTH-TOKEN"
+        }
+      '';
+      sshConfig = pkgs.writeText "ssh-config" ''
+        Host git.${domain}
+             IdentityFile = ~/.ssh/id_rsa
+      '';
+    in
+    ''
+      start_all()
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("sshd.service")
+
+      with subtest("Check whether meta comes up"):
+           machine.wait_for_unit("metasrht-api.service")
+           machine.wait_for_unit("metasrht.service")
+           machine.wait_for_unit("metasrht-webhooks.service")
+           machine.wait_for_open_port(5000)
+           machine.succeed("curl -sL http://localhost:5000 | grep meta.${domain}")
+           machine.succeed("curl -sL http://meta.${domain} | grep meta.${domain}")
+
+      with subtest("Create a new user account and OAuth access key"):
+           machine.succeed("echo ${userPass} | metasrht-manageuser -ps -e ${userName}@${domain}\
+                            -t active_paying ${userName}");
+           (_, token) = machine.execute("srht-gen-oauth-tok -i ${domain} -q ${userName} ${userPass}")
+           token = token.strip().replace("/", r"\\/") # Escape slashes in token before passing it to sed
+           machine.execute("mkdir -p ~/.config/hut/")
+           machine.execute("sed s/OAUTH-TOKEN/" + token + "/ ${hutConfig} > ~/.config/hut/config")
+
+      with subtest("Check whether git comes up"):
+           machine.wait_for_unit("gitsrht-api.service")
+           machine.wait_for_unit("gitsrht.service")
+           machine.wait_for_unit("gitsrht-webhooks.service")
+           machine.succeed("curl -sL http://git.${domain} | grep git.${domain}")
+
+      with subtest("Add an SSH key for Git access"):
+           machine.execute("ssh-keygen -q -N \"\" -t rsa -f ~/.ssh/id_rsa")
+           machine.execute("cat ${sshConfig} > ~/.ssh/config")
+           machine.succeed("hut meta ssh-key create ~/.ssh/id_rsa.pub")
+
+      with subtest("Create a new repo and push contents to it"):
+           machine.execute("git init test")
+           machine.execute("echo \"Hello world!\" > test/hello.txt")
+           machine.execute("cd test && git add .")
+           machine.execute("cd test && git commit -m \"Initial commit\"")
+           machine.execute("cd test && git tag v0.1")
+           machine.succeed("cd test && git remote add origin gitsrht@git.${domain}:~${userName}/test")
+           machine.execute("( echo -n 'git.${domain} '; cat /etc/ssh/ssh_host_ed25519_key.pub ) > ~/.ssh/known_hosts")
+           machine.succeed("hut git create test")
+           machine.succeed("cd test && git push --tags --set-upstream origin master")
+
+      with subtest("Verify that the repo is downloadable and its contents match the original"):
+           machine.succeed("curl https://git.${domain}/~${userName}/test/archive/v0.1.tar.gz | tar -xz")
+           machine.succeed("diff test-v0.1/hello.txt test/hello.txt")
+    '';
+})
diff --git a/nixpkgs/nixos/tests/sourcehut/nodes/common.nix b/nixpkgs/nixos/tests/sourcehut/nodes/common.nix
new file mode 100644
index 000000000000..f0a81358f972
--- /dev/null
+++ b/nixpkgs/nixos/tests/sourcehut/nodes/common.nix
@@ -0,0 +1,107 @@
+{ config, pkgs, nodes, ... }:
+let
+  domain = config.networking.domain;
+
+  # Note that wildcard certificates just under the TLD (eg. *.com)
+  # would be rejected by clients like curl.
+  tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
+    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \
+      -subj '/CN=${domain}' -extensions v3_req \
+      -addext 'subjectAltName = DNS:*.${domain}'
+    install -D -t $out key.pem cert.pem
+  '';
+in
+{
+  # buildsrht needs space
+  virtualisation.diskSize = 4 * 1024;
+  virtualisation.memorySize = 2 * 1024;
+  networking.enableIPv6 = false;
+
+  services.sourcehut = {
+    enable = true;
+    nginx.enable = true;
+    nginx.virtualHost = {
+      forceSSL = true;
+      sslCertificate = "${tls-cert}/cert.pem";
+      sslCertificateKey = "${tls-cert}/key.pem";
+    };
+    postgresql.enable = true;
+    redis.enable = true;
+
+    meta.enable = true;
+
+    settings."sr.ht" = {
+      environment = "production";
+      global-domain = config.networking.domain;
+      service-key = pkgs.writeText "service-key" "8b327279b77e32a3620e2fc9aabce491cc46e7d821fd6713b2a2e650ce114d01";
+      network-key = pkgs.writeText "network-key" "cEEmc30BRBGkgQZcHFksiG7hjc6_dK1XR2Oo5Jb9_nQ=";
+    };
+    settings.webhooks.private-key = pkgs.writeText "webhook-key" "Ra3IjxgFiwG9jxgp4WALQIZw/BMYt30xWiOsqD0J7EA=";
+    settings.mail = {
+      smtp-from = "root+hut@${domain}";
+      # WARNING: take care to keep pgp-privkey outside the Nix store in production,
+      # or use LoadCredentialEncrypted=
+      pgp-privkey = toString (pkgs.writeText "sourcehut.pgp-privkey" ''
+        -----BEGIN PGP PRIVATE KEY BLOCK-----
+
+        lFgEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
+        Gk7hYQoAAP9X4oPmxxrHN8LewBpWITdBomNqlHoiP7mI0nz/BOPJHxEktDZuaXhv
+        cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp
+        bj6IlwQTFgoAPxYhBPqjgjnL8RHN4JnADNicgXaYm0jJBQJioNE5AhsDBQkDwmcA
+        BgsJCAcDCgUVCgkICwUWAwIBAAIeBQIXgAAKCRDYnIF2mJtIySVCAP9e2nHsVHSi
+        2B1YGZpVG7Xf36vxljmMkbroQy+0gBPwRwEAq+jaiQqlbGhQ7R/HMFcAxBIVsq8h
+        Aw1rngsUd0o3dAicXQRioNE5EgorBgEEAZdVAQUBAQdAXZV2Sd5ZNBVTBbTGavMv
+        D6ORrUh8z7TI/3CsxCE7+yADAQgHAAD/c1RU9xH+V/uI1fE7HIn/zL0LUPpsuce2
+        cH++g4u3kBgTOYh+BBgWCgAmFiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg0TkC
+        GwwFCQPCZwAACgkQ2JyBdpibSMlKagD/cTre6p1m8QuJ7kwmCFRSz5tBzIuYMMgN
+        xtT7dmS91csA/35fWsOykSiFRojQ7ccCSUTHL7ApF2EbL968tP/D2hIG
+        =Hjoc
+        -----END PGP PRIVATE KEY BLOCK-----
+      '');
+      pgp-pubkey = pkgs.writeText "sourcehut.pgp-pubkey" ''
+        -----BEGIN PGP PUBLIC KEY BLOCK-----
+
+        mDMEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
+        Gk7hYQq0Nm5peG9zL3Rlc3RzL3NvdXJjZWh1dCA8cm9vdCtodXRAc291cmNlaHV0
+        LmxvY2FsZG9tYWluPoiXBBMWCgA/FiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg
+        0TkCGwMFCQPCZwAGCwkIBwMKBRUKCQgLBRYDAgEAAh4FAheAAAoJENicgXaYm0jJ
+        JUIA/17acexUdKLYHVgZmlUbtd/fq/GWOYyRuuhDL7SAE/BHAQCr6NqJCqVsaFDt
+        H8cwVwDEEhWyryEDDWueCxR3Sjd0CLg4BGKg0TkSCisGAQQBl1UBBQEBB0BdlXZJ
+        3lk0FVMFtMZq8y8Po5GtSHzPtMj/cKzEITv7IAMBCAeIfgQYFgoAJhYhBPqjgjnL
+        8RHN4JnADNicgXaYm0jJBQJioNE5AhsMBQkDwmcAAAoJENicgXaYm0jJSmoA/3E6
+        3uqdZvELie5MJghUUs+bQcyLmDDIDcbU+3ZkvdXLAP9+X1rDspEohUaI0O3HAklE
+        xy+wKRdhGy/evLT/w9oSBg==
+        =pJD7
+        -----END PGP PUBLIC KEY BLOCK-----
+      '';
+      pgp-key-id = "0xFAA38239CBF111CDE099C00CD89C8176989B48C9";
+    };
+  };
+
+  networking.firewall.allowedTCPPorts = [ 80 443 ];
+  security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
+  services.nginx = {
+    enable = true;
+    recommendedGzipSettings = true;
+    recommendedOptimisation = true;
+    recommendedTlsSettings = true;
+    recommendedProxySettings = true;
+  };
+
+  services.postgresql = {
+    enable = true;
+    enableTCPIP = false;
+    settings.unix_socket_permissions = "0770";
+  };
+
+  services.openssh = {
+    enable = true;
+    settings.PasswordAuthentication = false;
+    settings.PermitRootLogin = "no";
+  };
+
+  environment.systemPackages = with pkgs; [
+    hut # For interacting with the Sourcehut APIs via CLI
+    srht-gen-oauth-tok # To automatically generate user OAuth tokens
+  ];
+}
diff --git a/nixpkgs/nixos/tests/stalwart-mail.nix b/nixpkgs/nixos/tests/stalwart-mail.nix
index b5589966a160..634c0e2e3926 100644
--- a/nixpkgs/nixos/tests/stalwart-mail.nix
+++ b/nixpkgs/nixos/tests/stalwart-mail.nix
@@ -42,20 +42,22 @@ in import ./make-test-python.nix ({ lib, ... }: {
 
         session.auth.mechanisms = [ "PLAIN" ];
         session.auth.directory = "in-memory";
-        jmap.directory = "in-memory";  # shared with imap
+        storage.directory = "in-memory";  # shared with imap
 
         session.rcpt.directory = "in-memory";
         queue.outbound.next-hop = [ "local" ];
 
         directory."in-memory" = {
           type = "memory";
-          users = [
+          principals = [
             {
+              type = "individual";
               name = "alice";
               secret = "foobar";
               email = [ "alice@${domain}" ];
             }
             {
+              type = "individual";
               name = "bob";
               secret = "foobar";
               email = [ "bob@${domain}" ];
@@ -90,8 +92,9 @@ in import ./make-test-python.nix ({ lib, ... }: {
 
         with IMAP4('localhost') as imap:
             imap.starttls()
-            imap.login('bob', 'foobar')
-            imap.select('"All Mail"')
+            status, [caps] = imap.login('bob', 'foobar')
+            assert status == 'OK'
+            imap.select()
             status, [ref] = imap.search(None, 'ALL')
             assert status == 'OK'
             [msgId] = ref.split()
diff --git a/nixpkgs/nixos/tests/web-apps/mastodon/default.nix b/nixpkgs/nixos/tests/web-apps/mastodon/default.nix
index 411ebfcd731b..178590d13b63 100644
--- a/nixpkgs/nixos/tests/web-apps/mastodon/default.nix
+++ b/nixpkgs/nixos/tests/web-apps/mastodon/default.nix
@@ -5,5 +5,5 @@ let
 in
 {
   standard = handleTestOn supportedSystems ./standard.nix { inherit system; };
-  remote-postgresql = handleTestOn supportedSystems ./remote-postgresql.nix { inherit system; };
+  remote-databases = handleTestOn supportedSystems ./remote-databases.nix { inherit system; };
 }
diff --git a/nixpkgs/nixos/tests/web-apps/mastodon/remote-postgresql.nix b/nixpkgs/nixos/tests/web-apps/mastodon/remote-databases.nix
index 6548883db452..fa6430a99353 100644
--- a/nixpkgs/nixos/tests/web-apps/mastodon/remote-postgresql.nix
+++ b/nixpkgs/nixos/tests/web-apps/mastodon/remote-databases.nix
@@ -16,7 +16,14 @@ in
   meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin ];
 
   nodes = {
-    database = { config, ... }: {
+    databases = { config, ... }: {
+      environment = {
+        etc = {
+          "redis/password-redis-db".text = ''
+            ogjhJL8ynrP7MazjYOF6
+          '';
+        };
+      };
       networking = {
         interfaces.eth1 = {
           ipv4.addresses = [
@@ -24,7 +31,17 @@ in
           ];
         };
         extraHosts = hosts;
-        firewall.allowedTCPPorts = [ config.services.postgresql.port ];
+        firewall.allowedTCPPorts = [
+          config.services.redis.servers.mastodon.port
+          config.services.postgresql.port
+        ];
+      };
+
+      services.redis.servers.mastodon = {
+        enable = true;
+        bind = "0.0.0.0";
+        port = 31637;
+        requirePassFile = "/etc/redis/password-redis-db";
       };
 
       services.postgresql = {
@@ -83,6 +100,9 @@ in
 
       environment = {
         etc = {
+          "mastodon/password-redis-db".text = ''
+            ogjhJL8ynrP7MazjYOF6
+          '';
           "mastodon/password-posgressql-db".text = ''
             SoDTZcISc3f1M1LJsRLT
           '';
@@ -108,6 +128,12 @@ in
         localDomain = "mastodon.local";
         enableUnixSocket = false;
         streamingProcesses = 2;
+        redis = {
+          createLocally = false;
+          host = "192.168.2.102";
+          port = 31637;
+          passwordFile = "/etc/mastodon/password-redis-db";
+        };
         database = {
           createLocally = false;
           host = "192.168.2.102";
@@ -151,12 +177,14 @@ in
     extraInit = ''
       nginx.wait_for_unit("nginx.service")
       nginx.wait_for_open_port(443)
-      database.wait_for_unit("postgresql.service")
-      database.wait_for_open_port(5432)
+      databases.wait_for_unit("redis-mastodon.service")
+      databases.wait_for_unit("postgresql.service")
+      databases.wait_for_open_port(31637)
+      databases.wait_for_open_port(5432)
     '';
     extraShutdown = ''
       nginx.shutdown()
-      database.shutdown()
+      databases.shutdown()
     '';
   };
 })
diff --git a/nixpkgs/nixos/tests/web-apps/mastodon/script.nix b/nixpkgs/nixos/tests/web-apps/mastodon/script.nix
index afb7c0e0a0eb..9184c63c8941 100644
--- a/nixpkgs/nixos/tests/web-apps/mastodon/script.nix
+++ b/nixpkgs/nixos/tests/web-apps/mastodon/script.nix
@@ -8,7 +8,6 @@
 
   ${extraInit}
 
-  server.wait_for_unit("redis-mastodon.service")
   server.wait_for_unit("mastodon-sidekiq-all.service")
   server.wait_for_unit("mastodon-streaming.target")
   server.wait_for_unit("mastodon-web.service")
diff --git a/nixpkgs/nixos/tests/web-apps/mastodon/standard.nix b/nixpkgs/nixos/tests/web-apps/mastodon/standard.nix
index e5eb30fef597..ddc764e2168c 100644
--- a/nixpkgs/nixos/tests/web-apps/mastodon/standard.nix
+++ b/nixpkgs/nixos/tests/web-apps/mastodon/standard.nix
@@ -34,12 +34,6 @@ in
         pki.certificateFiles = [ "${cert pkgs}/cert.pem" ];
       };
 
-      services.redis.servers.mastodon = {
-        enable = true;
-        bind = "127.0.0.1";
-        port = 31637;
-      };
-
       # TODO remove once https://github.com/NixOS/nixpkgs/pull/266270 is resolved.
       services.postgresql.package = pkgs.postgresql_14;
 
@@ -89,6 +83,7 @@ in
     extraInit = ''
       server.wait_for_unit("nginx.service")
       server.wait_for_open_port(443)
+      server.wait_for_unit("redis-mastodon.service")
       server.wait_for_unit("postgresql.service")
       server.wait_for_open_port(5432)
     '';
diff --git a/nixpkgs/nixos/tests/web-servers/ttyd.nix b/nixpkgs/nixos/tests/web-servers/ttyd.nix
index d161673684b3..b79a2032ec75 100644
--- a/nixpkgs/nixos/tests/web-servers/ttyd.nix
+++ b/nixpkgs/nixos/tests/web-servers/ttyd.nix
@@ -2,18 +2,28 @@ import ../make-test-python.nix ({ lib, pkgs, ... }: {
   name = "ttyd";
   meta.maintainers = with lib.maintainers; [ stunkymonkey ];
 
-  nodes.machine = { pkgs, ... }: {
+  nodes.readonly = { pkgs, ... }: {
+    services.ttyd = {
+      enable = true;
+      entrypoint = [ (lib.getExe pkgs.htop) ];
+      writeable = false;
+    };
+  };
+
+  nodes.writeable = { pkgs, ... }: {
     services.ttyd = {
       enable = true;
       username = "foo";
       passwordFile = pkgs.writeText "password" "bar";
+      writeable = true;
     };
   };
 
   testScript = ''
-    machine.wait_for_unit("ttyd.service")
-    machine.wait_for_open_port(7681)
-    response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/")
-    assert '<title>ttyd - Terminal</title>' in response, "Page didn't load successfully"
+    for machine in [readonly, writeable]:
+      machine.wait_for_unit("ttyd.service")
+      machine.wait_for_open_port(7681)
+      response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/")
+      assert '<title>ttyd - Terminal</title>' in response, "Page didn't load successfully"
   '';
 })
diff --git a/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix b/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix
index dd7604939f0f..29c1b82d9d0e 100644
--- a/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix
+++ b/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix
@@ -127,5 +127,6 @@ stdenv.mkDerivation rec {
     # error: 'vvtanh' was not declared in this scope; did you mean 'tanh'?
     # error: no matching function for call to 'juce::dsp::SIMDRegister<double>::SIMDRegister(xsimd::simd_batch_traits<xsimd::batch<double, 2> >::batch_bool_type)'
     broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
+    mainProgram = "CHOWTapeModel";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ChowKick/default.nix b/nixpkgs/pkgs/applications/audio/ChowKick/default.nix
index b3ad00bf63a8..0eec7ea32d32 100644
--- a/nixpkgs/pkgs/applications/audio/ChowKick/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ChowKick/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "ChowKick";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/aacgain/default.nix b/nixpkgs/pkgs/applications/audio/aacgain/default.nix
index 2bee14797815..ce0362ba49c0 100644
--- a/nixpkgs/pkgs/applications/audio/aacgain/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aacgain/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.robbinch ];
+    mainProgram = "aacgain";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/aeolus/default.nix b/nixpkgs/pkgs/applications/audio/aeolus/default.nix
index cca58da4f99e..b8a2fe755704 100644
--- a/nixpkgs/pkgs/applications/audio/aeolus/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aeolus/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ nico202 orivej ];
+    mainProgram = "aeolus";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix b/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
index 9143b5f5b08a..8de68bca477c 100644
--- a/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.mrVanDalo ];
     platforms = platforms.all;
+    mainProgram = "aj-snapshot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ashuffle/default.nix b/nixpkgs/pkgs/applications/audio/ashuffle/default.nix
index a543dbc7691a..dca87485913d 100644
--- a/nixpkgs/pkgs/applications/audio/ashuffle/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ashuffle/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.tcbravo ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "ashuffle";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/aucatctl/default.nix b/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
index d3f814a7db89..2914d3f34388 100644
--- a/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.isc;
     maintainers = with maintainers; [ sna ];
     platforms = platforms.unix;
+    mainProgram = "aucatctl";
   };
 })
diff --git a/nixpkgs/pkgs/applications/audio/bitmeter/default.nix b/nixpkgs/pkgs/applications/audio/bitmeter/default.nix
index 6108d84c3d9a..9ae4bd7e79fb 100644
--- a/nixpkgs/pkgs/applications/audio/bitmeter/default.nix
+++ b/nixpkgs/pkgs/applications/audio/bitmeter/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "bitmeter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
index d1540fd1cea0..93296b3eff0b 100644
--- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
+++ b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "5.0.11";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-c9bRWVWCC9hLxmko6EHgxgmghrxskJP4PQf3ld2BHoY=";
+    sha256 = "sha256-1/iKezOD2HCym6JBXRa9rGpjolJjrxRZA4vwfgZyVng=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/audio/brutefir/default.nix b/nixpkgs/pkgs/applications/audio/brutefir/default.nix
index 2aefa8bae08e..8cb54bf410bf 100644
--- a/nixpkgs/pkgs/applications/audio/brutefir/default.nix
+++ b/nixpkgs/pkgs/applications/audio/brutefir/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ auchter ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "brutefir";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/calf/default.nix b/nixpkgs/pkgs/applications/audio/calf/default.nix
index e4e679e78082..ecc43dd10c47 100644
--- a/nixpkgs/pkgs/applications/audio/calf/default.nix
+++ b/nixpkgs/pkgs/applications/audio/calf/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "calfjackhost";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix b/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix
index 7f699b82aefc..f32772b4a392 100644
--- a/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     description = "A tool and library for reading digital audio from CDs";
     license = with licenses; [ gpl2Plus lgpl21Plus ];
     platforms = platforms.unix;
+    mainProgram = "cdparanoia";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/chuck/default.nix b/nixpkgs/pkgs/applications/audio/chuck/default.nix
index a62337d7d55a..6b975b3c6b95 100644
--- a/nixpkgs/pkgs/applications/audio/chuck/default.nix
+++ b/nixpkgs/pkgs/applications/audio/chuck/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ftrvxmtrx ];
+    mainProgram = "chuck";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/cider/default.nix b/nixpkgs/pkgs/applications/audio/cider/default.nix
index c71f6fa0bc78..96f0ab0f706a 100644
--- a/nixpkgs/pkgs/applications/audio/cider/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cider/default.nix
@@ -26,5 +26,6 @@ appimageTools.wrapType2 rec {
     license = licenses.agpl3;
     maintainers = [ maintainers.cigrainger ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "cider";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/cmusfm/default.nix b/nixpkgs/pkgs/applications/audio/cmusfm/default.nix
index 8f15b7d61146..5d3a62bd2a56 100644
--- a/nixpkgs/pkgs/applications/audio/cmusfm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/cmusfm/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ CharlesHD mudri ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "cmusfm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/codecserver/default.nix b/nixpkgs/pkgs/applications/audio/codecserver/default.nix
index d1bcf82115ef..0c1bee94cc10 100644
--- a/nixpkgs/pkgs/applications/audio/codecserver/default.nix
+++ b/nixpkgs/pkgs/applications/audio/codecserver/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = teams.c3d2.members;
+    mainProgram = "codecserver";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/dirt/default.nix b/nixpkgs/pkgs/applications/audio/dirt/default.nix
index 9d9c5c869f76..4b9be9a08085 100644
--- a/nixpkgs/pkgs/applications/audio/dirt/default.nix
+++ b/nixpkgs/pkgs/applications/audio/dirt/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = with maintainers; [ anderspapitto ];
     platforms = with platforms; linux;
+    mainProgram = "dirt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix b/nixpkgs/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
index 5d5c057d724b..fddbfc117bda 100644
--- a/nixpkgs/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
+++ b/nixpkgs/pkgs/applications/audio/dolbybcsoftwaredecode/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     # I asked upstream to assign a license, so maybe this can be free
     # in the future, but for now let's play it safe and make it unfree.
     license = lib.licenses.unfree;
+    mainProgram = "DolbyBi64";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/dsf2flac/default.nix b/nixpkgs/pkgs/applications/audio/dsf2flac/default.nix
index d47bff7fe884..2459c1c6929d 100644
--- a/nixpkgs/pkgs/applications/audio/dsf2flac/default.nix
+++ b/nixpkgs/pkgs/applications/audio/dsf2flac/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ artemist ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "dsf2flac";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/eflite/default.nix b/nixpkgs/pkgs/applications/audio/eflite/default.nix
index 776698a06d0d..96b604b7c058 100644
--- a/nixpkgs/pkgs/applications/audio/eflite/default.nix
+++ b/nixpkgs/pkgs/applications/audio/eflite/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
     maintainers = with lib.maintainers; [ jhhuh ];
+    mainProgram = "eflite";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/famistudio/default.nix b/nixpkgs/pkgs/applications/audio/famistudio/default.nix
index e243498f129b..9951f0ccfb07 100644
--- a/nixpkgs/pkgs/applications/audio/famistudio/default.nix
+++ b/nixpkgs/pkgs/applications/audio/famistudio/default.nix
@@ -66,5 +66,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "famistudio";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/flac123/default.nix b/nixpkgs/pkgs/applications/audio/flac123/default.nix
index 5da071805cad..646e361524d4 100644
--- a/nixpkgs/pkgs/applications/audio/flac123/default.nix
+++ b/nixpkgs/pkgs/applications/audio/flac123/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "A command-line program for playing FLAC audio files";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
+    mainProgram = "flac123";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
index 34329fb2ea84..56f76f6513c7 100644
--- a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license     = licenses.lgpl21Plus;
     maintainers = with maintainers; [ goibhniu lovek323 ];
     platforms   = platforms.unix;
+    mainProgram = "fluidsynth";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/freewheeling/default.nix b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
index 531352d0ed94..976421aee7ab 100644
--- a/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
+++ b/nixpkgs/pkgs/applications/audio/freewheeling/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.sepi ];
     platforms = lib.platforms.linux;
+    mainProgram = "fweelin";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/freqtweak/default.nix b/nixpkgs/pkgs/applications/audio/freqtweak/default.nix
index 71bb0f6f05c8..c880fdb113a0 100644
--- a/nixpkgs/pkgs/applications/audio/freqtweak/default.nix
+++ b/nixpkgs/pkgs/applications/audio/freqtweak/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    mainProgram = "freqtweak";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
index d299148e6ade..e10dff68777e 100644
--- a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     # From HOW-TO-COMPILE.txt:
     # > This code is NOT big-endian compatible
     platforms = platforms.littleEndian;
+    mainProgram = "ft2-clone";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/furnace/default.nix b/nixpkgs/pkgs/applications/audio/furnace/default.nix
index adb9f16ed964..d39e49f4b7af 100644
--- a/nixpkgs/pkgs/applications/audio/furnace/default.nix
+++ b/nixpkgs/pkgs/applications/audio/furnace/default.nix
@@ -116,5 +116,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus ];
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "furnace";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/geonkick/default.nix b/nixpkgs/pkgs/applications/audio/geonkick/default.nix
index 0a99edd7b069..011f06fd3ad5 100644
--- a/nixpkgs/pkgs/applications/audio/geonkick/default.nix
+++ b/nixpkgs/pkgs/applications/audio/geonkick/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.magnetophon ];
+    mainProgram = "geonkick";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/gigedit/default.nix b/nixpkgs/pkgs/applications/audio/gigedit/default.nix
index 8c37e8901a33..7a367aa7ba71 100644
--- a/nixpkgs/pkgs/applications/audio/gigedit/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gigedit/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "gigedit";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/gjay/default.nix b/nixpkgs/pkgs/applications/audio/gjay/default.nix
index 29d676598203..514db23fdb4e 100644
--- a/nixpkgs/pkgs/applications/audio/gjay/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gjay/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
+    mainProgram = "gjay";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/gnaural/default.nix b/nixpkgs/pkgs/applications/audio/gnaural/default.nix
index e7753ef28e6b..75f163ba1e79 100644
--- a/nixpkgs/pkgs/applications/audio/gnaural/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gnaural/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gnaural.sourceforge.net/";
     maintainers = with maintainers; [ ehmry ];
     license = with licenses; [ gpl2Only ];
+    mainProgram = "gnaural";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix b/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
index a70d1bf2fcbf..e75e27e7d792 100644
--- a/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
+++ b/nixpkgs/pkgs/applications/audio/gtkcord4/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "gtkcord4";
-  version = "0.0.18";
+  version = "0.0.19";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-J76MkbXtlrRIyQEbNlHFNpAW9+mXcOcrx9ahMQ61NL4=";
+    hash = "sha256-TOrAUTYS4J4W1wZvP1TxZf5Nel29YCPoWPN7GYNomkc=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,7 @@ buildGoModule rec {
     install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
   '';
 
-  vendorHash = "sha256-BDR67P4Gxveg2FpxijT0eWjUciGDO+l02QmBUxVb99c=";
+  vendorHash = "sha256-dJm+v7/2+TQWoU7G1uOpie6KN5W0JqfLU4mF8mghV4A=";
 
   meta = with lib; {
     description = "GTK4 Discord client in Go, attempt #4";
diff --git a/nixpkgs/pkgs/applications/audio/headset/default.nix b/nixpkgs/pkgs/applications/audio/headset/default.nix
index 336d0d391a31..f505bc8c0ecb 100644
--- a/nixpkgs/pkgs/applications/audio/headset/default.nix
+++ b/nixpkgs/pkgs/applications/audio/headset/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ muscaln ];
+    mainProgram = "headset";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/helm/default.nix b/nixpkgs/pkgs/applications/audio/helm/default.nix
index 720fd2b11a13..a7dff6a3ab72 100644
--- a/nixpkgs/pkgs/applications/audio/helm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/helm/default.nix
@@ -70,5 +70,6 @@
     license = lib.licenses.gpl3Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "helm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
index 003936d74df3..5a677b9cc880 100644
--- a/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "HybridReverb2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/id3v2/default.nix b/nixpkgs/pkgs/applications/audio/id3v2/default.nix
index 7b8ece0e7182..6129f25236e6 100644
--- a/nixpkgs/pkgs/applications/audio/id3v2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/id3v2/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://id3v2.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
+    mainProgram = "id3v2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/industrializer/default.nix b/nixpkgs/pkgs/applications/audio/industrializer/default.nix
index 80cb8f76981d..ba7099a0d603 100644
--- a/nixpkgs/pkgs/applications/audio/industrializer/default.nix
+++ b/nixpkgs/pkgs/applications/audio/industrializer/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.magnetophon ];
     platforms = lib.platforms.linux;
+    mainProgram = "psindustrializer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix b/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix
index 4597add4132d..38c8663a53c6 100644
--- a/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix
+++ b/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "infamous-rule";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ir.lv2/default.nix b/nixpkgs/pkgs/applications/audio/ir.lv2/default.nix
index 90b816d1290d..d1984170e3ac 100644
--- a/nixpkgs/pkgs/applications/audio/ir.lv2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ir.lv2/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "convert4chan";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/jaaa/default.nix b/nixpkgs/pkgs/applications/audio/jaaa/default.nix
index 48ffd5df5157..4cdc2caf150d 100644
--- a/nixpkgs/pkgs/applications/audio/jaaa/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jaaa/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "jaaa";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/jack-passthrough/default.nix b/nixpkgs/pkgs/applications/audio/jack-passthrough/default.nix
index 93f41f1b5952..6126257b35e6 100644
--- a/nixpkgs/pkgs/applications/audio/jack-passthrough/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jack-passthrough/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.unfree;
     maintainers = [ maintainers.PowerUser64 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "jack-passthru";
   };
 })
diff --git a/nixpkgs/pkgs/applications/audio/jackmeter/default.nix b/nixpkgs/pkgs/applications/audio/jackmeter/default.nix
index 95fc88a86964..c7650c523654 100644
--- a/nixpkgs/pkgs/applications/audio/jackmeter/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jackmeter/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.marcweber ];
     platforms = lib.platforms.linux;
+    mainProgram = "jack_meter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/japa/default.nix b/nixpkgs/pkgs/applications/audio/japa/default.nix
index c13b38f7acd5..a6ee28cc1498 100644
--- a/nixpkgs/pkgs/applications/audio/japa/default.nix
+++ b/nixpkgs/pkgs/applications/audio/japa/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.magnetophon ];
     platforms = lib.platforms.linux;
+    mainProgram = "japa";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/jellycli/default.nix b/nixpkgs/pkgs/applications/audio/jellycli/default.nix
index 3654eacfbd6c..ddaa6721dfb7 100644
--- a/nixpkgs/pkgs/applications/audio/jellycli/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jellycli/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     homepage = "https://github.com/tryffel/jellycli";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ oxzi ];
+    mainProgram = "jellycli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix b/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
index 0bdd80a9601a..6b154ffbb1a6 100644
--- a/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
     inherit (jre_headless.meta) platforms;
+    mainProgram = "JMusicBot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/keyfinder-cli/default.nix b/nixpkgs/pkgs/applications/audio/keyfinder-cli/default.nix
index 62db3d796908..33adb65f5e8a 100644
--- a/nixpkgs/pkgs/applications/audio/keyfinder-cli/default.nix
+++ b/nixpkgs/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "keyfinder-cli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/klick/default.nix b/nixpkgs/pkgs/applications/audio/klick/default.nix
index 8faa7410a539..5db052dd0518 100644
--- a/nixpkgs/pkgs/applications/audio/klick/default.nix
+++ b/nixpkgs/pkgs/applications/audio/klick/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     description = "Advanced command-line metronome for JACK";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
+    mainProgram = "klick";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/klystrack/default.nix b/nixpkgs/pkgs/applications/audio/klystrack/default.nix
index 9ea5f40be14b..597ed4bd2cb2 100644
--- a/nixpkgs/pkgs/applications/audio/klystrack/default.nix
+++ b/nixpkgs/pkgs/applications/audio/klystrack/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ suhr ];
     platforms = platforms.linux;
+    mainProgram = "klystrack";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/kmetronome/default.nix b/nixpkgs/pkgs/applications/audio/kmetronome/default.nix
index 70b06e72fba8..a7a48b240e2b 100644
--- a/nixpkgs/pkgs/applications/audio/kmetronome/default.nix
+++ b/nixpkgs/pkgs/applications/audio/kmetronome/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "kmetronome";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ledfx/default.nix b/nixpkgs/pkgs/applications/audio/ledfx/default.nix
index 3c6d807714bf..e4c9272ba2f8 100644
--- a/nixpkgs/pkgs/applications/audio/ledfx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ledfx/default.nix
@@ -5,12 +5,12 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "ledfx";
-  version = "2.0.92";
-  pyproject= true;
+  version = "2.0.93";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tt2D8pjU/SClweAn9vHYl+H1POdB1u2SQfrnZZvBQ7I=";
+    hash = "sha256-A34GY7uhkHcrofjeFzK3l/Uzr+aoQQ5JERK+HUhoosM=";
   };
 
   pythonRelaxDeps = true;
diff --git a/nixpkgs/pkgs/applications/audio/listenbrainz-mpd/default.nix b/nixpkgs/pkgs/applications/audio/listenbrainz-mpd/default.nix
index 1042fae93e3b..9bf9c35d4bd7 100644
--- a/nixpkgs/pkgs/applications/audio/listenbrainz-mpd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/listenbrainz-mpd/default.nix
@@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
     description = "ListenBrainz submission client for MPD";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ DeeUnderscore ];
+    mainProgram = "listenbrainz-mpd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix b/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
index 846936e65f6a..fe9a117434fb 100644
--- a/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/littlegptracker/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     # https://github.com/NixOS/nixpkgs/pull/91766#issuecomment-688751821
     broken = stdenv.isDarwin;
+    mainProgram = "lgpt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix b/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix
index 5ec91f4260f8..cdea7180a73e 100644
--- a/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     license = lib.licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with lib.maintainers; [ p-h ];
+    mainProgram = "LAC";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/luppp/default.nix b/nixpkgs/pkgs/applications/audio/luppp/default.nix
index 36d329bcafd5..23b084bddb57 100644
--- a/nixpkgs/pkgs/applications/audio/luppp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/luppp/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ prusnak ];
     platforms = platforms.linux;
+    mainProgram = "luppp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/lv2bm/default.nix b/nixpkgs/pkgs/applications/audio/lv2bm/default.nix
index 553e0e67f836..033a7c8cfe70 100644
--- a/nixpkgs/pkgs/applications/audio/lv2bm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/lv2bm/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "lv2bm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/lv2lint/default.nix b/nixpkgs/pkgs/applications/audio/lv2lint/default.nix
index e643343d8b4a..cc840722cdb9 100644
--- a/nixpkgs/pkgs/applications/audio/lv2lint/default.nix
+++ b/nixpkgs/pkgs/applications/audio/lv2lint/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.artistic2;
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.all;
+    mainProgram = "lv2lint";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/m4acut/default.nix b/nixpkgs/pkgs/applications/audio/m4acut/default.nix
index f3ceee9227c4..f9612dc21009 100644
--- a/nixpkgs/pkgs/applications/audio/m4acut/default.nix
+++ b/nixpkgs/pkgs/applications/audio/m4acut/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsdOriginal zlib ];
     maintainers = [ maintainers.chkno ];
     platforms = platforms.all;
+    mainProgram = "m4acut";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/master_me/default.nix b/nixpkgs/pkgs/applications/audio/master_me/default.nix
index cc45a8fbee45..8d8782eabdcc 100644
--- a/nixpkgs/pkgs/applications/audio/master_me/default.nix
+++ b/nixpkgs/pkgs/applications/audio/master_me/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin; # error: no type or protocol named 'NSPasteboardType'
     license = licenses.gpl3Plus;
+    mainProgram = "master_me";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/meterbridge/default.nix b/nixpkgs/pkgs/applications/audio/meterbridge/default.nix
index 675189f6d131..93e2bfabd175 100644
--- a/nixpkgs/pkgs/applications/audio/meterbridge/default.nix
+++ b/nixpkgs/pkgs/applications/audio/meterbridge/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.nico202 ];
+    mainProgram = "meterbridge";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mi2ly/default.nix b/nixpkgs/pkgs/applications/audio/mi2ly/default.nix
index 2ba12575543c..8b03f75b398d 100644
--- a/nixpkgs/pkgs/applications/audio/mi2ly/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mi2ly/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
     homepage = "https://www.nongnu.org/mi2ly/";
+    mainProgram = "mi2ly";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mid2key/default.nix b/nixpkgs/pkgs/applications/audio/mid2key/default.nix
index d4af7108c159..a4794e8a2e90 100644
--- a/nixpkgs/pkgs/applications/audio/mid2key/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mid2key/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "mid2key";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mikmod/default.nix b/nixpkgs/pkgs/applications/audio/mikmod/default.nix
index bb604d6bade2..abe8ac01cce2 100644
--- a/nixpkgs/pkgs/applications/audio/mikmod/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mikmod/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ ];
     platforms = with lib.platforms; linux;
+    mainProgram = "mikmod";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
index a306b2e8c594..b792c1ad9b49 100644
--- a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix
@@ -81,5 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
     # ibtool -> real Xcode -> I can't get that, and Ofborg can't test that
     broken = stdenv.hostPlatform.isDarwin;
     maintainers = with maintainers; [ OPNA2608 ];
+    mainProgram = "milkytracker";
   };
 })
diff --git a/nixpkgs/pkgs/applications/audio/mmlgui/default.nix b/nixpkgs/pkgs/applications/audio/mmlgui/default.nix
index 98be95b3bf12..aab0acb25019 100644
--- a/nixpkgs/pkgs/applications/audio/mmlgui/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mmlgui/default.nix
@@ -95,5 +95,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "mmlgui";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mmtc/default.nix b/nixpkgs/pkgs/applications/audio/mmtc/default.nix
index ccbe14d76725..8227d12bbcb5 100644
--- a/nixpkgs/pkgs/applications/audio/mmtc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mmtc/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/figsoda/mmtc/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "mmtc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/moc/default.nix b/nixpkgs/pkgs/applications/audio/moc/default.nix
index ddd868c71ce7..6e408a5d12b5 100644
--- a/nixpkgs/pkgs/applications/audio/moc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/moc/default.nix
@@ -96,5 +96,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ aethelz pSub jagajaga ];
     platforms = platforms.unix;
+    mainProgram = "mocp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/muse.nix b/nixpkgs/pkgs/applications/audio/mopidy/muse.nix
index 0b6c1f83dd0b..1de73bc2ae88 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/muse.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/muse.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-muse";
-  version = "0.0.27";
+  version = "0.0.30";
 
   src = fetchPypi {
     inherit version;
     pname = "Mopidy-Muse";
-    sha256 = "0jx9dkgxr07avzz9zskzhqy98zsxkdrf7iid2ax5vygwf8qsx8ks";
+    sha256 = "sha256-uFptv2niq8LVvEmMEteEN+RzghDiPC7z5EsAmxifDmw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix b/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
index 2e793df95efa..474088572883 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
+++ b/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-spotify";
-  version = "unstable-2024-01-02";
+  version = "unstable-2024-02-11";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy-spotify";
-    rev = "ede555c4c6e5f198659a979b85c69294d148c8f3";
-    hash = "sha256-G2SPzMAfJK3mOUJ+odmaugMoAyIAU1J6OXk25J/oXI0=";
+    rev = "fc6ffb3bbbae9224316e2a888db08ef56608966a";
+    hash = "sha256-V1SW8OyuBKLbUoQ4O5iiS4mq3MOXidcVKpiw125vxjQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/mp3gain/default.nix b/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
index a0e6a0527f7d..a59f2e376db0 100644
--- a/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mp3gain/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     platforms = platforms.unix;
     maintainers = with maintainers; [ devhell ];
+    mainProgram = "mp3gain";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mp3val/default.nix b/nixpkgs/pkgs/applications/audio/mp3val/default.nix
index 559f04f919f1..daa03617824b 100644
--- a/nixpkgs/pkgs/applications/audio/mp3val/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mp3val/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.devhell ];
+    mainProgram = "mp3val";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/museeks/default.nix b/nixpkgs/pkgs/applications/audio/museeks/default.nix
index 2db7b9e46df4..206fee9de709 100644
--- a/nixpkgs/pkgs/applications/audio/museeks/default.nix
+++ b/nixpkgs/pkgs/applications/audio/museeks/default.nix
@@ -34,5 +34,6 @@ appimageTools.wrapType2 {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ zendo ];
+    mainProgram = "museeks";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/music-player/default.nix b/nixpkgs/pkgs/applications/audio/music-player/default.nix
index e44963090a1f..b28785d9368b 100644
--- a/nixpkgs/pkgs/applications/audio/music-player/default.nix
+++ b/nixpkgs/pkgs/applications/audio/music-player/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "music-player";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/musly/default.nix b/nixpkgs/pkgs/applications/audio/musly/default.nix
index 1ae6624637a1..43c5fc3365d1 100644
--- a/nixpkgs/pkgs/applications/audio/musly/default.nix
+++ b/nixpkgs/pkgs/applications/audio/musly/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     license = licenses.mpl20;
     maintainers = with maintainers; [ ggpeti ];
     platforms = with platforms; darwin ++ linux;
+    mainProgram = "musly";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/mympd/default.nix b/nixpkgs/pkgs/applications/audio/mympd/default.nix
index 9effb663f92b..e2bdcad5100b 100644
--- a/nixpkgs/pkgs/applications/audio/mympd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/mympd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mympd";
-  version = "14.0.1";
+  version = "14.0.3";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-wgrTkUpWx7YG8V9nyr+RHDBOz1TFA0p2OWDXG64BVjs=";
+    sha256 = "sha256-lVGQc33bntvvMMNn8DCYwWGbbRGYvDi6Gxs41t3uLXs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
index 7459becc08d0..db76f3777224 100644
--- a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     platforms   = platforms.all;
     maintainers = with maintainers; [ fpletz ];
+    mainProgram = "ncmpc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ncpamixer/default.nix b/nixpkgs/pkgs/applications/audio/ncpamixer/default.nix
index b503f5308b82..d33024c0dfbe 100644
--- a/nixpkgs/pkgs/applications/audio/ncpamixer/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncpamixer/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = teams.c3d2.members;
+    mainProgram = "ncpamixer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
index 553e50f16654..1135404a43ea 100644
--- a/nixpkgs/pkgs/applications/audio/ncspot/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ncspot/default.nix
@@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "ncspot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ninjas2/default.nix b/nixpkgs/pkgs/applications/audio/ninjas2/default.nix
index 8fa5bed30661..8a2cc317c137 100644
--- a/nixpkgs/pkgs/applications/audio/ninjas2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ninjas2/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl3 ];
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "ninjas2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/noson/default.nix b/nixpkgs/pkgs/applications/audio/noson/default.nix
index b8d29af7abdf..6c83bdbd83db 100644
--- a/nixpkgs/pkgs/applications/audio/noson/default.nix
+++ b/nixpkgs/pkgs/applications/audio/noson/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "noson";
-  version = "5.6.3";
+  version = "5.6.5";
 
   src = fetchFromGitHub {
     owner = "janbar";
     repo = "noson-app";
     rev = finalAttrs.version;
-    hash = "sha256-Yv5p9yAEhJHm9ZDZlR76z10oGBNpdifR7ITXcAHIb54=";
+    hash = "sha256-UAhaTfj2lCBmHoVEK5IvJfJ9d1OSuZZ+3f5HaTx8hhA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/audio/odin2/default.nix b/nixpkgs/pkgs/applications/audio/odin2/default.nix
index de89f9aedead..a6254d8c77e8 100644
--- a/nixpkgs/pkgs/applications/audio/odin2/default.nix
+++ b/nixpkgs/pkgs/applications/audio/odin2/default.nix
@@ -82,5 +82,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ magnetophon ];
+    mainProgram = "Odin2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix b/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix
index 0e2650b67b2f..2d446174fb11 100644
--- a/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix
+++ b/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix
@@ -90,5 +90,6 @@ buildNpmPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ lilyinstarlight ];
     platforms = platforms.linux;
+    mainProgram = "open-stage-control";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/openutau/default.nix b/nixpkgs/pkgs/applications/audio/openutau/default.nix
index ca9dd2f550da..17105558f2d2 100644
--- a/nixpkgs/pkgs/applications/audio/openutau/default.nix
+++ b/nixpkgs/pkgs/applications/audio/openutau/default.nix
@@ -85,5 +85,6 @@ buildDotnetModule rec {
     ];
     maintainers = with maintainers; [ lilyinstarlight ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "OpenUtau";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/opustags/default.nix b/nixpkgs/pkgs/applications/audio/opustags/default.nix
index 56ef66642801..314d475a04ed 100644
--- a/nixpkgs/pkgs/applications/audio/opustags/default.nix
+++ b/nixpkgs/pkgs/applications/audio/opustags/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ kmein ];
     license = licenses.bsd3;
+    mainProgram = "opustags";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pamix/default.nix b/nixpkgs/pkgs/applications/audio/pamix/default.nix
index 4a2ad9ab779e..fb1d0bfb3d41 100644
--- a/nixpkgs/pkgs/applications/audio/pamix/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pamix/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ ericsagnes ];
+    mainProgram = "pamix";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/patchage/default.nix b/nixpkgs/pkgs/applications/audio/patchage/default.nix
index 99bbdf693a9c..c4d1b5ca12c8 100644
--- a/nixpkgs/pkgs/applications/audio/patchage/default.nix
+++ b/nixpkgs/pkgs/applications/audio/patchage/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl3;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.nico202 ];
+    mainProgram = "patchage";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/paulstretch/default.nix b/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
index d85b543baed4..c539521f1167 100644
--- a/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
+++ b/nixpkgs/pkgs/applications/audio/paulstretch/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation {
     homepage = "https://hypermammut.sourceforge.net/paulstretch/";
     platforms = platforms.linux;
     license = licenses.gpl2;
+    mainProgram = "paulstretch";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix b/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix
index 0a258b0cb9c1..1cb18d831823 100644
--- a/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ asl20 mit ];
     maintainers = [ maintainers.vanilla ];
     platforms = platforms.linux;
+    mainProgram = "pbpctrl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/petrifoo/default.nix b/nixpkgs/pkgs/applications/audio/petrifoo/default.nix
index 49ed6dfd9842..10a82bac6edb 100644
--- a/nixpkgs/pkgs/applications/audio/petrifoo/default.nix
+++ b/nixpkgs/pkgs/applications/audio/petrifoo/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation  rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "petri-foo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pianobar/default.nix b/nixpkgs/pkgs/applications/audio/pianobar/default.nix
index 9949fce8b09c..3d2d6e1263b0 100644
--- a/nixpkgs/pkgs/applications/audio/pianobar/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pianobar/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://6xq.net/pianobar/";
     platforms = platforms.unix;
     license = licenses.mit; # expat version
+    mainProgram = "pianobar";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pianoteq/default.nix b/nixpkgs/pkgs/applications/audio/pianoteq/default.nix
index e13573cf0587..908c667253d1 100644
--- a/nixpkgs/pkgs/applications/audio/pianoteq/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pianoteq/default.nix
@@ -225,20 +225,20 @@ in
     name = "stage-trial";
     mainProgram = "Pianoteq 8 STAGE";
     startupWMClass = "Pianoteq STAGE Trial";
-    version = "8.1.1";
+    version = "8.2.0";
     src = fetchPianoteqTrial {
       name = "pianoteq_stage_linux_trial_v${versionForFile version}.7z";
-      hash = "sha256-jMGv95WiD7UHAuSzKgauLhlsNvO/RWVrHd2Yf3kiUTo=";
+      hash = "sha256-66xbcqNrnVJ+C9FQ8Bg8A7nj/bFrjt6jKheusrXVWvI=";
     };
   };
   standard-trial = mkPianoteq rec {
     name = "standard-trial";
     mainProgram = "Pianoteq 8";
     startupWMClass = "Pianoteq Trial";
-    version = "8.1.1";
+    version = "8.2.0";
     src = fetchPianoteqTrial {
       name = "pianoteq_linux_trial_v${versionForFile version}.7z";
-      hash = "sha256-pL4tJMV8OTVLT4fwABcImWO+iaVe9gCdDN3rbkL+noc=";
+      hash = "sha256-IFFQMn8EFo5X8sUZV2/vtQOA83NHEFrUsU++CvYbN1c=";
     };
   };
   stage-6 = mkPianoteq rec {
@@ -266,10 +266,10 @@ in
     name = "standard-8";
     mainProgram = "Pianoteq 8";
     startupWMClass = "Pianoteq";
-    version = "8.1.1";
+    version = "8.2.0";
     src = fetchPianoteqWithLogin {
       name = "pianoteq_linux_v${versionForFile version}.7z";
-      hash = "sha256-vWvo+ctJ0yN6XeJZZVhA3Ul9eWJWAh7Qo54w0TpOiVw=";
+      hash = "sha256-ME0urUc1jwUKpg+5BdawYo9WhvMsrztYTVOrJTVxtkY=";
     };
   };
   # TODO other paid binaries, I don't own that so I don't know their hash.
diff --git a/nixpkgs/pkgs/applications/audio/picoloop/default.nix b/nixpkgs/pkgs/applications/audio/picoloop/default.nix
index e92319127d7d..74d2e305b74f 100644
--- a/nixpkgs/pkgs/applications/audio/picoloop/default.nix
+++ b/nixpkgs/pkgs/applications/audio/picoloop/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/yoyz/picoloop";
     platforms = platforms.linux;
     license = licenses.bsd3;
+    mainProgram = "picoloop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pmidi/default.nix b/nixpkgs/pkgs/applications/audio/pmidi/default.nix
index 43f38ff84ed0..c8725fa9a36a 100644
--- a/nixpkgs/pkgs/applications/audio/pmidi/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pmidi/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     description = "A straightforward command line program to play midi files through the ALSA sequencer";
     maintainers = with maintainers; [ lheckemann ];
     license = licenses.gpl2;
+    mainProgram = "pmidi";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pms/default.nix b/nixpkgs/pkgs/applications/audio/pms/default.nix
index bb6d018efe4a..d8c7bffcb0f4 100644
--- a/nixpkgs/pkgs/applications/audio/pms/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pms/default.nix
@@ -18,5 +18,6 @@ buildGoModule {
     homepage = "https://ambientsound.github.io/pms/";
     license = licenses.mit;
     maintainers = with maintainers; [ deejayem ];
+    mainProgram = "pms";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/proteus/default.nix b/nixpkgs/pkgs/applications/audio/proteus/default.nix
index b536af040d78..ab2bdae4ef0f 100644
--- a/nixpkgs/pkgs/applications/audio/proteus/default.nix
+++ b/nixpkgs/pkgs/applications/audio/proteus/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "Proteus";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/psst/default.nix b/nixpkgs/pkgs/applications/audio/psst/default.nix
index 58d39e874720..b1c37bd01b56 100644
--- a/nixpkgs/pkgs/applications/audio/psst/default.nix
+++ b/nixpkgs/pkgs/applications/audio/psst/default.nix
@@ -68,5 +68,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jpochyla/psst";
     license = licenses.mit;
     maintainers = with maintainers; [ vbrandl peterhoeg ];
+    mainProgram = "psst-gui";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
index b8775bc23532..7e486f640c93 100644
--- a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix
@@ -39,6 +39,7 @@ stdenv.mkDerivation rec {
     # From HOW-TO-COMPILE.txt:
     # > This code is NOT big-endian compatible
     platforms = platforms.littleEndian;
+    mainProgram = "pt2-clone";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix
index aef236d4cd8b..ba84f8c2aba4 100644
--- a/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -28,13 +28,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "7.09";
+  version = "7.11";
 
   src = fetchurl {
     url = url_for_platform version stdenv.hostPlatform.qemuArch;
-    hash = if stdenv.isDarwin then "sha256-MztA9Azj20tyg/nFtXmvojeABNX11HCkmIcgMhNYyMQ=" else {
-      x86_64-linux = "sha256-Mo7k8XbKLUkBvo2A73qeqHgDtXD/fBVtSVv74k/WGRo=";
-      aarch64-linux = "sha256-ttNHMC8Ouin2fNnIb5X5pnKwGrAML192oZdg/Q8SFlg=";
+    hash = if stdenv.isDarwin then "sha256-8GWfrr+kKF3Ei6Fed9Oei461veRXXbTICvyNJNLBbYM=" else {
+      x86_64-linux = "sha256-lpgGXHWWhhs1jLllq5C3UhOLgLyMTE6qWFiGkBcuWlo=";
+      aarch64-linux = "sha256-0iTdrZYjKzPyNLMIM4othtAMox/65HBEy1VickOZFnA=";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/nixpkgs/pkgs/applications/audio/rhvoice/default.nix b/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
index af2ce6ae25ba..bf7791ca555a 100644
--- a/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
+++ b/nixpkgs/pkgs/applications/audio/rhvoice/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ berce ];
     platforms = with lib.platforms; all;
+    mainProgram = "RHVoice-test";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix b/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix
index 80b5f733ce06..c54726d058d4 100644
--- a/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roomeqwizard";
-  version = "5.30.8";
+  version = "5.30.9";
 
   src = fetchurl {
     url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
-    sha256 = "sha256-ZHxMwbT2SoWEIuBJEuuVhU26V4NAbJKqx3lawedIwYo=";
+    sha256 = "sha256-gyitOq/HTDruP4nY6B7y1E+pL43yRhldyiiXEjKyogU=";
   };
 
   dontUnpack = true;
@@ -114,5 +114,6 @@ stdenv.mkDerivation rec {
       REW is free software for room acoustic measurement, loudspeaker
       measurement and audio device measurement.
     '';
+    mainProgram = "roomeqwizard";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
index 68e9fcd7e190..46f6237ce322 100644
--- a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
+++ b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ftrvxmtrx ];
+    mainProgram = "schismtracker";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/seq24/default.nix b/nixpkgs/pkgs/applications/audio/seq24/default.nix
index f586a1592f9c..f2858f8f291f 100644
--- a/nixpkgs/pkgs/applications/audio/seq24/default.nix
+++ b/nixpkgs/pkgs/applications/audio/seq24/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation  rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu ];
+    mainProgram = "seq24";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/sfxr/default.nix b/nixpkgs/pkgs/applications/audio/sfxr/default.nix
index 1a35fe8830f4..caef7fdd19a0 100644
--- a/nixpkgs/pkgs/applications/audio/sfxr/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sfxr/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , desktop-file-utils
 , SDL
@@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
     sha256 = "0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya";
   };
 
+  patches = [
+    # Fix segfault
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/sfxr/raw/223e58e68857c2018ced635e8209bb44f3616bf8/f/sfxr-sdl-gcc8x.patch";
+      hash = "sha256-etn4AutkNrhEDH9Ep8MhH9JSJEd7V/JXwjQua5uhAmg=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace Makefile --replace "usr/" ""
     substituteInPlace sdlkit.h --replace \
diff --git a/nixpkgs/pkgs/applications/audio/snd/default.nix b/nixpkgs/pkgs/applications/audio/snd/default.nix
index 777b452792cc..52ce5c9b78bc 100644
--- a/nixpkgs/pkgs/applications/audio/snd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/snd/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.free;
     maintainers = with maintainers; [ ];
+    mainProgram = "snd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/sndpeek/default.nix b/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
index 39f706d1f24c..c65208343aff 100644
--- a/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sndpeek/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     homepage = "https://soundlab.cs.princeton.edu/software/sndpeek/";
     license = licenses.gpl2;
     maintainers = [ maintainers.laikq ];
+    mainProgram = "sndpeek";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/songrec/default.nix b/nixpkgs/pkgs/applications/audio/songrec/default.nix
index 6eacb605a70e..5493418ba1a2 100644
--- a/nixpkgs/pkgs/applications/audio/songrec/default.nix
+++ b/nixpkgs/pkgs/applications/audio/songrec/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ tcbravo ];
+    mainProgram = "songrec";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/sonixd/default.nix b/nixpkgs/pkgs/applications/audio/sonixd/default.nix
index d13c398eabd8..87ceb7b25e0f 100644
--- a/nixpkgs/pkgs/applications/audio/sonixd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sonixd/default.nix
@@ -30,6 +30,7 @@ appimageTools.wrapType2 rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ onny ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "sonixd";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/audio/sonobus/default.nix b/nixpkgs/pkgs/applications/audio/sonobus/default.nix
index c99d3c4ca1e5..959c7a9d0623 100644
--- a/nixpkgs/pkgs/applications/audio/sonobus/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sonobus/default.nix
@@ -82,5 +82,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ PowerUser64 ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "sonobus";
   };
 })
diff --git a/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix b/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix
index b39f7272643f..24cae82f1b02 100644
--- a/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ stunkymonkey ];
     platforms = platforms.linux;
+    mainProgram = "SonyHeadphonesClient";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/soundux/default.nix b/nixpkgs/pkgs/applications/audio/soundux/default.nix
deleted file mode 100644
index ea9ea3322b55..000000000000
--- a/nixpkgs/pkgs/applications/audio/soundux/default.nix
+++ /dev/null
@@ -1,144 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, pkg-config
-, makeBinaryWrapper
-, pipewire
-, libpulseaudio
-, libappindicator
-, libstartup_notification
-, openssl
-, libwnck
-, pcre
-, util-linux
-, libselinux
-, libsepol
-, libthai
-, libdatrie
-, xorg
-, libxkbcommon
-, libepoxy
-, dbus
-, at-spi2-core
-, nlohmann_json
-, fancypp
-, httplib
-, semver-cpp
-, webkitgtk
-, yt-dlp
-, ffmpeg
-, lsb-release
-}:
-
-stdenv.mkDerivation rec {
-  pname = "soundux";
-  version = "0.2.7";
-
-  src = fetchFromGitHub {
-    owner = "Soundux";
-    repo = "Soundux";
-    rev = version;
-    sha256 = "sha256-aSCsg6nJt6F+6O7UeXnvYva0vllTfsxK/cjaeOhObZY=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-    makeBinaryWrapper
-  ];
-
-  buildInputs = [
-    pipewire
-    libpulseaudio
-    libappindicator
-    openssl
-    libwnck
-    pcre
-    util-linux
-    libselinux
-    libsepol
-    libthai
-    libdatrie
-    xorg.libXdmcp
-    xorg.libXtst
-    xorg.libXres
-    libxkbcommon
-    libepoxy
-    dbus
-    at-spi2-core
-    nlohmann_json
-    fancypp
-    httplib
-    semver-cpp
-    libstartup_notification
-    webkitgtk
-    yt-dlp
-    ffmpeg
-  ];
-
-  postPatch = ''
-    # cannot be overwritten with variables
-    substituteInPlace CMakeLists.txt \
-      --replace "set(CMAKE_INSTALL_PREFIX \"/opt/soundux\" CACHE PATH \"Install path prefix, prepended onto install directories.\" FORCE)" "" \
-      --replace "/usr/share" "$out/usr/share"
-    substituteInPlace src/ui/impl/webview/webview.cpp \
-      --replace "/usr/share/pixmaps/soundux.png" "$out/share/pixmaps/soundux.png"
-  '';
-
-  # We need to append /opt to our CMAKE_INSTALL_PREFIX
-  dontAddPrefix = true;
-
-  preConfigure = ''
-    # This needs to be set in preConfigure to access the $prefix variable
-    export cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix/opt $cmakeFlags"
-
-    # Replace some fetched submodules with symlinks nix packages.
-    rm -rf \
-      lib/json \
-      lib/fancypp \
-      lib/lib-httplib \
-      lib/semver
-
-    ln -s ${nlohmann_json} lib/json
-    ln -s ${fancypp} lib/fancypp
-    ln -s ${httplib} lib/lib-httplib
-    ln -s ${semver-cpp} lib/semver
-  '';
-
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
-
-  # Somehow some of the install destination paths in the build system still
-  # gets transformed to point to /var/empty/share, even though they are at least
-  # relative to the nix output directory with our earlier patching.
-  postInstall = ''
-    mv "$out/var/empty/share" "$out"
-    rm -rf "$out/var"
-    mkdir "$out/bin"
-    ln -s "$out/opt/soundux" "$out/bin"
-    substituteInPlace "$out/share/applications/soundux.desktop" \
-      --replace "/opt/soundux/soundux" "soundux"
-  '';
-
-  postFixup = let
-    rpaths = lib.makeLibraryPath [libwnck pipewire libpulseaudio];
-  in ''
-    # Wnck, PipeWire, and PulseAudio are dlopen-ed by Soundux, so they do
-    # not end up on the RPATH during the build process.
-    patchelf --add-rpath "${rpaths}" "$out/opt/soundux-${version}"
-
-    # Work around upstream bug https://github.com/Soundux/Soundux/issues/435
-    wrapProgram "$out/bin/soundux" \
-      --set WEBKIT_DISABLE_COMPOSITING_MODE 1 \
-      --prefix PATH : ${lib.makeBinPath [ yt-dlp ffmpeg lsb-release ]} \
-  '';
-
-  meta = with lib; {
-    description = "A cross-platform soundboard.";
-    homepage = "https://soundux.rocks/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ aidalgol ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/audio/spectrojack/default.nix b/nixpkgs/pkgs/applications/audio/spectrojack/default.nix
index 12bb972398e2..54cb7101e6e8 100644
--- a/nixpkgs/pkgs/applications/audio/spectrojack/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spectrojack/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.publicDomain;
     maintainers = with lib.maintainers; [ sleexyz ];
     platforms = with lib.platforms; linux;
+    mainProgram = "spectrojack";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
index d0a77ab06497..0e41bedb2650 100644
--- a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix
@@ -44,5 +44,6 @@ rustPackages.rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
     platforms = platforms.unix;
+    mainProgram = "spotifyd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/sptlrx/default.nix b/nixpkgs/pkgs/applications/audio/sptlrx/default.nix
index 6743407fa3ed..b385898202c2 100644
--- a/nixpkgs/pkgs/applications/audio/sptlrx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/sptlrx/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     changelog = "https://github.com/raitonoberu/sptlrx/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
+    mainProgram = "sptlrx";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/squishyball/default.nix b/nixpkgs/pkgs/applications/audio/squishyball/default.nix
index 1d3bb0e0beeb..af8eb9b37314 100644
--- a/nixpkgs/pkgs/applications/audio/squishyball/default.nix
+++ b/nixpkgs/pkgs/applications/audio/squishyball/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ michalrus ];
     platforms = platforms.linux;
+    mainProgram = "squishyball";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/streamripper/default.nix b/nixpkgs/pkgs/applications/audio/streamripper/default.nix
index 70ff4dd8605a..6874d2f42059 100644
--- a/nixpkgs/pkgs/applications/audio/streamripper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/streamripper/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://streamripper.sourceforge.net/";
     description = "Application that lets you record streaming mp3 to your hard drive";
     license = licenses.gpl2;
+    mainProgram = "streamripper";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/subtitlr/default.nix b/nixpkgs/pkgs/applications/audio/subtitlr/default.nix
index a62cd3053f7c..67847f3b91b0 100644
--- a/nixpkgs/pkgs/applications/audio/subtitlr/default.nix
+++ b/nixpkgs/pkgs/applications/audio/subtitlr/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/yoanbernabeu/Subtitlr/";
     license = licenses.mit;
     maintainers = with maintainers; [ qjoly ];
+    mainProgram = "Subtitlr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/svox/default.nix b/nixpkgs/pkgs/applications/audio/svox/default.nix
index 044fd176481f..acd1de1a20c9 100644
--- a/nixpkgs/pkgs/applications/audio/svox/default.nix
+++ b/nixpkgs/pkgs/applications/audio/svox/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     license = licenses.asl20;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "pico2wave";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/synaesthesia/default.nix b/nixpkgs/pkgs/applications/audio/synaesthesia/default.nix
index efdd6f7e73a7..765e724cd8ec 100644
--- a/nixpkgs/pkgs/applications/audio/synaesthesia/default.nix
+++ b/nixpkgs/pkgs/applications/audio/synaesthesia/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Only;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.infinisil ];
+    mainProgram = "synaesthesia";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tagutil/default.nix b/nixpkgs/pkgs/applications/audio/tagutil/default.nix
index 9cd9946be60d..51aaf75cddbc 100644
--- a/nixpkgs/pkgs/applications/audio/tagutil/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tagutil/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = platforms.linux;
+    mainProgram = "tagutil";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix b/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
index 98bb8a562885..bb3986dd88aa 100644
--- a/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tidal-hifi/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tidal-hifi";
-  version = "5.8.0";
+  version = "5.9.0";
 
   src = fetchurl {
     url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${finalAttrs.version}/tidal-hifi_${finalAttrs.version}_amd64.deb";
-    sha256 = "sha256-g3CDoFeXGLj/bG0WP8fCF/uphqEHfKA/wmfQfjk52aM=";
+    sha256 = "sha256-t79GNCqY99JfCT+4wO3CTtLXFdKQudMw4pZNiJzOufo=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/audio/timemachine/default.nix b/nixpkgs/pkgs/applications/audio/timemachine/default.nix
index 042e6b430756..c09a9b1bc007 100644
--- a/nixpkgs/pkgs/applications/audio/timemachine/default.nix
+++ b/nixpkgs/pkgs/applications/audio/timemachine/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl2;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.nico202 ];
+    mainProgram = "timemachine";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/audio/tone/default.nix b/nixpkgs/pkgs/applications/audio/tone/default.nix
index 06529a4b02e4..dc10439ab0fc 100644
--- a/nixpkgs/pkgs/applications/audio/tone/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tone/default.nix
@@ -28,5 +28,6 @@ buildDotnetModule rec {
     license = licenses.asl20;
     maintainers = [ maintainers.jvanbruegge ];
     platforms = platforms.linux;
+    mainProgram = "tone";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix
index e875b8085534..260ebd40872e 100644
--- a/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 orivej ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-GFX";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix
index 3376ae8ca10f..289f8b92a189 100644
--- a/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Jam";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-metal/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-metal/default.nix
index df6890d65da3..aee3c383ae68 100644
--- a/nixpkgs/pkgs/applications/audio/tonelib-metal/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tonelib-metal/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Metal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-noisereducer/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-noisereducer/default.nix
index 20dbe8c19dff..f2f01b9326bc 100644
--- a/nixpkgs/pkgs/applications/audio/tonelib-noisereducer/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tonelib-noisereducer/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ orivej ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-NoiseReducer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix
index 74fe8645acf3..e5adc356b697 100644
--- a/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ dan4ik605743 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ToneLib-Zoom";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/transcribe/default.nix b/nixpkgs/pkgs/applications/audio/transcribe/default.nix
index 2831dd1f4baf..0d311adf8799 100644
--- a/nixpkgs/pkgs/applications/audio/transcribe/default.nix
+++ b/nixpkgs/pkgs/applications/audio/transcribe/default.nix
@@ -110,5 +110,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ iwanb ];
     platforms = platforms.linux;
+    mainProgram = "transcribe";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/tree-from-tags/default.nix b/nixpkgs/pkgs/applications/audio/tree-from-tags/default.nix
index 4bf4db09ac07..9b81cc250c1b 100644
--- a/nixpkgs/pkgs/applications/audio/tree-from-tags/default.nix
+++ b/nixpkgs/pkgs/applications/audio/tree-from-tags/default.nix
@@ -34,5 +34,6 @@ EOF
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.livnev maintainers.dbrock ];
     license = licenses.gpl2Plus;
+    mainProgram = "tree-from-tags";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/vimpc/default.nix b/nixpkgs/pkgs/applications/audio/vimpc/default.nix
index 7e834efb9524..713f444ef1ea 100644
--- a/nixpkgs/pkgs/applications/audio/vimpc/default.nix
+++ b/nixpkgs/pkgs/applications/audio/vimpc/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
+    mainProgram = "vimpc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/wavegain/default.nix b/nixpkgs/pkgs/applications/audio/wavegain/default.nix
index 4372944080ec..93dd7bf6fb23 100644
--- a/nixpkgs/pkgs/applications/audio/wavegain/default.nix
+++ b/nixpkgs/pkgs/applications/audio/wavegain/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = lib.licenses.lgpl21;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.robbinch ];
+    mainProgram = "wavegain";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/waylyrics/Cargo.lock b/nixpkgs/pkgs/applications/audio/waylyrics/Cargo.lock
new file mode 100644
index 000000000000..57d6ffa347c5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/waylyrics/Cargo.lock
@@ -0,0 +1,2946 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "async-channel"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base-x"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "borsh"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e"
+dependencies = [
+ "borsh-derive",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate 2.0.0",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "syn_derive",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytecheck"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+dependencies = [
+ "bytecheck_derive",
+ "ptr_meta",
+ "simdutf8",
+]
+
+[[package]]
+name = "bytecheck_derive"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cairo-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
+dependencies = [
+ "bitflags 2.4.0",
+ "cairo-sys-rs",
+ "glib",
+ "libc",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "const_fn"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
+
+[[package]]
+name = "cookie"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc6e25dfc584d06a3dbf775d207ff00d7de98d824c952dd2233dfbb261889a42"
+dependencies = [
+ "time 0.2.27",
+ "version_check",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "percent-encoding",
+ "time 0.3.29",
+ "version_check",
+]
+
+[[package]]
+name = "cookie_store"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+dependencies = [
+ "cookie 0.16.2",
+ "idna 0.2.3",
+ "log",
+ "publicsuffix",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "time 0.3.29",
+ "url",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote 1.0.35",
+ "strsim",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "dbus"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
+dependencies = [
+ "libc",
+ "libdbus-sys",
+ "winapi",
+]
+
+[[package]]
+name = "dbus-dummy"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22d24c4c449e488b022f58a19817ffcedc637d67237076068da883e0fc8f7159"
+
+[[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "derive_is_enum_variant"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0ac8859845146979953797f03cc5b282fb4396891807cdb3d04929a88418197"
+dependencies = [
+ "heck 0.3.3",
+ "quote 0.3.15",
+ "syn 0.11.11",
+]
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "enum-kinds"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e40a16955681d469ab3da85aaa6b42ff656b3c67b52e1d8d3dd36afe97fd462"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "field-offset"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
+dependencies = [
+ "memoffset",
+ "rustc_version 0.4.0",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "from_variants"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e859c8f2057687618905dbe99fc76e836e0a69738865ef90e46fc214a41bbf2"
+dependencies = [
+ "from_variants_impl",
+]
+
+[[package]]
+name = "from_variants_impl"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55a5e644a80e6d96b2b4910fa7993301d7b7926c045b475b62202b20a36ce69e"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+
+[[package]]
+name = "futures-task"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+[[package]]
+name = "futures-util"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+dependencies = [
+ "futures-core",
+ "futures-macro",
+ "futures-task",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "gdk-pixbuf"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
+dependencies = [
+ "gdk-pixbuf-sys",
+ "gio",
+ "glib",
+ "libc",
+]
+
+[[package]]
+name = "gdk-pixbuf-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
+dependencies = [
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gdk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
+dependencies = [
+ "cairo-rs",
+ "gdk-pixbuf",
+ "gdk4-sys",
+ "gio",
+ "glib",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gdk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "pango-sys",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
+name = "gio"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "gio-sys",
+ "glib",
+ "libc",
+ "pin-project-lite",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gio-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "glib"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
+dependencies = [
+ "bitflags 2.4.0",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "memchr",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro-crate 3.1.0",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "glib-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
+dependencies = [
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gobject-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "graphene-rs"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
+dependencies = [
+ "glib",
+ "graphene-sys",
+ "libc",
+]
+
+[[package]]
+name = "graphene-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "pkg-config",
+ "system-deps",
+]
+
+[[package]]
+name = "gsk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
+dependencies = [
+ "cairo-rs",
+ "gdk4",
+ "glib",
+ "graphene-rs",
+ "gsk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gsk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk4-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "gtk4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
+dependencies = [
+ "cairo-rs",
+ "field-offset",
+ "futures-channel",
+ "gdk-pixbuf",
+ "gdk4",
+ "gio",
+ "glib",
+ "graphene-rs",
+ "gsk4",
+ "gtk4-macros",
+ "gtk4-sys",
+ "libc",
+ "pango",
+]
+
+[[package]]
+name = "gtk4-macros"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
+dependencies = [
+ "anyhow",
+ "proc-macro-crate 3.1.0",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "gtk4-sys"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
+dependencies = [
+ "cairo-sys-rs",
+ "gdk-pixbuf-sys",
+ "gdk4-sys",
+ "gio-sys",
+ "glib-sys",
+ "gobject-sys",
+ "graphene-sys",
+ "gsk4-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "http"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.4.9",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.1",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+
+[[package]]
+name = "itoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[package]]
+name = "js-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[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.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libdbus-sys"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
+dependencies = [
+ "cc",
+ "pkg-config",
+]
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+
+[[package]]
+name = "lock_api"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "lrc-nom"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7b624e31b9613023e400fb5dd998facc31b593e90c8115d67d561d9bd6a671"
+dependencies = [
+ "nom",
+ "rust_decimal",
+ "rust_decimal_macros",
+ "thiserror",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "md5"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "memory-cache-rs"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a4098b4f50a8fe57ad06b9a125812c9b1e04b3f226f29642b7219e75ba33b1d"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "mimalloc"
+version = "0.1.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "mpris"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55cef955a7826b1e00e901a3652e7a895abd221fb4ab61547e7d0e4c235d7feb"
+dependencies = [
+ "dbus",
+ "derive_is_enum_variant",
+ "enum-kinds",
+ "from_variants",
+ "thiserror",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "ncmapi"
+version = "0.1.13"
+source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=394e9c2#394e9c2e3b9669728018c3b1348c08a056361b81"
+dependencies = [
+ "base64 0.13.1",
+ "cookie 0.15.2",
+ "hex",
+ "memory-cache-rs",
+ "openssl",
+ "phf",
+ "rand",
+ "regex",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openssl"
+version = "0.10.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800"
+dependencies = [
+ "bitflags 2.4.0",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-src"
+version = "300.2.2+3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bbfad0063610ac26ee79f7484739e2b07555a75c42453b89263830b5c8103bc"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.96"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "pango"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
+dependencies = [
+ "gio",
+ "glib",
+ "libc",
+ "pango-sys",
+]
+
+[[package]]
+name = "pango-sys"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "phf"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37"
+dependencies = [
+ "phf_macros",
+ "phf_shared",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d43f3220d96e0080cc9ea234978ccd80d904eafb17be31bb0f76daaea6493082"
+dependencies = [
+ "phf_shared",
+ "rand",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86"
+dependencies = [
+ "phf_generator",
+ "phf_shared",
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+dependencies = [
+ "toml_edit 0.20.2",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
+]
+
+[[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 1.0.35",
+ "syn 1.0.109",
+ "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 1.0.35",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.20+deprecated"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.76"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "psl-types"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+[[package]]
+name = "ptr_meta"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "publicsuffix"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+dependencies = [
+ "idna 0.3.0",
+ "psl-types",
+]
+
+[[package]]
+name = "qqmusic-rs"
+version = "0.1.0"
+source = "git+https://github.com/waylyrics/qqmusic-rs.git?rev=22e66ba#22e66ba62e63d97c6dffb45400655404e6f06b93"
+dependencies = [
+ "serde",
+ "serde_json",
+ "url",
+]
+
+[[package]]
+name = "quote"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rend"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+dependencies = [
+ "base64 0.21.4",
+ "bytes",
+ "cookie 0.16.2",
+ "cookie_store",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "system-configuration",
+ "tokio",
+ "tokio-native-tls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "rkyv"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
+dependencies = [
+ "bitvec",
+ "bytecheck",
+ "hashbrown 0.12.3",
+ "ptr_meta",
+ "rend",
+ "rkyv_derive",
+ "seahash",
+ "tinyvec",
+ "uuid",
+]
+
+[[package]]
+name = "rkyv_derive"
+version = "0.7.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "rust_decimal"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7de2711cae7bdec993f4d2319352599ceb0d003e9f7900ea7c6ef4c5fc16831"
+dependencies = [
+ "arrayvec",
+ "borsh",
+ "bytes",
+ "num-traits",
+ "rand",
+ "rkyv",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "rust_decimal_macros"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69deb21b04afa2c06038f75bbbb5670a320e62ee005d91a00cf13fbf20161886"
+dependencies = [
+ "quote 1.0.35",
+ "rust_decimal",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver 0.9.0",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver 1.0.20",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
+dependencies = [
+ "bitflags 2.4.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "schannel"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "semver"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
+dependencies = [
+ "sha1_smol",
+]
+
+[[package]]
+name = "sha1_smol"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "socket2"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "standback"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version 0.2.3",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "serde",
+ "serde_derive",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote 1.0.35",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "0.11.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
+dependencies = [
+ "quote 0.3.15",
+ "synom",
+ "unicode-xid",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn_derive"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "synom"
+version = "0.11.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "system-deps"
+version = "6.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6"
+dependencies = [
+ "cfg-expr",
+ "heck 0.4.1",
+ "pkg-config",
+ "toml",
+ "version-compare",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "tempfile"
+version = "3.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.2.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros 0.1.1",
+ "version_check",
+ "winapi",
+]
+
+[[package]]
+name = "time"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+dependencies = [
+ "deranged",
+ "itoa",
+ "serde",
+ "time-core",
+ "time-macros 0.2.15",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote 1.0.35",
+ "standback",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.35.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.5",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.20.2",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-journald"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba316a74e8fc3c3896a850dba2375928a9fa171b085ecddfc7c054d39970f3fd"
+dependencies = [
+ "libc",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-xid"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.5.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+dependencies = [
+ "quote 1.0.35",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+dependencies = [
+ "proc-macro2",
+ "quote 1.0.35",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+
+[[package]]
+name = "waylyrics"
+version = "0.2.4"
+dependencies = [
+ "anyhow",
+ "async-channel",
+ "async-trait",
+ "dbus",
+ "dbus-dummy",
+ "derivative",
+ "glib-macros",
+ "gtk4",
+ "libc",
+ "lrc-nom",
+ "md5",
+ "mimalloc",
+ "mpris",
+ "ncmapi",
+ "once_cell",
+ "openssl",
+ "qqmusic-rs",
+ "regex",
+ "reqwest",
+ "rust_decimal",
+ "rust_decimal_macros",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "toml",
+ "tracing",
+ "tracing-journald",
+ "tracing-subscriber",
+ "url",
+ "xdg",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.5.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xdg"
+version = "2.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
diff --git a/nixpkgs/pkgs/applications/audio/waylyrics/default.nix b/nixpkgs/pkgs/applications/audio/waylyrics/default.nix
index bd55b9c76214..6cacebede392 100644
--- a/nixpkgs/pkgs/applications/audio/waylyrics/default.nix
+++ b/nixpkgs/pkgs/applications/audio/waylyrics/default.nix
@@ -1,59 +1,61 @@
-{ lib, fetchFromGitHub, rustPlatform, gtk4, pkg-config, openssl, dbus, wrapGAppsHook4, glib, makeDesktopItem, copyDesktopItems }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook4
+, openssl
+, dbus
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "waylyrics";
-  version = "unstable-2023-05-14";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "poly000";
-    repo = pname;
-    rev = "7e8bd99e1748a5448c1a5c49f0664bd96fbf965e";
-    hash = "sha256-vSYtLsLvRHCCHxomPSHifXFZKjkFrlskNp7IlFflrUU=";
+    repo = "waylyrics";
+    rev = "v${version}";
+    hash = "sha256-Tpsk1KL+QSiv8aWl8N5hextKnhMulI3YWtQvB6IIdmQ=";
   };
 
-  cargoHash = "sha256-dpJa0T6xapCBPM5fWbSDEhBlZ55c3Sr5oTnu58B/voM=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "ncmapi-0.1.13" = "sha256-wh9RsyuS1L7rnz1jh2A27s6wUvyH8cNgUywPORIimmg=";
+      "qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
+    };
+  };
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook4 copyDesktopItems ];
-  buildInputs = [ gtk4 openssl dbus glib ];
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
 
-  RUSTC_BOOTSTRAP = 1;
+  nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
+  buildInputs = [ openssl dbus ];
 
-  doCheck = false; # No tests defined in the project.
+  doCheck = false; # Requires network access
 
-  WAYLYRICS_DEFAULT_CONFIG = "${placeholder "out"}/share/waylyrics/config.toml";
   WAYLYRICS_THEME_PRESETS_DIR = "${placeholder "out"}/share/waylyrics/themes";
 
-  desktopItems = [
-    (makeDesktopItem {
-      name = "io.poly000.waylyrics";
-      exec = "waylyrics";
-      comment = "Simple on screen lyrics for MPRIS-friendly players";
-      type = "Application";
-      icon = "io.poly000.waylyrics";
-      desktopName = "Waylyrics";
-      terminal = false;
-      categories = [ "Audio" "AudioVideo" ];
-    })
-  ];
-
   postInstall = ''
-    $out/bin/gen_config_example
-    mkdir -p $out/share/waylyrics
-    install -Dm644 config.toml $WAYLYRICS_DEFAULT_CONFIG
-    cp -vr themes $out/share/waylyrics/
-    rm $out/bin/gen_config_example # Unnecessary for end users
+    # Install themes
+    install -d $WAYLYRICS_THEME_PRESETS_DIR
+    cp -vr themes/* $WAYLYRICS_THEME_PRESETS_DIR
+    # Install desktop entry
+    install -Dm644 io.poly000.waylyrics.desktop -t $out/share/applications
     # Install schema
     install -Dm644 io.poly000.waylyrics.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas
     glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
     # Install icons
-    cp -vr res/icons $out/share/
+    install -d $out/share/icons
+    cp -vr res/icons/hicolor $out/share/icons/hicolor
   '';
 
   meta = with lib; {
-    description = "On screen lyrics for Wayland with NetEase Music source";
+    description = "Desktop lyrics with QQ and NetEase Music source";
     homepage = "https://github.com/poly000/waylyrics";
-    license = licenses.mit;
-    maintainers = [ maintainers.shadowrz ];
+    license = with licenses; [ mit cc-by-40 ];
+    maintainers = with maintainers; [ shadowrz aleksana ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/wolf-shaper/default.nix b/nixpkgs/pkgs/applications/audio/wolf-shaper/default.nix
index 60b1aea19df2..a3c08e92b723 100644
--- a/nixpkgs/pkgs/applications/audio/wolf-shaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/wolf-shaper/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.magnetophon ];
     platforms = [ "i686-linux" "x86_64-linux" ];
+    mainProgram = "wolf-shaper";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix b/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix
index be1b25ceb14a..16e1a24343c5 100644
--- a/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix
+++ b/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "x42-avldrums";
-  version = "0.4.2";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = "avldrums.lv2";
     rev = "v${version}";
-    sha256 = "sha256-L9rLSHHQIM6PqZ397TIxR6O1N9GKAQtDfWCofV5R85E=";
+    hash = "sha256-NNqBZTWjIM97qsXTW/+6T7eOAELi/OwXh4mCYPD/C6I=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/audio/x42-gmsynth/default.nix b/nixpkgs/pkgs/applications/audio/x42-gmsynth/default.nix
index 90db8754ca2f..8f83263d0a00 100644
--- a/nixpkgs/pkgs/applications/audio/x42-gmsynth/default.nix
+++ b/nixpkgs/pkgs/applications/audio/x42-gmsynth/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "x42-gmsynth";
-  version = "0.4.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = "gmsynth.lv2";
     rev = "v${version}";
-    sha256 = "08dvdj8r17sfl6l18g2b8abgls2irkbrq5vhrfai01hp2m0rlm34";
+    hash = "sha256-onZoaQVAGH/1d7jBRlN3ucx/3mTGUCxjvvt19GyprsY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/audio/xmp/default.nix b/nixpkgs/pkgs/applications/audio/xmp/default.nix
index 325aa21984ed..efd5fb9caa60 100644
--- a/nixpkgs/pkgs/applications/audio/xmp/default.nix
+++ b/nixpkgs/pkgs/applications/audio/xmp/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://xmp.sourceforge.net/";
     license     = licenses.gpl2Plus;
     platforms   = platforms.unix;
+    mainProgram = "xmp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/xtuner/default.nix b/nixpkgs/pkgs/applications/audio/xtuner/default.nix
index 1fdb97f6dad4..2db4256ee87f 100644
--- a/nixpkgs/pkgs/applications/audio/xtuner/default.nix
+++ b/nixpkgs/pkgs/applications/audio/xtuner/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "xtuner";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/yasr/default.nix b/nixpkgs/pkgs/applications/audio/yasr/default.nix
index d300737ae6d8..b90b7272b1ab 100644
--- a/nixpkgs/pkgs/applications/audio/yasr/default.nix
+++ b/nixpkgs/pkgs/applications/audio/yasr/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jhhuh ];
+    mainProgram = "yasr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/ympd/default.nix b/nixpkgs/pkgs/applications/audio/ympd/default.nix
index 83ce36a59581..9921bb6dfada 100644
--- a/nixpkgs/pkgs/applications/audio/ympd/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ympd/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.siddharthist ];
     platforms = platforms.unix;
     license = licenses.gpl2Plus;
+    mainProgram = "ympd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix b/nixpkgs/pkgs/applications/audio/yoshimi/default.nix
index 9509f71a78bf..2fdc579a3d82 100644
--- a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix
+++ b/nixpkgs/pkgs/applications/audio/yoshimi/default.nix
@@ -71,5 +71,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "yoshimi";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
index fc135c199bd1..cfb97b549a06 100644
--- a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
+++ b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
       aarch64-linux = "sha256-6nXemaGiQjp2stjjKItPJ62VcH5Q5pRf63qKtl2haXI=";
       x86_64-darwin = "sha256-jSMAw+AMD63vqPckZjblw4EDngA4E8h0WlsZu3hUShY=";
       aarch64-darwin = "sha256-zujXURpIcw7IOw63AW167h6cywYXydhHZMzA2apGZAs=";
-    }.${stdenv.system} or (throw "Unsupported platform");
+    }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   };
 
   nativeBuildInputs =
diff --git a/nixpkgs/pkgs/applications/audio/zita-at1/default.nix b/nixpkgs/pkgs/applications/audio/zita-at1/default.nix
index 8a629e145c40..4e9544e39602 100644
--- a/nixpkgs/pkgs/applications/audio/zita-at1/default.nix
+++ b/nixpkgs/pkgs/applications/audio/zita-at1/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "zita-at1";
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/zrythm/default.nix b/nixpkgs/pkgs/applications/audio/zrythm/default.nix
index 4817f63adf73..254e0e5b746d 100644
--- a/nixpkgs/pkgs/applications/audio/zrythm/default.nix
+++ b/nixpkgs/pkgs/applications/audio/zrythm/default.nix
@@ -2,6 +2,7 @@
 , lib
 , fetchFromGitHub
 , fetchFromSourcehut
+, fetchpatch
 , SDL2
 , alsa-lib
 , appstream
@@ -170,6 +171,15 @@ stdenv.mkDerivation rec {
     zstd
   ];
 
+  patches = [
+    # Fix gcc-13 build failure
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://gitlab.zrythm.org/zrythm/zrythm/-/commit/cbc2b3715b939718479631841f2d9703fb28e6da.diff";
+      hash = "sha256-2ZTSaCtSO3yynJVFe5B1AEjWhjRa5YyA26ergAfdL5Y=";
+    })
+  ];
+
   # Zrythm uses meson to build, but requires cmake for dependency detection.
   dontUseCmakeConfigure = true;
 
diff --git a/nixpkgs/pkgs/applications/backup/urbackup-client/default.nix b/nixpkgs/pkgs/applications/backup/urbackup-client/default.nix
index aa63a80c480d..ed5f59e2c41c 100644
--- a/nixpkgs/pkgs/applications/backup/urbackup-client/default.nix
+++ b/nixpkgs/pkgs/applications/backup/urbackup-client/default.nix
@@ -15,6 +15,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-n0/NVClZz6ANgEdPCtdZxsEvllIl32vwDjC2nq5R8Z4=";
   };
 
+  postPatch = ''
+    find | fgrep crc.cpp
+    # Fix gcc-13 build failures due to missing includes
+    sed -e '1i #include <cstdint>' -i \
+      blockalign_src/crc.cpp
+  '';
+
   buildInputs = [
     wxGTK32
     zlib
@@ -25,6 +32,8 @@ stdenv.mkDerivation rec {
     "--enable-embedded-cryptopp"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "An easy to setup Open Source client/server backup system";
     longDescription = "An easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time";
diff --git a/nixpkgs/pkgs/applications/blockchains/aeon/default.nix b/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
index 7928a63b8264..3939dbce3157 100644
--- a/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/aeon/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation {
   hardeningDisable = [ "fortify" ];
 
   meta = with lib; {
+    # Does not build against gcc-13. No development activity upstream
+    # for past few years.
+    broken = true;
     description = "Private, secure, untraceable currency";
     homepage = "http://www.aeon.cash/";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 310c67d41530..d25a582f6554 100644
--- a/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -15,6 +15,7 @@
 , protobuf
 , qrencode
 , libevent
+, libnatpmp
 , sqlite
 , withGui
 , python3
@@ -24,13 +25,13 @@
 
 mkDerivation rec {
   pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
-  version = "0.26.2";
+  version = "0.28.9";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "0gz4713lk3alk3ykwq1bdqjywadrfrnb7n2878136g01n87j00az";
+    hash = "sha256-VK9/qL3rFdU7O62FwEdr3WD4VWli8KGZH9hcbTaVHGQ=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
@@ -41,6 +42,7 @@ mkDerivation rec {
     zlib
     python3
     jemalloc
+    libnatpmp
     zeromq4
     miniupnpc
     util-linux
diff --git a/nixpkgs/pkgs/applications/blockchains/clboss/default.nix b/nixpkgs/pkgs/applications/blockchains/clboss/default.nix
index c016e0f37e38..0cad0ed2ae54 100644
--- a/nixpkgs/pkgs/applications/blockchains/clboss/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/clboss/default.nix
@@ -1,6 +1,8 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitHub
+, autoconf-archive
+, autoreconfHook
 , pkg-config
 , curlWithGnuTls
 , libev
@@ -9,14 +11,16 @@
 
 stdenv.mkDerivation rec {
   pname = "clboss";
-  version = "0.12";
+  version = "0.13";
 
-  src = fetchurl {
-    url = "https://github.com/ZmnSCPxj/clboss/releases/download/${version}/clboss-${version}.tar.gz";
-    hash = "sha256-UZcSfbpp3vPsD3CDukp+r5Z60h0UEWTduqF4DhJ+H2U=";
+  src = fetchFromGitHub {
+    owner = "ZmnSCPxj";
+    repo = "clboss";
+    rev = "v${version}";
+    hash = "sha256-NP9blymdqDXo/OtGLQg/MXK24PpPvCrzqXRdtfCvpfI=";
   };
 
-  nativeBuildInputs = [ pkg-config libev curlWithGnuTls sqlite ];
+  nativeBuildInputs = [ autoconf-archive autoreconfHook pkg-config libev curlWithGnuTls sqlite ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix b/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
index 85436f6023a6..c8e3140eb5de 100644
--- a/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/litecoin/default.nix
@@ -26,6 +26,14 @@ mkDerivation rec {
       url = "https://aur.archlinux.org/cgit/aur.git/plain/boost1770.patch?h=litecoin-qt&id=dc75ad854af123f375b5b683be64aa14573170d7";
       hash = "sha256-PTkYQRA8n5a9yR2AvpzH5natsXT2W6Xjo0ONCPJx78k=";
     })
+
+    # Fix gcc-13 build by adding missing headers:
+    #   https://github.com/litecoin-project/litecoin/pull/929
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/litecoin-project/litecoin/commit/6d1adb19aa79a8e8e140582759515bbd76816aa0.patch";
+      hash = "sha256-1y4Iz2plMw5HMAjl9x50QQpYrYaUd2WKrrAcUnQmlBY=";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix b/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
index aa5222a50e7e..0dc6db9e5d7f 100644
--- a/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
+{ lib, stdenv, fetchFromGitHub
+, fetchpatch
+, cmake, pkg-config, wrapQtAppsHook, boost, libGL
 , qtbase, python3 }:
 
 stdenv.mkDerivation rec {
@@ -14,6 +16,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-YvYEXHC8kxviZLQwINs+pS61wITSfqfrrPmlR+zNRoE=";
   };
 
+  patches = [
+    # Fix gcc-13 build failure due to missing <cstdint> includes.
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/facebook/rocksdb/commit/88edfbfb5e1cac228f7cc31fbec24bb637fe54b1.patch";
+      stripLen = 1;
+      extraPrefix = "submodules/rocksdb/";
+      hash = "sha256-HhlIYyPzIZFuyzHTUPz3bXgXiaFSQ8pVrLLMzegjTgE=";
+    })
+  ];
+
   cmakeFlags = let
     options = {
       PYTHON_EXECUTABLE = "${python3.interpreter}";
diff --git a/nixpkgs/pkgs/applications/blockchains/optimism/default.nix b/nixpkgs/pkgs/applications/blockchains/optimism/default.nix
index 40f5c0ceb2e7..d95565d919de 100644
--- a/nixpkgs/pkgs/applications/blockchains/optimism/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/optimism/default.nix
@@ -6,19 +6,19 @@
 
 buildGoModule rec {
   pname = "optimism";
-  version = "1.5.1";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "ethereum-optimism";
     repo = "optimism";
     rev = "op-node/v${version}";
-    hash = "sha256-oVrm1mK2yw5IF7WZCwDQ1U/JdYvUPKJY/kzRSp6Pzwo=";
+    hash = "sha256-ic5OHGxU/crq6IqqUnzAC+99KpCXUKFagnAKD4FtYBI=";
     fetchSubmodules = true;
   };
 
   subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
 
-  vendorHash = "sha256-QDpCGfykTUIgPQxHH8qIfmOsQrcQfZ3/vwjsuvUo1Fo=";
+  vendorHash = "sha256-zuATJ5FBdil9bHgkMf32WuTW6/99GIsGCzI5srP21m8=";
 
   buildInputs = [
     libpcap
diff --git a/nixpkgs/pkgs/applications/display-managers/emptty/default.nix b/nixpkgs/pkgs/applications/display-managers/emptty/default.nix
index 37ef4ce8460a..6e9ed91dec21 100644
--- a/nixpkgs/pkgs/applications/display-managers/emptty/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/emptty/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ urandom ];
     # many undefined functions
     broken = stdenv.isDarwin;
+    mainProgram = "emptty";
   };
 }
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix b/nixpkgs/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
index b0d8ed515261..87a6560f6f64 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm-mobile-greeter/default.nix
@@ -54,5 +54,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ colinsane ];
     platforms = platforms.linux;
     license = licenses.mit;
+    mainProgram = "lightdm-mobile-greeter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/display-managers/ly/default.nix b/nixpkgs/pkgs/applications/display-managers/ly/default.nix
index 8b387b36205b..9376dc476dec 100644
--- a/nixpkgs/pkgs/applications/display-managers/ly/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/ly/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/fairyglade/ly";
     maintainers = [ maintainers.vidister ];
     platforms = platforms.linux;
+    mainProgram = "ly";
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/android-studio/default.nix b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
index a41817405ca0..c2ad3a774053 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
@@ -14,12 +14,12 @@ let
     sha256Hash = "sha256-E50Nu0kJNTto+/VcCbbTGjRRIESp1PAs4PGprMyhKPk=";
   };
   betaVersion = {
-    version = "2023.2.1.21"; # "Android Studio Iguana | 2023.2.1 RC 1"
-    sha256Hash = "sha256-TgBrgwsjJKBi4DfTMbcgmtoYfzQ3KGwn1zdEfKO9Q8k=";
+    version = "2023.2.1.22"; # "Android Studio Iguana | 2023.2.1 RC 2"
+    sha256Hash = "sha256-sy4Cfg+d4DuIUCrP4/Fp6mnsn5bWSy6PQ42kw3NpH/o=";
   };
   latestVersion = {
-    version = "2023.3.1.8"; # "Android Studio Jellyfish | 2023.3.1 Canary 8"
-    sha256Hash = "sha256-wNduJ8AjLG+2gumFtLXYnzYiGN0sxL8WR2izWB87uMM=";
+    version = "2023.3.1.9"; # "Android Studio Jellyfish | 2023.3.1 Canary 9"
+    sha256Hash = "sha256-xn84sodpYcJgILwGBixuwhug9hZupqfizG98KYLSHsw=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/nixpkgs/pkgs/applications/editors/cpeditor/default.nix b/nixpkgs/pkgs/applications/editors/cpeditor/default.nix
index c7d56cf50abe..773ef1af035e 100644
--- a/nixpkgs/pkgs/applications/editors/cpeditor/default.nix
+++ b/nixpkgs/pkgs/applications/editors/cpeditor/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpeditor";
-  version = "6.11.1";
+  version = "6.11.2";
 
   src = fetchFromGitHub {
     owner = "cpeditor";
     repo = "cpeditor";
     rev = version;
-    sha256 = "sha256-Uwo7ZE+9yrHV/+D6rvfew2d3ZJbpFOjgek38iYkPppw=";
+    sha256 = "sha256-zotbXzRjIwZdYluJiz6GWUIOXl/wz1TWt+dcTwMhURo=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/editors/gedit/default.nix b/nixpkgs/pkgs/applications/editors/gedit/default.nix
index 7e4b4040737e..d7e5ac0ba1eb 100644
--- a/nixpkgs/pkgs/applications/editors/gedit/default.nix
+++ b/nixpkgs/pkgs/applications/editors/gedit/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "46.1";
+  version = "46.2";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/gedit-${version}.tar.xz";
-    sha256 = "oabjfwQXZd/3InofVXi29J+q8Bax4X6GnK9b+5TGqk4=";
+    sha256 = "wIZkErrRR+us4tKC/8u1oOmjBLIP1VZAvuIcgebVAe8=";
   };
 
   patches = [
@@ -92,7 +92,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Gedit";
+    homepage = "https://gedit-technology.github.io/apps/gedit/";
     description = "Former GNOME text editor";
     maintainers = with maintainers; [ bobby285271 ];
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/applications/editors/texworks/0001-fix-build-with-qt-6.5.patch b/nixpkgs/pkgs/applications/editors/texworks/0001-fix-build-with-qt-6.5.patch
deleted file mode 100644
index 8cafd9c3e2e6..000000000000
--- a/nixpkgs/pkgs/applications/editors/texworks/0001-fix-build-with-qt-6.5.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b26a91fd0f70e8f0a8f3360a5f371a1eace70002 Mon Sep 17 00:00:00 2001
-From: Nick Cao <nickcao@nichi.co>
-Date: Sun, 16 Apr 2023 22:10:55 +0800
-Subject: [PATCH] fix build with qt 6.5
-
-The fix is borrowed from https://github.com/hluk/CopyQ/pull/2324
----
- src/scripting/Script.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/scripting/Script.cpp b/src/scripting/Script.cpp
-index 3437f125..906eefde 100644
---- a/src/scripting/Script.cpp
-+++ b/src/scripting/Script.cpp
-@@ -352,7 +352,7 @@ Script::MethodResult Script::doCallMethod(QObject * obj, const QString& name,
- 		}
- 		else if (typeName == QString::fromLatin1("QVariant")) {
- 			// QMetaType can't construct QVariant objects
--			retValArg = Q_RETURN_ARG(QVariant, result);
-+			retValArg = QGenericReturnArgument("QVariant", static_cast<void*>(result.data()));
- 		}
- 		else {
- 			// Note: These two lines are a hack!
--- 
-2.39.2
-
diff --git a/nixpkgs/pkgs/applications/editors/texworks/default.nix b/nixpkgs/pkgs/applications/editors/texworks/default.nix
index 315db4115900..4ddd4c9cb6c1 100644
--- a/nixpkgs/pkgs/applications/editors/texworks/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texworks/default.nix
@@ -14,17 +14,15 @@
 
 stdenv.mkDerivation rec {
   pname = "texworks";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "TeXworks";
     repo = "texworks";
     rev = "release-${version}";
-    sha256 = "sha256-X0VuXNghHoNsNNDfZJXXJ++nfUa5ofjW8rv3CHOUzxQ=";
+    sha256 = "sha256-G8TVTVQPELyE6H9a6gWSyWHi653TWzUoaRdlfPnngM0=";
   };
 
-  patches = [ ./0001-fix-build-with-qt-6.5.patch ];
-
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/nixpkgs/pkgs/applications/editors/typora/default.nix b/nixpkgs/pkgs/applications/editors/typora/default.nix
index 08e3d7c78fed..2a4134ee3f00 100644
--- a/nixpkgs/pkgs/applications/editors/typora/default.nix
+++ b/nixpkgs/pkgs/applications/editors/typora/default.nix
@@ -22,10 +22,10 @@
 
 let
   pname = "typora";
-  version = "1.8.9";
+  version = "1.8.10";
   src = fetchurl {
     url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
-    hash = "sha256-1FAVY9NSvpZOCZJmNadx5ZlqfaCc2N3D+T/08F4TOzY=";
+    hash = "sha256-5ZLSzDUcF0OZUuWVX/iG+4ccTlCPdYxy7zl0wDHlxNQ=";
   };
 
   typoraBase = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json b/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
index 6af384ac78fd..6566a2808b70 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/deprecated.json
@@ -23,6 +23,10 @@
         "date": "2023-08-19",
         "new": "nvchad-ui"
     },
+    "nvim-base16": {
+        "date": "2024-02-15",
+        "new": "base16-nvim"
+    },
     "nvim-bufferline-lua": {
         "date": "2021-08-22",
         "new": "bufferline-nvim"
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix b/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
index 32e4d167625a..71bf8a59f4b1 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/generated.nix
@@ -29,12 +29,12 @@ final: prev:
 
   ChatGPT-nvim = buildVimPlugin {
     pname = "ChatGPT.nvim";
-    version = "2024-01-19";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "jackMort";
       repo = "ChatGPT.nvim";
-      rev = "5e8f9004ee88d6c02fe428031d3b598d5dfc7cf2";
-      sha256 = "126m8cwasm4c6rhc8gnslqh2q08fn6gsw2sk57jdiflrsvhl9vzc";
+      rev = "aadb607038d53d97be4da368b07355f65ad3f047";
+      sha256 = "1siccc04f69whyqz7ljcyq50aai320rbdbwclb5989610n7qx1lw";
     };
     meta.homepage = "https://github.com/jackMort/ChatGPT.nvim/";
   };
@@ -65,12 +65,12 @@ final: prev:
 
   Coqtail = buildVimPlugin {
     pname = "Coqtail";
-    version = "2023-10-27";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "ecca5017b6b27e1bded009f9725186d941d85b53";
-      sha256 = "01dc9rih8f3hxvj5mi8ahdh7gf1hgb2zrks3wb8im4f4lc6nkdjz";
+      rev = "e52c456d44e2e3c580428e54182a59d82009c3e2";
+      sha256 = "025l8y4i5a0zlvm1f0nqliqvqwn1cf2xas3ikiyf6cn749ar7pjw";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -185,12 +185,12 @@ final: prev:
 
   LeaderF = buildVimPlugin {
     pname = "LeaderF";
-    version = "2024-01-19";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "43e6c0467ef73107f9f6f02ac967dbc359a8d438";
-      sha256 = "1p1a9ppsw5f27qsqmr8wvnbamag8w9xbh4dmpwrfk96ap7flndjz";
+      rev = "9cf165b444b961f019d3b1a87f38788f9c314100";
+      sha256 = "09lpscdyx9ir5pdm2vb04vmv2zxgyzhm0ykahflsp5gfnxmc3an3";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "0550c6d5754dd2a183efc9c238f5524b68860e21";
-      sha256 = "1hd1qnkjbl38k9ivzqxf3j74yyh1gd56r5nz7nmzf8b5yyjkc0ws";
+      rev = "844081710a935b4bd95bb8a3cf2742ffb9630993";
+      sha256 = "0dijcbygl5z4jw8gcfjvld09yijlz0fl10b0c6giizy9r09ij7av";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -449,12 +449,12 @@ final: prev:
 
   YouCompleteMe = buildVimPlugin {
     pname = "YouCompleteMe";
-    version = "2024-01-14";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "2b33bf3dc822f6c68b39d235e24efa5508cf9857";
-      sha256 = "1myd0ihxzk9jv8hqn7bfqh26cai9xlfnpwp89i62aqhgl3v0b361";
+      rev = "f0789244449468b0dad591ec5a87db6504788cfa";
+      sha256 = "0vs201i5aqa157ld9ii0pl9cd9xxfcrkxx69ibk8rzn3ardnllm4";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -498,12 +498,12 @@ final: prev:
 
   actions-preview-nvim = buildVimPlugin {
     pname = "actions-preview.nvim";
-    version = "2024-01-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "aznhe21";
       repo = "actions-preview.nvim";
-      rev = "dd63df1a4ed0ffe1458945ee50ecb1dd02b605ab";
-      sha256 = "0rsg7qvy45hhrzsf0xsdkr8ac9d3w2b0wqdbzzkfispkxpbsqyl9";
+      rev = "9e86d014a72a4121ee27f3d8952e1ea868c3c8c4";
+      sha256 = "1fbvf3kz8c0aq2fvjbld0h1a3yckcxfxhzfnxji7a4cjfj2icj99";
     };
     meta.homepage = "https://github.com/aznhe21/actions-preview.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   aerial-nvim = buildVimPlugin {
     pname = "aerial.nvim";
-    version = "2024-01-21";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "e9661d4f739508377f42528fd08a85c4c8feba6e";
-      sha256 = "1pskj1vqrcxy4y7rvmb27d6810zcmklrff5163gav26rcgppn6x7";
+      rev = "3748e87a316a68754341cdffcef44fee61dee51c";
+      sha256 = "0d7623dibwrp7nzl512laznai478rw8vz2jxlmbihs5gccnxnvp7";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -583,12 +583,12 @@ final: prev:
 
   ale = buildVimPlugin {
     pname = "ale";
-    version = "2024-01-14";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "8922478a83cd06bfe5b82eb45279649adc4ec046";
-      sha256 = "1s9cy0s08hgjb1n05gbl8am2s4wvxblpa1sfiwadwyqf163bd16j";
+      rev = "6fd9f3c54f80cec8be364594246daf9ac41cbe3e";
+      sha256 = "16wa96aymgx4jfw9cxryikvfa1628csblhc4y2d33khbpy8mg81d";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -607,12 +607,12 @@ final: prev:
 
   alpha-nvim = buildVimPlugin {
     pname = "alpha-nvim";
-    version = "2024-01-17";
+    version = "2024-01-30";
     src = fetchFromGitHub {
       owner = "goolord";
       repo = "alpha-nvim";
-      rev = "4b36c1ca9ea475bdc006896657cf1ccc486aeffa";
-      sha256 = "01s5kp4zxfs18i7r9hvrjakihk6wz191zrkniq4vhsns32mmjgk3";
+      rev = "1356b9ef31b985d541d94314f2cf73c61124bf1d";
+      sha256 = "1spnala1x6va4lv0ws3yc49z4g7sadvci4l4wnjm3l24hfw5ypnb";
     };
     meta.homepage = "https://github.com/goolord/alpha-nvim/";
   };
@@ -775,12 +775,12 @@ final: prev:
 
   asyncrun-vim = buildVimPlugin {
     pname = "asyncrun.vim";
-    version = "2023-09-26";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asyncrun.vim";
-      rev = "61cc3081963a12048e00e89f8cedc8bd1cb83b8c";
-      sha256 = "1l86kk0ha6yw3i285xaizzrgxvnxf95q0ys44glz8mns1z2jq4zk";
+      rev = "99b5025131c50c6ef638faefe1f872eea5454785";
+      sha256 = "1cbc1silg0hf3rj7saw4ifxcn5nmvs1fyilnfxskg38bk9pag5ds";
     };
     meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
   };
@@ -871,12 +871,12 @@ final: prev:
 
   auto-session = buildVimPlugin {
     pname = "auto-session";
-    version = "2023-12-05";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "51196ca66b38fc1660fdf50031cb0b31a199b7c9";
-      sha256 = "1k0vgnn7anx6s6avbx17gyy749960ap1nds23qnsmp0pfz9x5scw";
+      rev = "29a8c77a0579636d5520aebd38bdbc2e6079f2f5";
+      sha256 = "0pzbj840xwzgj08zlbs79kfr8p5pfaqmcwmvqvngciaawz5mxwrc";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -953,14 +953,26 @@ final: prev:
     meta.homepage = "https://github.com/taybart/b64.nvim/";
   };
 
+  baleia-nvim = buildVimPlugin {
+    pname = "baleia.nvim";
+    version = "2024-01-06";
+    src = fetchFromGitHub {
+      owner = "m00qek";
+      repo = "baleia.nvim";
+      rev = "6d9cbdaca3a428bc7296f838fdfce3ad01ee7495";
+      sha256 = "sha256-0NmiGzMFvL1awYOVtiaSd+O4sAR524x68xwWLgArlqs=";
+    };
+    meta.homepage = "https://github.com/m00qek/baleia.nvim/";
+  };
+
   barbar-nvim = buildVimPlugin {
     pname = "barbar.nvim";
-    version = "2023-12-18";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "4ba9ac54f0c5d82131905160afff94172e3325e6";
-      sha256 = "0cfhcwb8w4h63dj3r1zi7ikqjs78isgvy2lgqw35k8camw4jlqkr";
+      rev = "71ac376acd000743146b1e08e62151b4d887bbac";
+      sha256 = "1yhircqbqm6kww5h2zj98i7vr7kkvigcfzfx1z0jpq1dwzkrilsw";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -977,6 +989,18 @@ final: prev:
     meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
   };
 
+  base16-nvim = buildVimPlugin {
+    pname = "base16-nvim";
+    version = "2024-02-17";
+    src = fetchFromGitHub {
+      owner = "RRethy";
+      repo = "base16-nvim";
+      rev = "b3e9ec6a82c05b562cd71f40fe8964438a9ba64a";
+      sha256 = "1qb8g6q8vwq99030nqw719xgrizbqcnmj4n25fqakjq8pbclwh4p";
+    };
+    meta.homepage = "https://github.com/RRethy/base16-nvim/";
+  };
+
   base16-vim = buildVimPlugin {
     pname = "base16-vim";
     version = "2022-09-20";
@@ -1171,12 +1195,12 @@ final: prev:
 
   bufferline-nvim = buildVimPlugin {
     pname = "bufferline.nvim";
-    version = "2024-01-25";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "d6cb9b7cac52887bcac65f8698e67479553c0748";
-      sha256 = "05j37sch4m8cxdjg7fyzmawr21mp2ipqlw3ar4adk8as698b68gy";
+      rev = "b15c6daf5a64426c69732b31a951f4e438cb6590";
+      sha256 = "09yj7gkk4ba50cdfmnn56g5hrbh4hk9934mj3xm08nbqhh4jir1k";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1195,14 +1219,14 @@ final: prev:
 
   bullets-vim = buildVimPlugin {
     pname = "bullets.vim";
-    version = "2022-10-10";
+    version = "2024-01-31";
     src = fetchFromGitHub {
-      owner = "dkarter";
+      owner = "bullets-vim";
       repo = "bullets.vim";
-      rev = "746f92ae05cdcc988857d8e76418326f07af9494";
-      sha256 = "0zdfri31h1iv3jjw2yqkqqfd07cdk7ymyrl5n03khwh192dawd5r";
+      rev = "d9a47f114031d3030b1e4de3c0b6a664b1201524";
+      sha256 = "0ypf8ggvl1q5kgrzanr20n6bllfl547hk50aq0jmw0mprhi5npds";
     };
-    meta.homepage = "https://github.com/dkarter/bullets.vim/";
+    meta.homepage = "https://github.com/bullets-vim/bullets.vim/";
   };
 
   calendar-vim = buildVimPlugin {
@@ -1255,12 +1279,12 @@ final: prev:
 
   chadtree = buildVimPlugin {
     pname = "chadtree";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "713d374382398df12816b3aa8de5462e29266d8a";
-      sha256 = "1zi4v1fsayvcxsvbb60r7lj5zpsbhcysy2n6l9610xn0zmwmcnxq";
+      rev = "326830f797f38edefa9691cb9de35833b9571b95";
+      sha256 = "14s3lcp0pyd9dqi5jhnlv0rd51qia4p5sg7p6hxrdzi86mmkz1b6";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1411,12 +1435,12 @@ final: prev:
 
   cmp-async-path = buildVimPlugin {
     pname = "cmp-async-path";
-    version = "2023-01-16";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "FelipeLema";
       repo = "cmp-async-path";
-      rev = "d8229a93d7b71f22c66ca35ac9e6c6cd850ec61d";
-      sha256 = "18z548v4ypby32jydq439zdi6gv7zybp8gk957iai22cnxaj403n";
+      rev = "9d581eec5acf812316913565c135b0d1ee2c9a71";
+      sha256 = "0dv00zsgyjqk98cnxkmc4hjqgsm5mhjg4q2j7xkwz17kq59fiv26";
     };
     meta.homepage = "https://github.com/FelipeLema/cmp-async-path/";
   };
@@ -1543,12 +1567,12 @@ final: prev:
 
   cmp-dictionary = buildVimPlugin {
     pname = "cmp-dictionary";
-    version = "2024-01-24";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "cmp-dictionary";
-      rev = "472d0087035762f3c81af63433df15c8dd85601b";
-      sha256 = "03i5gb18w93fb7by1djj7b3sqfsdb2rlqlnj5dcl0r8qb4wa8nrc";
+      rev = "afa18f35a818af7bcb65b05c183a6777ede6c0ad";
+      sha256 = "1nz0ywakqvvscrvdzk86w8f29s8mrcyln2jqgh24kvic5zwb66xj";
     };
     meta.homepage = "https://github.com/uga-rosa/cmp-dictionary/";
   };
@@ -2071,24 +2095,24 @@ final: prev:
 
   codeium-nvim = buildVimPlugin {
     pname = "codeium.nvim";
-    version = "2023-12-26";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.nvim";
-      rev = "f871000e91faa9ed334da2bfa4eadbf54d0e1047";
-      sha256 = "11qjv6g2abb67sfql0i2lbrak9d1xs15x73llw1fglcmbn7wswrf";
+      rev = "cd5913ff5481229b15186293d1d46dd9500789f9";
+      sha256 = "1lsf60aaxzc0w0sgvb8pghrx6hwfh57jx9xaj6g7rhbpxw9l05cx";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.nvim/";
   };
 
   codeium-vim = buildVimPlugin {
     pname = "codeium.vim";
-    version = "2024-01-18";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "Exafunction";
       repo = "codeium.vim";
-      rev = "a1c3d6b369a18514d656dac149de807becacbdf7";
-      sha256 = "1d1m30wrjm3s18672j97ypbky59mppn8af3vl0db7pf4c7bv2vbv";
+      rev = "9286586f790f837c4c3032f2124559936e77e6ed";
+      sha256 = "1kgba992635cjfwzzrdd9cajkjcxhvgy0nyydmnsx1d79p30q10b";
     };
     meta.homepage = "https://github.com/Exafunction/codeium.vim/";
   };
@@ -2323,12 +2347,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "d99b75b4aedf0e912f41c5740a7267de739cddac";
-      sha256 = "1qwrvidiq26fsl7bz3fhfnhn534k8cix488c9kykl9y971kb9mm7";
+      rev = "61cff430c9f15770d0c5e68c1b08067223bd94ab";
+      sha256 = "0b6syg14d1bs57nbikiwmragj2ac8nnjk1ns46nbvhc82ixsbr09";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2336,12 +2360,12 @@ final: prev:
 
   conjure = buildVimPlugin {
     pname = "conjure";
-    version = "2023-12-07";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "4880144f13a7693cded529b302de491bfbaedbd6";
-      sha256 = "13rixqrw1hdpfxzz8qkwcvf1a2plcrv5mz6aaaa8vdksa3vica8i";
+      rev = "f50d4db821489f66ff93afe58155eef42c273a5d";
+      sha256 = "1q0in2yay28887vjirs15dcbx9p29rqcwg6fzfg01b8vs7nq63gw";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -2384,48 +2408,48 @@ final: prev:
 
   copilot-lua = buildVimPlugin {
     pname = "copilot.lua";
-    version = "2024-01-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "zbirenbaum";
       repo = "copilot.lua";
-      rev = "b03617a6dc4bc88b65ab5deac1631da9a9c2dcaf";
-      sha256 = "1pq8h1fnx5fkk6nj10ag6hx1br0c6vpclmcrw67qss8n52g0zwgk";
+      rev = "03f825956ec49e550d07875d867ea6e7c4dc8c00";
+      sha256 = "0iw7bvpv89r8l6bdds82nzpv4s7hrdm6gpw5ljh3c01r96v71iqz";
     };
     meta.homepage = "https://github.com/zbirenbaum/copilot.lua/";
   };
 
   copilot-vim = buildVimPlugin {
     pname = "copilot.vim";
-    version = "2024-01-23";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "a8142d44602f1b3f7b5c03c52b55f8f5d3453bf0";
-      sha256 = "08s0n9fyndjkri4lnpdg8hin4ykibxdkl8v3fgpglr944vs7cpff";
+      rev = "79e1a892ca9b4fa6234fd25f2930dba5201700bd";
+      sha256 = "11awdp6gmbiy9vp2bpd05x1aj7z5c3x6gkbbx4kjgk613589x7kg";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
 
   coq-artifacts = buildVimPlugin {
     pname = "coq.artifacts";
-    version = "2023-12-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "e7202d1a1b5cfa91446d5b7a035f915934e4d713";
-      sha256 = "11dkb6h7lshnhn8l04hjykwv7lsaxl58jqrxi2hv1byr6406j6xl";
+      rev = "de9d71b7fbf29ec8dc06adadb18621c55556a59b";
+      sha256 = "16vwf4rvbv00xg12spi8p48ciwkk1w4rlf70vnapl955r08mfwqh";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
 
   coq-thirdparty = buildVimPlugin {
     pname = "coq.thirdparty";
-    version = "2024-01-12";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.thirdparty";
-      rev = "99393e405c28883e92e39ad6cdb41120ecfb6f32";
-      sha256 = "0jkim8sxi66ra1xdlhlz3b04jh0whrgs43wyw7hdckwjvmn354hp";
+      rev = "d9c1492ee60d627b171c7a9bcd0c3bb35af3e0fd";
+      sha256 = "0q8fv58v2sy9kq737ddmrrf0vvqpz8wrybnrks3vazq017jc5y7v";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
   };
@@ -2444,12 +2468,12 @@ final: prev:
 
   coq_nvim = buildVimPlugin {
     pname = "coq_nvim";
-    version = "2024-01-03";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "4337cb19c7bd922fa9b374456470a753dc1618d4";
-      sha256 = "1a13hb39hmpk2pgq615b32kd94arj22rppags99dxg02vz9ngsp8";
+      rev = "cddbe83386efbce2a33373df1f98b3bd0b9c10a8";
+      sha256 = "0v7lib5mb1washicqqzl1m3gm4wd6bi3ivygfd5j0j7kxvv6f0hw";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2480,12 +2504,12 @@ final: prev:
 
   crates-nvim = buildVimPlugin {
     pname = "crates.nvim";
-    version = "2024-01-25";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "f2a169840e97a8ed2048abb507d2742c3895c85b";
-      sha256 = "05j1f2cf9fgsl7kdz2kqq525xm7v6l4p10mh46nf897gllvvajmy";
+      rev = "ec2b04a380c9f3a8e6ca38c230e4990d71978143";
+      sha256 = "0x3zlvwz3w69sdfp0hqs3ra83mgdf72nmffkpm56f56hnld7r1f1";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2600,12 +2624,12 @@ final: prev:
 
   dashboard-nvim = buildVimPlugin {
     pname = "dashboard-nvim";
-    version = "2023-11-10";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "dashboard-nvim";
-      rev = "63df28409d940f9cac0a925df09d3dc369db9841";
-      sha256 = "0731yc308jhqwpgabdb69mz8wi75rbnlwa2rh25rrigr28hxin1c";
+      rev = "413442b12d85315fc626c44a0ce4929b213ef604";
+      sha256 = "0pdq7c34093a7p92kqs9pkipj91q45j4y4djlik69fmdxi1kcbxy";
     };
     meta.homepage = "https://github.com/nvimdev/dashboard-nvim/";
   };
@@ -2708,12 +2732,12 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2024-01-25";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "16d4bbc5c8e359ab50042f66dc5c9a2cdeabff6e";
-      sha256 = "19274maj5nbf7psa4d1nwkd2x7wnmnr6i6sp0h36nk5bgjx5jhzg";
+      rev = "ebda886f724fa2eb8aaa51d569903d5c359f0887";
+      sha256 = "01ln1yp9ymryc5fps1w91a99fn8bdm2gc56k9cmb07mc868p20ll";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
@@ -3082,24 +3106,24 @@ final: prev:
 
   dressing-nvim = buildVimPlugin {
     pname = "dressing.nvim";
-    version = "2024-01-21";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "42d767b04c50a6966c9633e3968bc65c0c2f2bfc";
-      sha256 = "0zd2wswd1x83qgs9d6bsh7k5nmdniqd4ba0x4w3qdndp27nafcz9";
+      rev = "6f212262061a2120e42da0d1e87326e8a41c0478";
+      sha256 = "1xm7jbhgs3raaqc10lg0czayii36di6cx47b527qc67p2qp03q33";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
 
   dropbar-nvim = buildVimPlugin {
     pname = "dropbar.nvim";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "Bekaboo";
       repo = "dropbar.nvim";
-      rev = "9a8e498374276dd0281736c75b42098ef9fb5622";
-      sha256 = "0py5lipmxkd6brzz41sali1bbl61bmaan9visdvvh1jrk7zzzyz6";
+      rev = "da63ca9b24f18b814ac75881b1e36199a7676047";
+      sha256 = "125caxl299svj1lnfr718ahcsg2d2aia9mhm3jx4753piha07bsw";
     };
     meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
   };
@@ -3179,24 +3203,24 @@ final: prev:
 
   efmls-configs-nvim = buildVimPlugin {
     pname = "efmls-configs-nvim";
-    version = "2024-01-10";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "creativenull";
       repo = "efmls-configs-nvim";
-      rev = "5372981bc8785facefb51cd50cb0888d1129a291";
-      sha256 = "08d67vm14jqkvrds247wy81mhfvfki5vl3fg7lp8s6aafs1y576d";
+      rev = "a61c52d325835e24dc14ffb7748a32b8f087ae32";
+      sha256 = "0y145z35y5x1frnaw1s9nlap1sjm3gk0fzcgwp0xskmfhcm8b55r";
     };
     meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
   };
 
   elixir-tools-nvim = buildVimPlugin {
     pname = "elixir-tools.nvim";
-    version = "2023-12-30";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "elixir-tools";
       repo = "elixir-tools.nvim";
-      rev = "163522196c962fa87cac0df2a0d1ad332e1e0755";
-      sha256 = "02ivwxv9xfpgg1p7nsnmvfkmvgqmy636pl2w1lp4mnhqx2m661z9";
+      rev = "f7877ae4cd491fd51183be1e68b3c8b39133e794";
+      sha256 = "1s6cmk3d1knj74nv6700a1j31wpf38wrv7ywfgsqa23njnz0hm8v";
     };
     meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/";
   };
@@ -3264,12 +3288,12 @@ final: prev:
 
   everforest = buildVimPlugin {
     pname = "everforest";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "89080db9637bb297b4c75ae1511e9f6f61ad9c78";
-      sha256 = "0xfq7x8cdp45qn1yrq88mxhvcqfri67laq7yk077g0m274phpjdr";
+      rev = "4ce8ea3588265dd7d82113d3a937f53c59685164";
+      sha256 = "0p8jp04dx0y3l6ll163m2pvanhysfakra2knmp9mp9rmzyyqk8xp";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -3396,12 +3420,12 @@ final: prev:
 
   fidget-nvim = buildNeovimPlugin {
     pname = "fidget.nvim";
-    version = "2024-01-08";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "3a93300c076109d86c7ce35ec67a8034ae6ba9db";
-      sha256 = "1ld4611wpgcy5lmrw16clh2hrbx42kfa9pm0a44cb6nfcx2gy1dq";
+      rev = "4e854f3299e21d1c18279add340428a97520fc44";
+      sha256 = "1519w7hb5xh1cgpcgi323if1wiq6n0vyfilza1wqpbbk6801rlfy";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -3469,12 +3493,12 @@ final: prev:
 
   flatten-nvim = buildVimPlugin {
     pname = "flatten.nvim";
-    version = "2024-01-22";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "flatten.nvim";
-      rev = "a999f1abd8fa9f8e2447a65726f9f44288c26f3f";
-      sha256 = "1c3r5sqqkdbgb8y1gm0pqdjqyk5gp2x7p9905b5ic6kw451vs4vg";
+      rev = "92c59ae6200e6b04aff167577ebb8a9035a6d2b3";
+      sha256 = "18sq9bh5l60nfxhc1glgn6nc35089hvp9vgkqp5s5ridnibf77z4";
     };
     meta.homepage = "https://github.com/willothy/flatten.nvim/";
   };
@@ -3541,12 +3565,12 @@ final: prev:
 
   flutter-tools-nvim = buildVimPlugin {
     pname = "flutter-tools.nvim";
-    version = "2024-01-22";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "271eec9edb0f1a2bf30ad449ec3b4eeb2c88af05";
-      sha256 = "0kk6iz1ziymgscgv7z22m8mbkinnmj7qlnnmh0sikh14kwa21xw3";
+      rev = "28482c71537bb748ccede91facc93a2ea2803a8c";
+      sha256 = "16qa5hlj1a1aff89hfmg1my3k60rvxdibhx3ian3vrh5zmmf4762";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
@@ -3589,12 +3613,12 @@ final: prev:
 
   friendly-snippets = buildVimPlugin {
     pname = "friendly-snippets";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "aced40b66b7bae9bc2c37fd7b11841d54727a7b0";
-      sha256 = "11lmhx1vnaphljk91aslkzmp71swash5xiqi0jydmdhly753m5g9";
+      rev = "dbd45e9ba76d535e4cba88afa1b7aa43bb765336";
+      sha256 = "0z5lqifjvbh76fnpcq9sya8zp0n261vz9l8c73wb31ji0bgfj2wf";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3697,24 +3721,24 @@ final: prev:
 
   fzf-lua = buildVimPlugin {
     pname = "fzf-lua";
-    version = "2024-01-20";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "36195a230246fc44e8144ee0b454fc022ac5326b";
-      sha256 = "0v86khin5ac4x3w8sw9ffmg9nz7gqclycaxi5dpsm3r13imgkiym";
+      rev = "91ec17b4fd0d810599f054eef08db967a0457fbf";
+      sha256 = "1i3qb43mfkn32lkqkql9vrka68ljxc99slns4wp2mvc2x6xamdj7";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
 
   fzf-vim = buildVimPlugin {
     pname = "fzf.vim";
-    version = "2024-01-08";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "f6cb5b17897ff0c38f60fecd4b529678bcfec259";
-      sha256 = "177ca7w28s854zkjqza0b6mnrhdzpxkscbpxq24yg4aw8r4kjyhs";
+      rev = "8ea9574b3ebdc44fbe3dc6381a13f9ce0c290e2f";
+      sha256 = "14b8rwmhv47ls8ncr8zhf7zb0ziq5ccgcii9fwn71iqrqhzs0m0b";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
@@ -3865,12 +3889,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2024-01-23";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "300a306da9973e81c2c06460f71fd7a079df1f36";
-      sha256 = "1vy1p2cgcmfwzgfd011pnvib2vp1zgwv2kp59xlb0v3jxl8rnsvj";
+      rev = "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae";
+      sha256 = "0j9q39pks1lvp9zd97lc1frb2fq0irjizza34kp381gg6smxmc28";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -3925,12 +3949,12 @@ final: prev:
 
   go-nvim = buildVimPlugin {
     pname = "go.nvim";
-    version = "2023-12-27";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "24d2fa373d55d9900cd4b502a88214dc17e6fab6";
-      sha256 = "0fvfqfvbnn6a7056yrmqh4fy8vzx4sg8k9n61l9gbv2zqlb13575";
+      rev = "d748e79011437d5b080006b896b3c296656641d7";
+      sha256 = "1ygrifvgy226npcwywqkvv92dfyy51v8sav6nidmqil3qxv4glrq";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -3973,12 +3997,12 @@ final: prev:
 
   goto-preview = buildVimPlugin {
     pname = "goto-preview";
-    version = "2023-11-21";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "goto-preview";
-      rev = "16ec236fabb40b2cebfe283b1d701338886462db";
-      sha256 = "006r0dl3nj0d642lniss3gbclix32bypykh7c8ml7qfh07mjahs7";
+      rev = "527fd81a827234e26ca47891abe90497215db2a6";
+      sha256 = "123gbz6313b0qz2ydzv1gi4nlv9a1p0lg2ywp0p365lx3684nqfg";
     };
     meta.homepage = "https://github.com/rmagatti/goto-preview/";
   };
@@ -4045,24 +4069,24 @@ final: prev:
 
   gruvbox-material = buildVimPlugin {
     pname = "gruvbox-material";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "479150eb46ddf7a724782730b1414a9b6bbe4628";
-      sha256 = "1dj2cm7an9a0n6pj9j6vin242pfv90qd4cad8d9zn93i6axaafwj";
+      rev = "b17fe51688b76e2ccf118e5f76f3978b9a8c503e";
+      sha256 = "00yd2gwv71rbnkyq1ldg1jgwp6np994yr3sfvykjxjc98p1lsmfn";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPlugin {
     pname = "gruvbox.nvim";
-    version = "2024-01-01";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "4176b0b720db0c90ab4030e5c1b4893faf41fd51";
-      sha256 = "1s7c02ypjx6jf4fznmgdn8zs41y9jcv5nqj6hfwvza7mwvkbmz57";
+      rev = "6e4027ae957cddf7b193adfaec4a8f9e03b4555f";
+      sha256 = "1kk38xpwqlzvm3rgdii25nyxd8bcsgjjzin3a7sb0kyg5x3ynscd";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -4081,12 +4105,12 @@ final: prev:
 
   guard-nvim = buildVimPlugin {
     pname = "guard.nvim";
-    version = "2024-01-13";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "guard.nvim";
-      rev = "d4782860b7da344d7409edbe7ee3693d5b8ea226";
-      sha256 = "017lsdh1a3z43dw5liz0hv2fic8rbxmw100rfnj9w3xxf6a5iv9k";
+      rev = "4ffdefe0f181ea7e449f60fe94ccc967220181c5";
+      sha256 = "0apv9jii9lw1rk84qycxgyfddcri9y5i3zkf2mpd1jhl1czw7iyb";
     };
     meta.homepage = "https://github.com/nvimdev/guard.nvim/";
   };
@@ -4129,12 +4153,12 @@ final: prev:
 
   hardtime-nvim = buildVimPlugin {
     pname = "hardtime.nvim";
-    version = "2023-12-30";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "m4xshen";
       repo = "hardtime.nvim";
-      rev = "4ba3be553fa0b713c7b817f6d201b07d282accf3";
-      sha256 = "12z1ii4p1m6qan048f3y7g48dcnp1dj1mfa494as5rbc322r4yfn";
+      rev = "860e912895176112868c97b46277f547e149f5e6";
+      sha256 = "11pj5lx5k5db66jkm7avkh2nmdqym09ipxa8ylq98d0cqzk8pd8z";
     };
     meta.homepage = "https://github.com/m4xshen/hardtime.nvim/";
   };
@@ -4176,24 +4200,24 @@ final: prev:
 
   haskell-snippets-nvim = buildVimPlugin {
     pname = "haskell-snippets.nvim";
-    version = "2024-01-15";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "haskell-snippets.nvim";
-      rev = "c26279d568452f5474f26470aff6549f94ff7cd3";
-      sha256 = "1rl9g25afaqiw16i582hbnnag0v6xcn28f09cy8vfddj696ygzg6";
+      rev = "0adc2b0956c2de107bbf3b0329b5b7450a1d07e4";
+      sha256 = "1mpj9vpisd0g0w5qg0ck5lg4birxwlc9dw9haqcsynjpfk3za8q3";
     };
     meta.homepage = "https://github.com/mrcjkb/haskell-snippets.nvim/";
   };
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2024-01-21";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "24f1ff1ac9f6ad71ba2535d491e6d21e700a6f8b";
-      sha256 = "0h7nijxgmwh75nmsim9bzx5qc0sawqj3v1iwzjkkqas05rmnjbjp";
+      rev = "48bd9e6581ff9442f1ca81995df2f1c3acba24a0";
+      sha256 = "1bknval844d889vbsivd1ydz2bm60hmqhbh2xlb8rqbr1w8g1sz4";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4236,24 +4260,24 @@ final: prev:
 
   headlines-nvim = buildVimPlugin {
     pname = "headlines.nvim";
-    version = "2023-11-13";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "headlines.nvim";
-      rev = "e3d7bfdf40e41a020d966d35f8b48d75b90367d2";
-      sha256 = "1acxyy5317qf4ry0z32xkk3aasp233nss0nyd8dzfkf631klvzi2";
+      rev = "d39c4e6ed8963717bc9b2dc39fada8fe1039e9bf";
+      sha256 = "1a3qplb55gp5g9cprb0gz135gyq1nn2m7j8jjz4m6m867wsf859m";
     };
     meta.homepage = "https://github.com/lukas-reineke/headlines.nvim/";
   };
 
   heirline-nvim = buildVimPlugin {
     pname = "heirline.nvim";
-    version = "2024-01-12";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "heirline.nvim";
-      rev = "1b6f12e011f225a26aa162905cbf68804479e7e6";
-      sha256 = "0kqrriz5c0l5ljmz7amdhg3zrnkx0lpfjdxdagpcp9zyarvgdc6q";
+      rev = "03cff30d7e7d3ba6fdc00925f015822f79cef908";
+      sha256 = "1bw4077h3cv01wnz0gv5qkdyxi8naszkgl11zi9mqb54asl69c41";
     };
     meta.homepage = "https://github.com/rebelot/heirline.nvim/";
   };
@@ -4319,12 +4343,12 @@ final: prev:
 
   hmts-nvim = buildVimPlugin {
     pname = "hmts.nvim";
-    version = "2023-08-28";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "calops";
       repo = "hmts.nvim";
-      rev = "14fd941d7ec2bb98314a1aacaa2573d97f1629ab";
-      sha256 = "09f403w6gglfycghjzx4dc5gv71wqb6ywnmcvm15n1ldxasb6jwd";
+      rev = "ba1239972a1f56b94252d4f85a43e777ac419662";
+      sha256 = "1n67k7kl2xz3zi75h1qb524nxlgvrgwr4ywsykqwz1k7dlkxh3ck";
     };
     meta.homepage = "https://github.com/calops/hmts.nvim/";
   };
@@ -4379,12 +4403,12 @@ final: prev:
 
   hover-nvim = buildVimPlugin {
     pname = "hover.nvim";
-    version = "2024-01-24";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "hover.nvim";
-      rev = "060ea7f5a7b28be87689e2b3d940baf6efc2da04";
-      sha256 = "1ql2c34h294mmlwl44q3gd3a1v60iplvx9l9lyhzp8k5ddc8c4i0";
+      rev = "4d04667cf3d6b22379e02ccef6a2fdc6e8837d56";
+      sha256 = "066c7gjkgp9gj0kcg7vjik3sgzbfrbjm2j6fwcssh1vy9lgx12wk";
     };
     meta.homepage = "https://github.com/lewis6991/hover.nvim/";
   };
@@ -4463,12 +4487,12 @@ final: prev:
 
   image-nvim = buildNeovimPlugin {
     pname = "image.nvim";
-    version = "2024-01-08";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "3rd";
       repo = "image.nvim";
-      rev = "245422e5c4774f0640d41c0eadec77396f2be4a9";
-      sha256 = "0mx0sgibinr0vv4fafzm2d5kvqxlyi502imqldz69kxn7xqamfi1";
+      rev = "4c6cb5ad93ee93d8d7b7c84e1eb291cee99f0a0e";
+      sha256 = "0z3c7l12rjabb70rrlagj2j6cilvmqhws2dn0fp8s2mnapgcj7cs";
     };
     meta.homepage = "https://github.com/3rd/image.nvim/";
   };
@@ -4535,12 +4559,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPlugin {
     pname = "indent-blankline.nvim";
-    version = "2024-01-12";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "12e92044d313c54c438bd786d11684c88f6f78cd";
-      sha256 = "0mrlq0ymxg80nr9ph4gk4ldf6xmd4pxarpybb779xy7x417mnjsg";
+      rev = "821a7acd88587d966f7e464b0b3031dfe7f5680c";
+      sha256 = "0pc9irbfqvy55ymdyd60a69y3vvi1nqvs4j9akg624pvnda10fv7";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -4595,12 +4619,12 @@ final: prev:
 
   intellitab-nvim = buildVimPlugin {
     pname = "intellitab.nvim";
-    version = "2021-11-13";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "pta2002";
       repo = "intellitab.nvim";
-      rev = "a6c1a505865f6131866d609c52440306e9914b16";
-      sha256 = "19my464jsji7cb81h0agflzb0vmmb3f5kapv0wwhpdddcfzvp4fg";
+      rev = "31f914282e342c886243edb22dcfc82ffe6b7528";
+      sha256 = "1gq1mvhwdmjmsc4dypigy7qaj1yyi4zn7faws8l8kvqm6k3ff057";
     };
     meta.homepage = "https://github.com/pta2002/intellitab.nvim/";
   };
@@ -4776,12 +4800,12 @@ final: prev:
 
   kanagawa-nvim = buildVimPlugin {
     pname = "kanagawa.nvim";
-    version = "2023-10-02";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "c19b9023842697ec92caf72cd3599f7dd7be4456";
-      sha256 = "07wwz1z3am862igx6hkkyymvj2807a1a0y51324jvk27csidrcm5";
+      rev = "ab41956c4559c3eb21e713fcdf54cda1cb6d5f40";
+      sha256 = "0gii4kfp8hpr9413pq28fd2b77yrhcfl3476ndgydzclnibw9yj7";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -4884,12 +4908,12 @@ final: prev:
 
   lazy-lsp-nvim = buildVimPlugin {
     pname = "lazy-lsp.nvim";
-    version = "2024-01-02";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "dundalek";
       repo = "lazy-lsp.nvim";
-      rev = "fdfc7276bbbb884913d04e09bdf7d88e131b603f";
-      sha256 = "11mzy5292iiikpxa35gs6dip408xma84cjkpis6dqzdih0rkmwxv";
+      rev = "cdfeaf4f6c1714990180453723921002374a30de";
+      sha256 = "12y750mwy5awndapvsjsxqk77samyvjsb156fc8ggpwmd067jlq8";
     };
     meta.homepage = "https://github.com/dundalek/lazy-lsp.nvim/";
   };
@@ -4920,12 +4944,12 @@ final: prev:
 
   lean-nvim = buildVimPlugin {
     pname = "lean.nvim";
-    version = "2024-01-20";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "4dff4c9d40678d895c8fe8a19b7ad98a196d0921";
-      sha256 = "1rl8bsnpi095njj23ihhihky0r5nagcffc5d3drhv7q74jj3bz0x";
+      rev = "1a2a2dfbc7e6775e9ec8b84e5eadaf31fde1894e";
+      sha256 = "1lnwsiam4wkqjaamkdb34y1mgy5pir38kssm41v3w83n4gnn8g6f";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4956,24 +4980,24 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2024-01-20";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "82f4ae91e8c3a192292d9ffeccbb15f71b57bf2e";
-      sha256 = "0lad6zzdws9gjd6lqj0339vc958i488jyiwp98yhmdjg29pfb4mq";
+      rev = "52f7ce4fcc1764caac77cf4d43c2c4f5fb42d517";
+      sha256 = "1dpgj7pmq76mc0vg1ahxnh3scl3zdydyfvrhb8gjmdhh32lzwi13";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
 
   legendary-nvim = buildVimPlugin {
     pname = "legendary.nvim";
-    version = "2023-10-23";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "234e2ef8dec65db153c63a8b310c74155bb93ee7";
-      sha256 = "051m8h7600f88ljn6m4mp49xi3pgh2ak8h01bb7gqk1lkq47d7ah";
+      rev = "8277e7ffbde3d32cc582e81b5d109f4071bbbc4b";
+      sha256 = "1frbi1wvhmhgr4cvlxh419fjww98h8b0h1zpcbjbvbv17iakchj9";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -5028,12 +5052,12 @@ final: prev:
 
   lh-brackets = buildVimPlugin {
     pname = "lh-brackets";
-    version = "2023-05-16";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "b0fac72b5fc7592fe52458e45b77ff86919db014";
-      sha256 = "1mlmi0xiaq2dyblv3qx82ka5ka1nghnw99jqkwy4r3dm4rs1b4a5";
+      rev = "4899ead266d99e0b9749b9e44f6a33ea83384a7d";
+      sha256 = "0bg8p4g0v3y7sikcwb1g2n3kr4rcafskg1if6gh1xnr1g0czbckw";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-brackets/";
   };
@@ -5268,12 +5292,12 @@ final: prev:
 
   lsp-overloads-nvim = buildVimPlugin {
     pname = "lsp-overloads.nvim";
-    version = "2024-01-07";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "Issafalcon";
       repo = "lsp-overloads.nvim";
-      rev = "5064093b8614663c2b9db1f6ce426f7c8cc89970";
-      sha256 = "1pfjb14gvnp88jx12snrcxz1kf1zmn8dqqay5mnhhcbi8y19f452";
+      rev = "6b023414d7a6264ce1880148f1a61cf10294546e";
+      sha256 = "1svxn4kvhr666hcjfm3qii03wl2djxch52ffn7a2fggv7116vjnn";
     };
     meta.homepage = "https://github.com/Issafalcon/lsp-overloads.nvim/";
   };
@@ -5304,12 +5328,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPlugin {
     pname = "lsp-zero.nvim";
-    version = "2024-01-22";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "c129311f4867675a52551b0a7ef12186308be00b";
-      sha256 = "0j1cc55y61bx7mxmxgkdrjx89jbgzfvkhi7kja215gqc144rrd0i";
+      rev = "abac76482ec3012a2b359ba956a74e2ffd33d46f";
+      sha256 = "0y5dv0gb8yy1isgz271yr712xspphax5ii4lc6cnlzrhxrmjdi8c";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5375,24 +5399,24 @@ final: prev:
 
   lspsaga-nvim = buildVimPlugin {
     pname = "lspsaga.nvim";
-    version = "2024-01-20";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "2198c07124bef27ef81335be511c8abfd75db933";
-      sha256 = "03p433lw15km3gqf5p5jlw8xi1v8ifxr3byc5f7h692bgnn2983h";
+      rev = "b1b140aa20a0cf353cd3e282870429b48b30a169";
+      sha256 = "1psgxp5ynnbnks8337ralc0whw79d0l75n9q2sb62845dgs8i00f";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
 
   ltex_extra-nvim = buildVimPlugin {
     pname = "ltex_extra.nvim";
-    version = "2023-07-28";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "barreiroleo";
       repo = "ltex_extra.nvim";
-      rev = "9bed99b2b8488cc2daf66c76d2e0cf051ee80d13";
-      sha256 = "1v4vxfysvisl9l91f519mbj4r7a43gzfyaj4cbgs3fc650h00f1g";
+      rev = "42dd3572cb09b52a137e91e515f2dff5eb631b1e";
+      sha256 = "1hirgy2w7lqn22qb20xkcxd7p1212wvra1xbyy43ky3an0bn6ivs";
     };
     meta.homepage = "https://github.com/barreiroleo/ltex_extra.nvim/";
   };
@@ -5423,12 +5447,12 @@ final: prev:
 
   luasnip = buildNeovimPlugin {
     pname = "luasnip";
-    version = "2024-01-17";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "2dbef19461198630b3d7c39f414d09fb07d1fdd2";
-      sha256 = "0mg2nn4r8124ki7vs659jla6494xgcq1k678xgdkzkyd0ja3vmhd";
+      rev = "f3b3d3446bcbfa62d638b1903ff00a78b2b730a1";
+      sha256 = "17q0z9jm9n3c4jj27xxd0nk3vflwnnwybkf47rxvpx95d3wkr0gi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -5484,12 +5508,12 @@ final: prev:
 
   mark-radar-nvim = buildVimPlugin {
     pname = "mark-radar.nvim";
-    version = "2021-06-22";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "winston0410";
       repo = "mark-radar.nvim";
-      rev = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
-      sha256 = "1y3l2c7h8czhw0b5m25iyjdyy0p4nqk4a3bxv583m72hn4ac8rz9";
+      rev = "ae271a781e1f42f9d5bddcc4ffe97633526a6166";
+      sha256 = "1m5pcgrkyrfbjrkx6ndl3akc58dkz3l10k51dnkfy2yw2s6jqhk6";
     };
     meta.homepage = "https://github.com/winston0410/mark-radar.nvim/";
   };
@@ -5532,36 +5556,36 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2024-01-24";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "b9084b1f42f790d6230dc66dbcb6bcc35b148552";
-      sha256 = "0r8idwgaa2w1ijxkgav2p3bbmka8mm3cihnwljgqc6k5cydbyc6j";
+      rev = "fe4cce44dec93c69be17dad79b21de867dde118a";
+      sha256 = "0p788r8k6dj8w5kxkhg8jwzrgyspvlbwd48lhday1gvqxbgfrcb8";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
 
   mason-tool-installer-nvim = buildVimPlugin {
     pname = "mason-tool-installer.nvim";
-    version = "2024-01-15";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "WhoIsSethDaniel";
       repo = "mason-tool-installer.nvim";
-      rev = "bf0f4f8062d3acbe0afcc61db01a4d19d96310e4";
-      sha256 = "1kawdvc1sk8drk2lkgj4zy3hbhbcyn9j6ahnzxwi7jlw9p3j3cmk";
+      rev = "1212fb6082b7177dde17ea65e429e027835aeb40";
+      sha256 = "0zrdpdqklmk1f9gsim209x28h4qisf1hljmwq2imc4lzpwca39kc";
     };
     meta.homepage = "https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/";
   };
 
   mason-nvim = buildVimPlugin {
     pname = "mason.nvim";
-    version = "2024-01-22";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason.nvim";
-      rev = "9c9416817c9f4e6f333c749327a1ed5355cfab61";
-      sha256 = "146p31z37kixchad2rrdndx6wmnfb354i34qhwwjc6xg5jqc1x9i";
+      rev = "c43eeb5614a09dc17c03a7fb49de2e05de203924";
+      sha256 = "0lbf2mkl27ag0lsh5b1l4n1sgaqndpkybnk1k2q6lrvpviwq609z";
     };
     meta.homepage = "https://github.com/williamboman/mason.nvim/";
   };
@@ -5580,12 +5604,12 @@ final: prev:
 
   material-nvim = buildVimPlugin {
     pname = "material.nvim";
-    version = "2024-01-22";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "7cf05c682044a528510cc41135d83f52e4356f15";
-      sha256 = "1y7906y3c88sxcy4fccjvigy5vmxxllr45c6kg8w55404jaavhvi";
+      rev = "1804e517ceb0fce958a9fabaa94c9a6e09d54b8f";
+      sha256 = "1x4cqwy9anirl8y4lby1rdnxblypi256qdpcdd8wccfk6jsvd74r";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
@@ -5628,12 +5652,12 @@ final: prev:
 
   melange-nvim = buildVimPlugin {
     pname = "melange-nvim";
-    version = "2023-10-23";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "savq";
       repo = "melange-nvim";
-      rev = "ca3444c8e5002ee5ab6f077660317f869c7b6a36";
-      sha256 = "104lc4kfx5jr6fd684vx1bps7ifbqfx6iyi3nbczbhycw0wfw4r4";
+      rev = "ec15b091304580f1d37e711c3a54bc828b09e255";
+      sha256 = "1240s01m9mayjgqr0py3zwmbnvq06wzpm3pwdjmy3mj6kkaxxccp";
     };
     meta.homepage = "https://github.com/savq/melange-nvim/";
   };
@@ -5652,12 +5676,12 @@ final: prev:
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2024-01-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "1cd8d7e8318071eddc536815f5cafe50b012ac29";
-      sha256 = "03gpcx09a53w73bf4kyhk5xa764bxcaaymwrnw1jr0yqinyz7j62";
+      rev = "1d49300d50a2c8ee7faecceb151084f207ff65ba";
+      sha256 = "1md4wbydbnwmyw72pj1w67a0ljcgx4qam2a41ka3bxcr2hr2n5nw";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5688,12 +5712,12 @@ final: prev:
 
   mkdnflow-nvim = buildVimPlugin {
     pname = "mkdnflow.nvim";
-    version = "2023-12-26";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "jakewvincent";
       repo = "mkdnflow.nvim";
-      rev = "7b2fc47d6a3ae3b19ebc5a7eea00ea1e712f20d1";
-      sha256 = "010gh0qdqqx53fpxjhfn3w0r5kkdw4h27vl6zbrvw4n0ilqlg9n2";
+      rev = "1b24b8b5fe10fe09af4572c0165293e0dcd998aa";
+      sha256 = "04bsnj8v1wwkq92dlgk1jn8sx964zawcc7im858r4jxczycg8kj8";
     };
     meta.homepage = "https://github.com/jakewvincent/mkdnflow.nvim/";
   };
@@ -5712,12 +5736,12 @@ final: prev:
 
   modicator-nvim = buildVimPlugin {
     pname = "modicator.nvim";
-    version = "2024-01-25";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "mawkler";
       repo = "modicator.nvim";
-      rev = "81f0e320d63e2bb59219b9de8dc244e856412020";
-      sha256 = "18dkiksnnrxhzisarrxzza3lyankw6h3zf1dvzcb6rbbmn946bz5";
+      rev = "d35bb7c3a93e311c784cb439ca26209181c0815e";
+      sha256 = "0dg7q1x2mzkhlvrbr26zcqih81b5wzb9wvh5zm0iw099pgf2fq37";
     };
     meta.homepage = "https://github.com/mawkler/modicator.nvim/";
   };
@@ -5748,24 +5772,24 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2024-01-20";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "4a3980f74742ac6f151cc00e444e74fc02b799a2";
-      sha256 = "081x575151glxz0lfpif3msdzx0wjr9730rwj4ynkavjj5fcx9s3";
+      rev = "21d766c2d60e5f6e03f507e7f3e382a2a927ad41";
+      sha256 = "15bnp062hxjh477pr5rqs4w9wpqy6rf2h64l9hsaijamrk19qd4y";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
 
   monokai-pro-nvim = buildVimPlugin {
     pname = "monokai-pro.nvim";
-    version = "2024-01-23";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "loctvl842";
       repo = "monokai-pro.nvim";
-      rev = "c2fe71f5b47ff5042053dc74cf8a849d662f2275";
-      sha256 = "00p0y008w07c5yd3aqczxiidl0x269fsblg3lnjd4xxshjhpdsp9";
+      rev = "1b9b086df95ad9a6b946c56f65fa2d048297c00b";
+      sha256 = "14iks0rcnr695lv39i85ysfh4752y5x56mcr5dl9np5sk7820v3p";
     };
     meta.homepage = "https://github.com/loctvl842/monokai-pro.nvim/";
   };
@@ -6060,12 +6084,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPlugin {
     pname = "neo-tree.nvim";
-    version = "2024-01-21";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "e578fe7a5832421b0d2c5b3c0a7a1e40e0f6a47a";
-      sha256 = "0s0j67zv6hzj4fsa7kp5rkbbgcvx7n7hf7vx14v8lwaz139lml5w";
+      rev = "db178f4a49c19f8e4ed5a01dafa9d79e76f0081e";
+      sha256 = "1kzbz3163mw70cbxwf0kpb5dhz3qh68ywx23n7m4mzrg4anwlhkb";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -6084,26 +6108,26 @@ final: prev:
 
   neoconf-nvim = buildVimPlugin {
     pname = "neoconf.nvim";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neoconf.nvim";
-      rev = "cfc29315288515849aa54c05828d49f01f033b66";
-      sha256 = "0h642cscysznr4rxzch4kq99l7f2kgdxyiibws844w1wsail1zqx";
+      rev = "4ef6c6c5882e7e16209173fb8c47414202843384";
+      sha256 = "0shaipc3nnm3gr19ivxcyqydihlryr07axs1sqvhy0x0x02y37jp";
     };
     meta.homepage = "https://github.com/folke/neoconf.nvim/";
   };
 
   neocord = buildVimPlugin {
     pname = "neocord";
-    version = "2024-02-10";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "IogaMaster";
       repo = "neocord";
-      rev = "d5f51d466644fe3c62eda4c41e373ecdc299a367";
-      sha256 = "1gv7lkqgiljgazzm0r5nbnvj3rj0l376bcz3hf2d881h4xi2lq3l";
+      rev = "387854d81a2c55207b7223ab5221f9d0afc6b273";
+      sha256 = "1a9ykcslpb90y332az3khwbw8kjnnw6wpmgq3yhryd1a9viyz6kf";
     };
-    meta.homepage = "https://github.com/IogaMaster/neocord";
+    meta.homepage = "https://github.com/IogaMaster/neocord/";
   };
 
   neodark-vim = buildVimPlugin {
@@ -6120,24 +6144,24 @@ final: prev:
 
   neodev-nvim = buildVimPlugin {
     pname = "neodev.nvim";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "3408a4daeca5ff8f41cb2c668b6d8fcc665f793a";
-      sha256 = "18rgw2jlwyyc586ajrrkhgj6ddnz784ijjxjk73007icdsychyh6";
+      rev = "de3685b8c1cd439dd96b7958793f6f381f98652d";
+      sha256 = "184v1zxbcrndkzbqa9v9mc82vy0mjjwkww62n6nqqvf316dklzwf";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
 
   neoformat = buildVimPlugin {
     pname = "neoformat";
-    version = "2024-01-10";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "209b56a00fc0206d81db768b121b94d0daf48b64";
-      sha256 = "1ii10q91l78c1hbmz0p0jv7vqpgz69rbklznzckrbia8mqz416yk";
+      rev = "b8e0baf965d2fbb173aabe3d847538744c0e321b";
+      sha256 = "1b9xrh8zp2x05pyn0rrfzx1db9hv98737zn910fm36arbhr5flvq";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -6156,12 +6180,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "ce0c369ccdba3f644a3b28f4c053421f435352c9";
-      sha256 = "0zvs6ygghz786fs436pladaml57mfb28lfx0xciwdrxfcd25rmf0";
+      rev = "1c0369a39587054ff473179c1c04e793fb3d6378";
+      sha256 = "12viin5g409ac5d6p62hz9kyvzrjiyg0l04m28i1hxh5qn719k3q";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6228,36 +6252,36 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2024-01-21";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "28cbafbc0cde316d8e2618ff26377200225e9393";
-      sha256 = "1z1ir56mlwaay20x7yqdhkrj2nl39xhd63maims68jam59l55lq9";
+      rev = "7b3e794aa8722826418501608c8a3ffe4e19ea30";
+      sha256 = "1cr8hxwyzcca5kwajadvsmi0v1hzr8lfi3gcyhilxjnmaiiqaing";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
 
   neorg-telescope = buildVimPlugin {
     pname = "neorg-telescope";
-    version = "2023-11-12";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg-telescope";
-      rev = "6a7a677c40fa3c348924a4e2a06a513e0b34c056";
-      sha256 = "05m64vwi55kzknz9za0izc9hs1djc46467d7d8ijx3268sw3l0x6";
+      rev = "418f8fd4bd7360d954613a2322b4eb2888ac3ad9";
+      sha256 = "0r09xwvzb2ma25ngfiilwd9i6ci2llkv98scdzjkq5z96m1h6vnx";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg-telescope/";
   };
 
   neoscroll-nvim = buildVimPlugin {
     pname = "neoscroll.nvim";
-    version = "2023-12-08";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "karb94";
       repo = "neoscroll.nvim";
-      rev = "be4ebf855a52f71ca4338694a5696675d807eff9";
-      sha256 = "1yqh9ig3w8kyzksv8sv7xsc2rk2l637q54g4wv8zqwz226cw56ws";
+      rev = "6e3546751076890304428150e53bd59198a4505d";
+      sha256 = "1hm93lzg9mgpcm871gln6dq864mm2llaypcm0415gyvpqy2fmr3n";
     };
     meta.homepage = "https://github.com/karb94/neoscroll.nvim/";
   };
@@ -6300,24 +6324,24 @@ final: prev:
 
   neotest = buildVimPlugin {
     pname = "neotest";
-    version = "2024-01-25";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest";
-      rev = "73043d666780e35185a77589e01bec96a52db910";
-      sha256 = "1aj4zrp21h7h77sw70l2g3spkgzl5vb24vv2halrfrqms7jfaaqf";
+      rev = "f6048f32be831907fb15018af2688ff6633704fc";
+      sha256 = "0ib8psdw472w3zxiyiw0inps7lg7jfyzhwsi9s7lpyhkjb5m7ljk";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest/";
   };
 
   neotest-dart = buildVimPlugin {
     pname = "neotest-dart";
-    version = "2024-01-10";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "sidlatau";
       repo = "neotest-dart";
-      rev = "b776e86c08b1cfd23fd49c337214d9ea67bb6ccc";
-      sha256 = "0x30v0dfi7d1940ga0qnbn9sidy0x6wy58lbvnpb3v1ig24p435y";
+      rev = "242b380d44c0932fbc990a264414542e345c5592";
+      sha256 = "0072vmr875dk4pfwrjvjrr0mrihn3jq5ikn0jrnrxy7lvqf97r60";
     };
     meta.homepage = "https://github.com/sidlatau/neotest-dart/";
   };
@@ -6336,12 +6360,12 @@ final: prev:
 
   neotest-dotnet = buildVimPlugin {
     pname = "neotest-dotnet";
-    version = "2023-12-22";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "Issafalcon";
       repo = "neotest-dotnet";
-      rev = "1532f6123207dcfe36263e7f3182609f68588da8";
-      sha256 = "06jvpsw21gryy4vzv6ag2zradm71v7lrzvkhhhpljyvc482yvflg";
+      rev = "cc387cbd39fd7455ea0a3e0348ccd0da35aa3443";
+      sha256 = "0fndhlgwngvm5dnxxkpv8cbrf1qk5pla2ys9pmgabf3q7js7lq0f";
     };
     meta.homepage = "https://github.com/Issafalcon/neotest-dotnet/";
   };
@@ -6361,48 +6385,48 @@ final: prev:
 
   neotest-go = buildVimPlugin {
     pname = "neotest-go";
-    version = "2023-11-30";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-go";
-      rev = "d29d20d912aca81a07c50022d880cc66f0d26542";
-      sha256 = "0dhmkh2k18klhlv3cpjsi23ym0isrsf59dr0da2m9528pjzf1qi6";
+      rev = "ba5d536304ed6971f00d16b48ec26997622ffb43";
+      sha256 = "0adbz26anv3qnwjw018bkxcf3syjxjdkv71zw3lnal34k5xp6x27";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-go/";
   };
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2024-01-15";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "25c5d7c8619abe9dece137aacf2abe9d38995fad";
-      sha256 = "06xpqvrxx9n2yn0mrbk90mhwhn42gbbwl7n73g5dn5y1krkk50hn";
+      rev = "02852878c8d1e9f3cc61ea2d6592335d4cf6a54a";
+      sha256 = "0967yv47gld3gy3nh1fxqxqnfjjaajqnil42z7pwz7bkxgs63hib";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
 
   neotest-jest = buildVimPlugin {
     pname = "neotest-jest";
-    version = "2023-12-17";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-jest";
-      rev = "a394106cf053eef86d65ae04c4b93a1a7bd60aef";
-      sha256 = "0vgb4lvi1cvdjqwljdrzgvpm772jj9cj44s1hms58iwl35rg17wq";
+      rev = "c2118446d770fedb360a91b1d91a7025db86d4f1";
+      sha256 = "0wzgwx4mdwhrj77bf0wv6rv4qjii118hayavdamwsszpm1ddyvaz";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-jest/";
   };
 
   neotest-pest = buildVimPlugin {
     pname = "neotest-pest";
-    version = "2022-11-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "theutz";
       repo = "neotest-pest";
-      rev = "a50582719267a847c84e1564e97c698d994f883c";
-      sha256 = "00scdxkqkfsdq6sn1a7cdcrqpdi8bzi5z2qjqlysp6njilbd1jws";
+      rev = "94ed941af4ea6e7d0caa4de8afbf966f3cfe35e4";
+      sha256 = "1655rpr007ix9z4nxkabnvdk8c0kj080waxddaq656dhdzdj7l1q";
     };
     meta.homepage = "https://github.com/theutz/neotest-pest/";
   };
@@ -6461,8 +6485,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "rouge8";
       repo = "neotest-rust";
-      rev = "d945ccc5041ff02b86313cc5d02affd39f8e1c3f";
-      sha256 = "00194ldhg9m2w5mr0wzcvz7d7icjb2ym0plqzhh4yga0iipqsdvb";
+      rev = "392b54e18174b8c69eba779f94a9fd0b318d383e";
+      sha256 = "1sg41hfgrjc0nc1qn4rddgipq1s5gdnc1i5i4wijkjvyd7cw5nhy";
     };
     meta.homepage = "https://github.com/rouge8/neotest-rust/";
   };
@@ -6493,24 +6517,24 @@ final: prev:
 
   neotest-vitest = buildVimPlugin {
     pname = "neotest-vitest";
-    version = "2024-01-16";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "marilari88";
       repo = "neotest-vitest";
-      rev = "87e91bfd9419a8c74bf0d105e2ae31b9692daf0b";
-      sha256 = "0kfbb9rywkfaz7v2ls7dnncbg221ayyrlp1cz9sgbqib8627pmmz";
+      rev = "75bb96b8b18adcf5152fdb8a9342373a20a463ce";
+      sha256 = "1k459x2dyw2gr3i9ayqwldbad6zwbr6sp7js1bz9i4ily8wn5y7y";
     };
     meta.homepage = "https://github.com/marilari88/neotest-vitest/";
   };
 
   neovim-ayu = buildVimPlugin {
     pname = "neovim-ayu";
-    version = "2024-01-08";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "6463d39253bb70e2b867fce57f9e7174f657bd1b";
-      sha256 = "1xhk1qdlk10paqaf8np7z52zyl2k0x463llh14gxbc58iraz5g95";
+      rev = "0a9804db5c08dba63be9774a57e4214fd0473ce1";
+      sha256 = "17324y4ywxmijappa9sb194xc2mwa8ijfxvb3s4302bnd6ggdw7h";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -6565,12 +6589,12 @@ final: prev:
 
   nerdtree = buildVimPlugin {
     pname = "nerdtree";
-    version = "2024-01-09";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "bc606c43e2d8ef0987d6d3d1ec8c17360a2e29d5";
-      sha256 = "1c3pxa49wy2rgir0s87mfmb0h2wi0jmm54p6zmnm8x5v7j7n1bvp";
+      rev = "bdf81a086dd271571104a11f555b79e5cdff5dc5";
+      sha256 = "0rys7y40ifw87q10p3sj9yf8hnmzanrn1pp2ayfl6sf94i6y9p4q";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
@@ -6649,12 +6673,12 @@ final: prev:
 
   nightfox-nvim = buildVimPlugin {
     pname = "nightfox.nvim";
-    version = "2024-01-24";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "7e9487875dc5f69a2fd6f60d3a3ef4fb457b57c1";
-      sha256 = "0yzx95mkgq37hylc9ksca7bds0ny06x8hphin28k4pnwi0vqcf3s";
+      rev = "a408e6bb101066952b81de9c11be367114bd561f";
+      sha256 = "0h9dcwh404jzrjw78y98s59pcqcyki5wrsap77lilzq0j8zh1lj1";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -6709,12 +6733,12 @@ final: prev:
 
   no-neck-pain-nvim = buildVimPlugin {
     pname = "no-neck-pain.nvim";
-    version = "2024-01-24";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "shortcuts";
       repo = "no-neck-pain.nvim";
-      rev = "fc3cc9012d9720aca3203702447caa59bd93f1a6";
-      sha256 = "0flml2v5znlgffgn59k82dlz84d705mg8rxrhs8sciqr7jqxk1xk";
+      rev = "7ab539aaa083e92ef438d4cdc0261d8661916f1d";
+      sha256 = "0pprczdx9bfsdvkc2l3szkdfvkpbcmblz3bz9cn68vldnw1z4yvx";
     };
     meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
   };
@@ -6733,12 +6757,12 @@ final: prev:
 
   none-ls-nvim = buildVimPlugin {
     pname = "none-ls.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nvimtools";
       repo = "none-ls.nvim";
-      rev = "a311c7cc8f17543143a7482cdbe3a384c371d56a";
-      sha256 = "1fk52awkplp2c1bf7aa8whs6qaxvphry1crp515b2yz0ik8ykqdk";
+      rev = "34b1311bd07bd3741e60e06b34d0709d6e5a9f0f";
+      sha256 = "07bxv7xcjgyzvmh4lpdqn2350awi2ah5bjrimqvcm0hrak7b204x";
     };
     meta.homepage = "https://github.com/nvimtools/none-ls.nvim/";
   };
@@ -6793,12 +6817,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2024-01-04";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "35da9ca1de0fc4dda96c2e214d93d363c145f418";
-      sha256 = "0ix9dshl7hxyygfyjg8ki0swm0ysbhm42aah5cbbhpnd00hv8qa9";
+      rev = "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b";
+      sha256 = "0wj2mgmykplg6dwgdh63342fdfqwmr7x2pnykk47646gzzixlgl1";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -6829,12 +6853,12 @@ final: prev:
 
   nvchad = buildVimPlugin {
     pname = "nvchad";
-    version = "2024-01-19";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "nvchad";
-      rev = "282a23f4469ee305e05ec7a108a728ee389d87fb";
-      sha256 = "0b222vc3xqhaa6abkd9w3gd8l50ddrb06lsxwhw1sa9sqssv0bc1";
+      rev = "8aec881517ae9e39990507f3bc7dfebfb38d531a";
+      sha256 = "1wk51ja4338zi9bh4bvcr1wpqfd6rv00sy0wqvm8fcjn5csqh6qq";
     };
     meta.homepage = "https://github.com/nvchad/nvchad/";
   };
@@ -6877,26 +6901,26 @@ final: prev:
 
   nvim-autopairs = buildVimPlugin {
     pname = "nvim-autopairs";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "096d0baecc34f6c5d8a6dd25851e9d5ad338209b";
-      sha256 = "167a5d8rycg703f1x9q7g9bavchfv8cj3qxvq721cf9sz1jniip2";
+      rev = "2e8a10c5fc0dcaf8296a5f1a7077efcd37065cc8";
+      sha256 = "1d02klx0fhacg1ighmz84176rrm0a28dv19fnryhd0086b8ykrr9";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
-  nvim-base16 = buildVimPlugin {
-    pname = "nvim-base16";
-    version = "2024-01-24";
+  nvim-bacon = buildVimPlugin {
+    pname = "nvim-bacon";
+    version = "2024-02-12";
     src = fetchFromGitHub {
-      owner = "RRethy";
-      repo = "nvim-base16";
-      rev = "fc26d79fb3420eb3bc6e036f23671e25bfe227d6";
-      sha256 = "1fqhngnwas2lykrz5yjw68nfwzy9f0a6f4vmk97jc54npwn5qgkc";
+      owner = "Canop";
+      repo = "nvim-bacon";
+      rev = "3f8e7a80a0e715952a3066fefe7447f1347207ca";
+      sha256 = "sha256-jIoRzMjOZlTHR7q4piyY7MjEUgZIR5pjobfOdY/IpeM=";
     };
-    meta.homepage = "https://github.com/RRethy/nvim-base16/";
+    meta.homepage = "https://github.com/Canop/nvim-bacon/";
   };
 
   nvim-biscuits = buildVimPlugin {
@@ -6949,12 +6973,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPlugin {
     pname = "nvim-cmp";
-    version = "2023-12-14";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "538e37ba87284942c1d76ed38dd497e54e65b891";
-      sha256 = "1mxigpm4h8ad8hjd8zy6ajkk2c03vgcrigqarhybz6zsi52iil06";
+      rev = "04e0ca376d6abdbfc8b52180f8ea236cbfddf782";
+      sha256 = "0zzlkla5vgrfa55a3sjb885q0574s67ji5ps2rq53q82hlfwwphl";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -6973,12 +6997,12 @@ final: prev:
 
   nvim-cokeline = buildVimPlugin {
     pname = "nvim-cokeline";
-    version = "2024-01-07";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "nvim-cokeline";
-      rev = "a62eaff75c59da2ca261fefc2992e1cac04bd30e";
-      sha256 = "0l4wfxiz4c7xg9m25lyv0xlrwgcyx2951x9dirqchpaf3ja6a0d4";
+      rev = "7310f192af74c6912ca7a40ae1b16253aa95e50e";
+      sha256 = "130lxdw0717f1hhkrraa2xl4abpd5w4lqqifi3hbk4brxsric6a3";
     };
     meta.homepage = "https://github.com/willothy/nvim-cokeline/";
   };
@@ -7069,12 +7093,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2024-01-13";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "9adbfdca13afbe646d09a8d7a86d5d031fb9c5a5";
-      sha256 = "1pwzw1v314m0gbpr77y48w1qrpappqw1vmvkl7qm4dz02rvkh5zm";
+      rev = "fc880e82059eb21c0fa896be60146e5f17680648";
+      sha256 = "1dg4sh3dxswak311faz5n3g2l7zy6jvqdvdrbj51n5flm7bgzscq";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7093,24 +7117,24 @@ final: prev:
 
   nvim-dap-python = buildVimPlugin {
     pname = "nvim-dap-python";
-    version = "2023-12-19";
+    version = "2024-02-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap-python";
-      rev = "091e4ae00a12085f9ed4200a3cd04af7179b8a23";
-      sha256 = "02ialmgk6i2svjqglj7hmrakfsk5spcxb9idb13vmzlng8s3rzsp";
+      rev = "f5b6f3a90aae0284b61fb3565e575267c19a16e6";
+      sha256 = "0drz7gmlg5kyz8a3xhczwlg2bc7lpdwph4q3acjm9skv67cp5bfj";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap-python/";
   };
 
   nvim-dap-ui = buildVimPlugin {
     pname = "nvim-dap-ui";
-    version = "2024-01-22";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "d845ebd798ad1cf30aa4abd4c4eff795cdcfdd4f";
-      sha256 = "1by56ffghig930r0cak95h0gxxrf78jwr3f2fxqziyz32dvi5mp2";
+      rev = "9720eb5fa2f41988e8770f973cd11b76dd568a5d";
+      sha256 = "0ahc1f2h9qv6bns5mh7m90lfrf3yldy018p27dsc9cgpdpb15i1q";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -7213,24 +7237,24 @@ final: prev:
 
   nvim-highlite = buildVimPlugin {
     pname = "nvim-highlite";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "6a69959d5a945970cd59b32e19428c4732d7554a";
-      sha256 = "01qw3qaq94vsawm3nnwwrf0x7mra8wqprgw1nc2njzzygqkhivqw";
+      rev = "6c177613d5de2962c4d5b79d96894d77b7b55c31";
+      sha256 = "1563bbwz2szy0gc7i17dii5y1bq0s78dh8k9z5xbb2a415s3qr1s";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPlugin {
     pname = "nvim-hlslens";
-    version = "2023-12-17";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "8ffc64bb6b624612cf762982b92633f283f7a715";
-      sha256 = "093da3q6lalp48wph4688hjkd0lf0bnzsa8y2bms1j8js0mmr0p3";
+      rev = "e4c811a401b06f86a7bb042b1d64a5cba21729a9";
+      sha256 = "1ifi59hd3wwb0wy2ymfbcyhixwfgmj292c5qip7gav8ffqn9cv9z";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -7249,12 +7273,12 @@ final: prev:
 
   nvim-jdtls = buildVimPlugin {
     pname = "nvim-jdtls";
-    version = "2023-11-28";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "66b5ace68a5d1c45fdfb1afa8d847e87af2aa1f8";
-      sha256 = "1cycasjvms1m58vcb3sk01dp4dzjjchds20yq0c6vq1s98wir0y6";
+      rev = "01b57f75b00e71541aa328398d5e10ba5ca3ea18";
+      sha256 = "0mfaim31n99j7jd9q1i67ri5a8jkkfkndyhqvl6dcybziyj86l8w";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -7332,12 +7356,12 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "8e5920f9ce9f24c283a2e64be5fe58d1d37d1744";
-      sha256 = "07vs24r8jglq9sjj5lz5k2ay0b5arg21cvvl54j2hl9nrl5fl2z4";
+      rev = "31be66c27214174a28fc092ffcf4bb3e8f6cfd43";
+      sha256 = "0n1rkxddmz4q7isf49cigr0viyny758ds8bj3g1rcgd7qd7x4s3m";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7368,12 +7392,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2024-01-20";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "8917d2c830e04bf944a699b8c41f097621283828";
-      sha256 = "0wiqy0k83qjh2y9r3rdm8jrrfmrwfm2729wrshxmxbdns0vjrmja";
+      rev = "d1bab4cf4b69e49d6058028fd933d8ef5e74e680";
+      sha256 = "10sfqf97v2cr9l6fb1i9zvv5srlc0hzm3k74ivb9vwvj6d3c2kfn";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -7428,12 +7452,12 @@ final: prev:
 
   nvim-metals = buildVimPlugin {
     pname = "nvim-metals";
-    version = "2024-01-15";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "d47287324d1e2efdb7aabde73fad5fd5b2b438bf";
-      sha256 = "1q963lj9bxx4iycgzrpsybmrpc7l4qq7nd3cl4iqrp8qkjqklqwn";
+      rev = "94c8d4d3b13bbf51594cfb940454af33e1149f8b";
+      sha256 = "1p6rpap752y0y42xhl5jkmv08fx1aggjnqyb9adsm11p351yqm1r";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -7500,12 +7524,12 @@ final: prev:
 
   nvim-notify = buildVimPlugin {
     pname = "nvim-notify";
-    version = "2024-01-15";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "80b67b265530632505193553d05127ae7fe09ddd";
-      sha256 = "0spjp93s5zb2jyvj5is98kaargaxr11sb4dk3hc40p6nv78bq42s";
+      rev = "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15";
+      sha256 = "1daf6qhm9p0smcqi8w6vr8agnvyv9ra3z7f0ijlcab8qgqwhz5n4";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -7596,12 +7620,12 @@ final: prev:
 
   nvim-scrollview = buildVimPlugin {
     pname = "nvim-scrollview";
-    version = "2024-01-13";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "2bc1d94174a977e7147e845156d3c4c12ac06b67";
-      sha256 = "0da1bb9ppk3klxlwrbfh48vl39a6pbpp1z2irwybnz24zanxb4bi";
+      rev = "1852d8927e3e4c53df8c675a8a271175483c6ede";
+      sha256 = "0cq9q2q7lmbcq0xcrr9wxvkhb36vsbjg9bm84rqga740db1az1da";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -7644,12 +7668,12 @@ final: prev:
 
   nvim-spectre = buildVimPlugin {
     pname = "nvim-spectre";
-    version = "2023-12-20";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc";
-      sha256 = "1kmw61gli562d4r4vsf2fpxa09pi6a0brcdzly02n7xcan4l7bc4";
+      rev = "6a0785ef64c839d935a2f92e20988e962fb6537e";
+      sha256 = "1qn1w0n209fhi160mr2jknvly53zj2njcy34cszw0v7sal3achlw";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -7668,12 +7692,12 @@ final: prev:
 
   nvim-surround = buildVimPlugin {
     pname = "nvim-surround";
-    version = "2024-01-17";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "0c02c52182a9c2a7fa7e122b4037f6408e98434a";
-      sha256 = "00cfnnz9hrr2hjvb6y58xwv6rsh0p6v7dw0ca60gx2313js10q08";
+      rev = "8f2af76134f37058dc4c27a24bc5f86c9cae76dc";
+      sha256 = "0xsnz2x5jma4ff7sgl9ac7mnm71n22hx6wmh96245rclx24z3a8q";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -7716,48 +7740,48 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2024-01-21";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "7bdb220d0fe604a77361e92cdbc7af1b8a412126";
-      sha256 = "1ij2prf826bp90i9ask2an0aih0nch5c4sax4awwwhpnhic3780h";
+      rev = "863cf832ceb0b2377c913b7696dd7d64f4978941";
+      sha256 = "1pcfv6skwxifyzh94a8rjzz3gffflxlf5c2zvs851adc1lkhbwrp";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "cc908cfcd7258b2e5c1a9c583e2f3feda0caf23b";
-      sha256 = "0xp9gfcdpxbxf09s449w5dxpkbw5hin6fxzb67kfz18k7fhnwfrw";
+      rev = "17d68ac13c902f55253b7facb47df4c0ae532575";
+      sha256 = "1m77s8va6h6g2xvjfjw3adigyg09z0qnrwbfkbymksa36y4jgc11";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPlugin {
     pname = "nvim-treesitter-context";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "2972717355a18d5599e9162f48d6e3e584068bf9";
-      sha256 = "136yqfbgcjzy0k99h5zjrfdkcy5xpdqwdkvvc6x0ff4sw4mq0kgj";
+      rev = "23b699ac40091d8c729f024b3f1400bc7e26e0c5";
+      sha256 = "0mrc0ilamj956wmymr2cc6zjjfxcrzp32iwhy1gmj9hxwacllvw4";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
 
   nvim-treesitter-endwise = buildVimPlugin {
     pname = "nvim-treesitter-endwise";
-    version = "2023-09-23";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-treesitter-endwise";
-      rev = "4c344ffc8d54d7e1ba2cefaaa2c10ea93aa1cc2d";
-      sha256 = "0320lz13zymw70wx7malkw4nkma3scz4kz35mq59f9p51dan6iky";
+      rev = "60e8c288e011403f248b5f6478dde12bed8a6c55";
+      sha256 = "0dly21jk1wm80s7ypwpwfm4mx1srbmaww0441854dwvh2s7j634v";
     };
     meta.homepage = "https://github.com/RRethy/nvim-treesitter-endwise/";
   };
@@ -7788,12 +7812,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPlugin {
     pname = "nvim-treesitter-textobjects";
-    version = "2024-01-14";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "19a91a38b02c1c28c14e0ba468d20ae1423c39b2";
-      sha256 = "1g38yh7434sxbi270q8bddqiv61msaf4cj62ar0khjavzgxy41nc";
+      rev = "7f00d94543f1fd37cab2afa2e9a6cd54e1c6b9ef";
+      sha256 = "18f2lnl18iha6sjk4053k4f82bh1ay8p4k71kj76lfizllvswxjf";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -7812,60 +7836,60 @@ final: prev:
 
   nvim-ts-autotag = buildVimPlugin {
     pname = "nvim-ts-autotag";
-    version = "2024-01-25";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "a65b202cfd08e0e69e531eab737205ff5bc082a4";
-      sha256 = "1wysb48l5dfqfqf6mr75jni7n078h1ab1bqyrrjr05sybn3lww8b";
+      rev = "531f48334c422222aebc888fd36e7d109cb354cd";
+      sha256 = "1azlkqjvdnam4plm98a23j21swwlk1lvpa7cj3cpvi8q6wi09wkh";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
 
   nvim-ts-context-commentstring = buildVimPlugin {
     pname = "nvim-ts-context-commentstring";
-    version = "2023-11-30";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee";
-      sha256 = "0363gb837rm66127z7b7q20ak4dgby3q1r0wvz5sqbkw8d704jgb";
+      rev = "7ab799a9792f7cf3883cf28c6a00ad431f3d382a";
+      sha256 = "1m0c909pkyp5ha9n0p72kvh9mrhl2mzsmhnfanrgyqxj32gaqa26";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
 
   nvim-ufo = buildVimPlugin {
     pname = "nvim-ufo";
-    version = "2024-01-13";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-ufo";
-      rev = "b0741a647efd98d9abb6cb653e056d24a07e4581";
-      sha256 = "1bnyf422pf7y58a7v8zfx3w6w7ihzxchrix6rxxpypaivdp6say2";
+      rev = "553d8a9c611caa9f020556d4a26b760698e5b81b";
+      sha256 = "17nd2clil96j1a8l5rxvb83c1aqkff31sxylv4kac6rx30g8k9qa";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/";
   };
 
   nvim-unception = buildVimPlugin {
     pname = "nvim-unception";
-    version = "2023-11-30";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "samjwill";
       repo = "nvim-unception";
-      rev = "23085504347a710e43d7921ccb839fda8f1a70c1";
-      sha256 = "0lprrkgm1plnw28vfpq550gakyw3ngxw930lr72wcx82r029i51g";
+      rev = "a0af21a27e2ba19ce6004d57d34006d18bc6bad4";
+      sha256 = "165gg5bgvga5c79hvniryf5d530r4gckahnhaj3xb9cf7m2xsdvy";
     };
     meta.homepage = "https://github.com/samjwill/nvim-unception/";
   };
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2024-01-24";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "b427ac5f9dff494f839e81441fb3f04a58cbcfbc";
-      sha256 = "13ywffn24wlqciy1fnisiqbgsg4h6nxf3wcd0v28kmk29wyzqkf3";
+      rev = "7f30f2da3c3641841ceb0e2c150281f624445e8f";
+      sha256 = "1srssx18fgipznnl6b3lk17jkv0acsx6cw86m6x788nawl6qhsv7";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -7944,12 +7968,12 @@ final: prev:
 
   obsidian-nvim = buildVimPlugin {
     pname = "obsidian.nvim";
-    version = "2024-01-25";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "epwalsh";
       repo = "obsidian.nvim";
-      rev = "5f469faab7bebc1ee30942eeebfdfdcbd7f2b411";
-      sha256 = "1abrd8zs1cmdw08m3vxlc6j2ay7kvchl53zx052lqps07is3b6ny";
+      rev = "0a6739d2229c8eb30396db550f3818e092088c27";
+      sha256 = "1d1xihqkb1fcaqbkdx4pr7xa35g66v9z4bqdv2pk89pa1jm3k1sl";
     };
     meta.homepage = "https://github.com/epwalsh/obsidian.nvim/";
   };
@@ -7980,12 +8004,12 @@ final: prev:
 
   octo-nvim = buildVimPlugin {
     pname = "octo.nvim";
-    version = "2024-01-24";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "f77d214e5a67f1c1eb601a9c99418a5f7924af22";
-      sha256 = "04hsdz0ma7q4c7bs89si2hdjnds5rybagh7z1jnl8xc52kxf2lwk";
+      rev = "feae1e5519deebad3c59ee1d57d28aa22822f7c8";
+      sha256 = "0nvd93ml9gv20qh7bl1q69bk7ya6k3lnl49ywhaixh41f28z39wf";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -8041,12 +8065,12 @@ final: prev:
 
   onedark-nvim = buildVimPlugin {
     pname = "onedark.nvim";
-    version = "2024-01-22";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "14e5de43cf1ff761c280d1ff5b9980897f5b46c7";
-      sha256 = "16c3hqpn11bqa39b02x5dn94ny5i3pkyn80gkrcdvibp7zdxjfwf";
+      rev = "1230aaf2a427b2c5b73aba6e4a9a5881d3e69429";
+      sha256 = "1npc9x2r0aass9swxmhryia90ar7f4nx8j456jzlf66lzbr8xrnp";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -8065,12 +8089,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPlugin {
     pname = "onedarkpro.nvim";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "e39ebd1d8062acd11b2bc0cfef8ce6d88d26c4f9";
-      sha256 = "1vaafhvfzcg1g2llb1swazfjy24safc57lkyxd6f0cdh0hxiykx6";
+      rev = "bbe613372548ef8fa1a1f67d50f55795727ac432";
+      sha256 = "0dd2wrr25cj7k6zp0zdhqks3xdg9kivh3m5z4wnkdxv8mwssm31n";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -8089,12 +8113,12 @@ final: prev:
 
   onenord-nvim = buildVimPlugin {
     pname = "onenord.nvim";
-    version = "2024-01-20";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "rmehri01";
       repo = "onenord.nvim";
-      rev = "c2219394f20ab4d256d7cf78d6c82dea75491a2a";
-      sha256 = "06dwlckfhvzgmfq13a6259krhs69z5r5yp4wqnwf17wvj80n1vvd";
+      rev = "ad19a49d38e34a5dde8224882ac711c1310565a0";
+      sha256 = "0cqq3av4a3fsb34xknr5xlsy3m6q1d9wgzscp8zsfz0nqxvq5j77";
     };
     meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
   };
@@ -8125,12 +8149,12 @@ final: prev:
 
   openingh-nvim = buildVimPlugin {
     pname = "openingh.nvim";
-    version = "2023-10-31";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "Almo7aya";
       repo = "openingh.nvim";
-      rev = "5c9e851d7c26fdb236dfea8866b71fefe7ddeffc";
-      sha256 = "0xq2s7vwjfxqm5g7k5c3b9cm9j3ngrx8g4dd9qfzq1s9pfkk3i3y";
+      rev = "52e2727cbd7b52cdc7a5bb52c77c07a329db6cba";
+      sha256 = "06v4b07ary1swli801ay0g7jd14c7b3pp75vndkxab79nshcs88c";
     };
     meta.homepage = "https://github.com/Almo7aya/openingh.nvim/";
   };
@@ -8149,48 +8173,48 @@ final: prev:
 
   orgmode = buildVimPlugin {
     pname = "orgmode";
-    version = "2024-01-24";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "bd2a65179c814b40ca3073a282507a6a4f2355c1";
-      sha256 = "0biqfp0azb2y66zvqlp8y037c4raxhlnwvn89vdpp26d6isyzf93";
+      rev = "5a238a2880bc57c156cb23c12ff4af0a0c8181c7";
+      sha256 = "02b7zm570b394ynzr47jik3q3basfm8rz4vm99d8xvrjq7vkjjil";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   other-nvim = buildVimPlugin {
     pname = "other.nvim";
-    version = "2023-12-04";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "rgroli";
       repo = "other.nvim";
-      rev = "d4d926dec6d0e037c1a5f092793b474947ed357e";
-      sha256 = "1pqs0sv35p74jgb3p01dqgpvzcdsxg1fmwkrq65nz9lw8zff7q11";
+      rev = "d36a66af270b63459c080d4589126a06cf56578c";
+      sha256 = "015is3pyjn0jrmz03vsvyiiy8fgwrpd1syfq3zmspyyki7blclcl";
     };
     meta.homepage = "https://github.com/rgroli/other.nvim/";
   };
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "151b75410e7b6041fb54f48443a80ecd518cb31e";
-      sha256 = "08bni1v06agsm9mpq01wdig3shc78i97a7mfbagzlws0wj38qgpq";
+      rev = "05cc5ee31fb20e3dd5b4a3a150b0aabf20c86826";
+      sha256 = "1vnc1p7949jx53070zl15lpdn3gid4s3c7510ncs1npbwhyh9p4d";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
 
   overseer-nvim = buildVimPlugin {
     pname = "overseer.nvim";
-    version = "2024-01-07";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "overseer.nvim";
-      rev = "68a2d344cea4a2e11acfb5690dc8ecd1a1ec0ce0";
-      sha256 = "0miakpcc11yr7p7yaj9igakkv6dnyngra7p52hc26qm4mnq4ghwd";
+      rev = "792aeb6d834a11585ea5d667e3e3f05bc6aa4ecc";
+      sha256 = "1s34jqg8p0crrbsv037m9b6gjv0vlvfhrp1acvacwxx9fqbmciik";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/overseer.nvim/";
@@ -8390,12 +8414,12 @@ final: prev:
 
   plenary-nvim = buildNeovimPlugin {
     pname = "plenary.nvim";
-    version = "2024-01-21";
+    version = "2024-01-29";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "663246936325062427597964d81d30eaa42ab1e4";
-      sha256 = "12cj7f0ghmd58ka9qc1c2qyd5x4cx97wd3avx5ny1x1gb8il013b";
+      rev = "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d";
+      sha256 = "0kr8c5fgvv7ijsvk4z0c9dawqy58mg5yz9yzx0al2ljax32lfqh1";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -8596,12 +8620,12 @@ final: prev:
 
   quarto-nvim = buildVimPlugin {
     pname = "quarto-nvim";
-    version = "2023-11-29";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "quarto-dev";
       repo = "quarto-nvim";
-      rev = "0a35b3890e9d723b730506d7d8b3ba3d0d6aae2e";
-      sha256 = "1pkyr1pqq9dfk0s7f8rfqkg5zqhi9ss818wv54v9gnhvmwnw30mk";
+      rev = "e70a207ede642ccb910540ee36480dcefb67ad6c";
+      sha256 = "1j5yxfmxzc2zimp508r769vgcr4hhn671r4fmwi3nnsrjgp9rq55";
     };
     meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
   };
@@ -8644,12 +8668,12 @@ final: prev:
 
   quickmath-nvim = buildVimPlugin {
     pname = "quickmath.nvim";
-    version = "2023-03-12";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "jbyuki";
       repo = "quickmath.nvim";
-      rev = "dcfc5450fa686714817a0d4767299f37f94bdb43";
-      sha256 = "1rmbrdxz26f4b12yvb4yjb6b3rn89nky6an4wclh4c68li70h54l";
+      rev = "7a9a6599018aa931a8fe7ad2e4cb2f36db533d19";
+      sha256 = "0192am8bligkjzzwarkgwk6cja2jkya6ixraybz64yp0mk6lha5r";
     };
     meta.homepage = "https://github.com/jbyuki/quickmath.nvim/";
   };
@@ -8668,11 +8692,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "35530b4ad48f01bdaa852da34e4de9930fb54c89";
-      sha256 = "04a36454m0vhwmq6xfg75252yhck54b58n18kshm9z0razsg4j7m";
+      rev = "586f44d21ef687a4d41b5b24c1566d686ae84250";
+      sha256 = "0bvnypwlp688024iaswd9p5d6viyf7p65q09fjlkip28rq50a4cy";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -8751,12 +8775,12 @@ final: prev:
 
   refactoring-nvim = buildVimPlugin {
     pname = "refactoring.nvim";
-    version = "2024-01-22";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "f4546284059f7dc01f65be93d03f6c850fd2aba1";
-      sha256 = "190438nnqw9nra3vrrpcfw2nib3s2jzld6iyd1kniarlggid4fwd";
+      rev = "fb4990a0546c59136930ea624b8640d07957f281";
+      sha256 = "14d33lc0a7r5k7i8x2nzy86xgy6p003cjxv9nc827q1g9jv55r7z";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -8811,12 +8835,12 @@ final: prev:
 
   rest-nvim = buildNeovimPlugin {
     pname = "rest.nvim";
-    version = "2024-01-24";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "3035cab370f806651704d5af5d18cbf0b0be0840";
-      sha256 = "0v04cc7mgzk7l8dznjqx7vaghh66c2x32zy0kjvwhyb64n07zwxv";
+      rev = "9741f827bd88b588e5136d67c7963e1904f8f1f7";
+      sha256 = "0k16kxz31cxgvsq1341r4gwlyjnavizib3hw2c43x7nw7yxj5mr2";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -8931,12 +8955,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2024-01-25";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "87fc16de1360cda02470824a17e0073967bf29f1";
-      sha256 = "0j3kysif91m3dldk5fwh8r4qxsakr6yk1q6iyi9wajnqdkgxkzcy";
+      rev = "ec3288d52ed581ee63a10e41a226297801fa6ee8";
+      sha256 = "1nxdyxz416srz4fgpkrnw65kxg6am9ak0yd824667ygsilbcqi2s";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -8967,12 +8991,12 @@ final: prev:
 
   satellite-nvim = buildVimPlugin {
     pname = "satellite.nvim";
-    version = "2024-01-12";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "satellite.nvim";
-      rev = "99610b77fe2e047d2e55d70a256bcf63953eb6d7";
-      sha256 = "1i7l2r3kwcv3sixsjlh0wyhafl60cam0bgygc483qrn4jgdxqhzy";
+      rev = "40eb89743e3439c66192abfc31eb3280622a5d3c";
+      sha256 = "1zi3m7zhjl9naggmq9z81x9lfvahjs9bmp43d6b1p1idxa716pij";
     };
     meta.homepage = "https://github.com/lewis6991/satellite.nvim/";
   };
@@ -9099,12 +9123,12 @@ final: prev:
 
   sg-nvim = buildVimPlugin {
     pname = "sg.nvim";
-    version = "2024-01-15";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "sourcegraph";
       repo = "sg.nvim";
-      rev = "691e138a86ccb4083c46ff62ab5eb53f9148696d";
-      sha256 = "0qgrycxckx7ffz0rkdj1nc7bfgl5n5mhcj56sn96vrhgbzlpli7q";
+      rev = "d8286f431981f32e5e6e494c8a6f9ffbd2ee1428";
+      sha256 = "197bg1ndc33s2bcb026qy2cwazgaz9djgw1g9fcp7gj0ki900h1d";
     };
     meta.homepage = "https://github.com/sourcegraph/sg.nvim/";
   };
@@ -9172,12 +9196,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2024-01-11";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "36bfe63246386fc5ae2679aa9b17a7746b7403d5";
-      sha256 = "1gkxms47i52xadrdzh60zqp00gy2ai391cybw9n7ar0ar5xcjp1c";
+      rev = "33c85072ac7901b0f4a68dec7f7d6175f4182377";
+      sha256 = "182i7ak4m4bbxgaipc2kqca5i57qw1p244hgra8sv6xgd3qqjhj0";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -9256,12 +9280,12 @@ final: prev:
 
   sonokai = buildVimPlugin {
     pname = "sonokai";
-    version = "2024-01-23";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "42822f8f9b3a5088f05cf72a0aa1477598ad1a40";
-      sha256 = "1k881larnnqwsm9fanqp7nbiqpd03m779prshky9hy50hywl5vv2";
+      rev = "a62656a798043f3c6b603efa98d4de2da89c72b2";
+      sha256 = "09l69n5j80pdb5awja3mzlsw5i7f1w1jp1xwfq72wrcap96xyk3g";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -9388,12 +9412,12 @@ final: prev:
 
   splitjoin-vim = buildVimPlugin {
     pname = "splitjoin.vim";
-    version = "2024-01-08";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "503e56ed103b58b6bd0880a3e61225c8b1c40033";
-      sha256 = "0yw3dzhngk2pqcm40cd3vkqij4m7pkh7f0phvl3mmmy8x5kw2zh6";
+      rev = "3e60a0b460b5bff086b880727392c71276c2c286";
+      sha256 = "063lbb56h9slryp5pk6f5s66dzaiyaq3znp3jxc2qrw0h82657dw";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -9413,12 +9437,12 @@ final: prev:
 
   srcery-vim = buildVimPlugin {
     pname = "srcery-vim";
-    version = "2024-01-05";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "b020d2a1eed0d578ae195fba2b9c6841cc886c57";
-      sha256 = "1p0d7zkgb05w1zz4xy5gc5shhlmyzxkhcfv382bvva5qzrrcvk80";
+      rev = "2e9b1d46bf28cf390950c586d5d1c688a009c8ec";
+      sha256 = "0wiz6q8fw9af825knpv5rbmk8qdq9p2b42hcybmj0m9jic288qwd";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
@@ -9459,6 +9483,18 @@ final: prev:
     meta.homepage = "https://github.com/luukvbaal/stabilize.nvim/";
   };
 
+  staline-nvim = buildVimPlugin {
+    pname = "staline.nvim";
+    version = "2023-11-22";
+    src = fetchFromGitHub {
+      owner = "tamton-aquib";
+      repo = "staline.nvim";
+      rev = "a53f869278b8b186a5afd6f21680cd103c381599";
+      sha256 = "sha256-GDMKzxFDtQk5LL+rMsxTGTyLv69w5NUd+u19noeO5ws=";
+    };
+    meta.homepage = "https://github.com/tamton-aquib/staline.nvim/";
+  };
+
   stan-vim = buildVimPlugin {
     pname = "stan-vim";
     version = "2023-12-13";
@@ -9509,12 +9545,12 @@ final: prev:
 
   statuscol-nvim = buildVimPlugin {
     pname = "statuscol.nvim";
-    version = "2023-12-23";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "luukvbaal";
       repo = "statuscol.nvim";
-      rev = "3b629754420919575a9e5758027d6e1831dbf2aa";
-      sha256 = "1qbvcrqih5w2dxf0gd9rnw1vmx0mzsi52i38i0zp44kflgp432h3";
+      rev = "eca428c8df8549fe7a480dd0da0ccc1634f16a4b";
+      sha256 = "1p6h5mmz2lz13ghdyva5as1wqh5ysd5d1zgpyvark7w1a10pp616";
     };
     meta.homepage = "https://github.com/luukvbaal/statuscol.nvim/";
   };
@@ -9666,12 +9702,12 @@ final: prev:
 
   tabby-nvim = buildVimPlugin {
     pname = "tabby.nvim";
-    version = "2024-01-08";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "nanozuki";
       repo = "tabby.nvim";
-      rev = "55712426431b12beae5f12e731cfb1d707632a3d";
-      sha256 = "16543b3mjqlba03bmgv961fdc8gk1cz3b3djivf10b8597rlf9sy";
+      rev = "c4df244245e116280c961112cf6ee221ca3bc294";
+      sha256 = "0mnwdhnqrcl746hzm6v9g6n2f3hy8dkk9gn19nmi32xsybw4hpxx";
     };
     meta.homepage = "https://github.com/nanozuki/tabby.nvim/";
   };
@@ -9775,12 +9811,12 @@ final: prev:
 
   tagbar = buildVimPlugin {
     pname = "tagbar";
-    version = "2023-12-21";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "fcd31ec145bbc628b90371be381717a1498b7c12";
-      sha256 = "04hv2fm8f2s4bczn3mdgm6wl690lnchxmv1k2iyjwsa79gkhcn5h";
+      rev = "12edcb59449b335555652898f82dd6d5c59d519a";
+      sha256 = "14nl91jzpbj0rd3w96qjl1z6w64y27ss3hiw08lpfhqd7f929x5b";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -9908,24 +9944,24 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPlugin {
     pname = "telescope-file-browser.nvim";
-    version = "2024-01-13";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "6f735a63dc24b9aed527cd505a31864223c8a6d8";
-      sha256 = "10ppgwzh839riksx8a3gg2nhyqhifam8s9p5p0nyjkcpq0zbgcy3";
+      rev = "48ffb8de688a22942940f50411d5928631368848";
+      sha256 = "0f00kag7jjs7h9mz43jik45xmffvz0biiyj37qkzkq7s6zjgh7ml";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
 
   telescope-frecency-nvim = buildVimPlugin {
     pname = "telescope-frecency.nvim";
-    version = "2024-01-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "1189184484e3153533af66b219f9ed59263a403c";
-      sha256 = "0fjl8bjmnm4gy8dxc0596sajf24sd5w2z1p6bwfpjisapykf41hb";
+      rev = "4f3e007ec28eb248811f9d7074315fe1f8852199";
+      sha256 = "1lpdxgs344sdp38r8160bjm4iigilhhailyl2gsfxxc7rwrlc03x";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -10005,12 +10041,12 @@ final: prev:
 
   telescope-manix = buildNeovimPlugin {
     pname = "telescope-manix";
-    version = "2024-01-15";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "127033f39a16c0fd48128653b4cee9b17fcc80a3";
-      sha256 = "1hsplynqmgbknbkz5b769a401i3hch1kvxdzxpx15jadq5lb169p";
+      rev = "47d8bf6c447db33dc059577bd7715665220e79e8";
+      sha256 = "0xxvhi1jp3hfaa06f4jzzqxgk79alkvi2vli59j2j7vj0zvkpm53";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -10077,12 +10113,12 @@ final: prev:
 
   telescope-ultisnips-nvim = buildVimPlugin {
     pname = "telescope-ultisnips.nvim";
-    version = "2021-09-26";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "fhill2";
       repo = "telescope-ultisnips.nvim";
-      rev = "f48b6d4f53b31507d3fd514905c6940409e8ada8";
-      sha256 = "0333k3m0fygc4r7w56csf0h282gf2wqrykl52n6310i9vardyqw7";
+      rev = "d1cca4b5aa809a90b7a8caddeb860329d5a8c2ff";
+      sha256 = "1nnxyc70b5zsgdylfzag2g4xl2p62v9ynx8nqv13fdn8s2g4lrvm";
     };
     meta.homepage = "https://github.com/fhill2/telescope-ultisnips.nvim/";
   };
@@ -10125,12 +10161,12 @@ final: prev:
 
   telescope-zf-native-nvim = buildVimPlugin {
     pname = "telescope-zf-native.nvim";
-    version = "2023-03-15";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "natecraddock";
       repo = "telescope-zf-native.nvim";
-      rev = "beb34b6c48154ec117930180f257a5592606d48f";
-      sha256 = "1lkgsjmmj006zwvrpr1w48pii1wrzxxanhhl1r302vll62frx94n";
+      rev = "c8ac635fb51065bb3a77f51bcec585a8dddf8652";
+      sha256 = "19a3p666wdjbnar1ifk73yf02i6gr24818svawsh8h1hsva0zyn8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/natecraddock/telescope-zf-native.nvim/";
@@ -10150,12 +10186,12 @@ final: prev:
 
   telescope-nvim = buildNeovimPlugin {
     pname = "telescope.nvim";
-    version = "2024-01-25";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "1bfbb1fb5c56d2dbe33216fcb2ebe82e499aa06c";
-      sha256 = "08v642fh91c7mj92jjdjfzx86jmz2plvnlja8p8lwbvz0yvida5r";
+      rev = "b744cf59752aaa01561afb4223006de26f3836fd";
+      sha256 = "1fnzr97xkrg9j713pwi9093nw772xabxs9cxdaa61jy4qlxsnkfz";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -10258,12 +10294,12 @@ final: prev:
 
   text-case-nvim = buildVimPlugin {
     pname = "text-case.nvim";
-    version = "2024-01-14";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "johmsalas";
       repo = "text-case.nvim";
-      rev = "6bc91cde614bbec6f0befbaf7fcd302415d803fb";
-      sha256 = "0gbzsw9s6ja5r4acdhd331gna1y03hvr6d11584sklh00xdv497a";
+      rev = "5d85b7495c3cf8e842e4d2528edc68e6fe7c92c8";
+      sha256 = "1ri4vp260mvjqkldw9qyp5l31qnks716gz9z2l9vf01wwmxxk76i";
     };
     meta.homepage = "https://github.com/johmsalas/text-case.nvim/";
   };
@@ -10342,12 +10378,12 @@ final: prev:
 
   tmux-nvim = buildVimPlugin {
     pname = "tmux.nvim";
-    version = "2023-10-28";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "aserowy";
       repo = "tmux.nvim";
-      rev = "ea67d59721eb7e12144ce2963452e869bfd60526";
-      sha256 = "020prdsczz2vc5cdb6075fdy1fj5zhvjcirfc46kfp5bahzfarzz";
+      rev = "9c02adf16ff2f18c8e236deba91e9cf4356a02d2";
+      sha256 = "0lg3zcyd76qfbz90i01jwhxfglsnmggynh6v48lnbz0kj1prik4y";
     };
     meta.homepage = "https://github.com/aserowy/tmux.nvim/";
   };
@@ -10391,24 +10427,24 @@ final: prev:
 
   toggleterm-nvim = buildVimPlugin {
     pname = "toggleterm.nvim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "b49df5cdce67a8964d1b027dae94bde212092b51";
-      sha256 = "1102wcz61bcvkiz1ck2cxxb32id9rf2hjhcs82y3x37n831kgvyb";
+      rev = "193786e0371e3286d3bc9aa0079da1cd41beaa62";
+      sha256 = "0cz6i3xa61mh8s5b9b2z008ay85ggaw02ak9w58wzgmn172q770l";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
 
   tokyonight-nvim = buildVimPlugin {
     pname = "tokyonight.nvim";
-    version = "2024-01-24";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "e3301873c1e96903daebb98cc9b5926810bf73dd";
-      sha256 = "18acixjcgqzihb86apc1s8r31yp0lxw804ddwiaygwc2b3drfyx8";
+      rev = "610179f7f12db3d08540b6cc61434db2eaecbcff";
+      sha256 = "1vdw6rav1y4i4x8pgxh6lgi6d21fvvzkw25maihxh865zrqrsc4v";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -10439,12 +10475,12 @@ final: prev:
 
   treesj = buildVimPlugin {
     pname = "treesj";
-    version = "2024-01-17";
+    version = "2024-02-09";
     src = fetchFromGitHub {
       owner = "Wansmer";
       repo = "treesj";
-      rev = "14808da3cddd62fc86ede53a5ea1fd1635897e75";
-      sha256 = "0qnkp3x8h956achrc90g0g1nlcnxkl6wcim7q5d4jhipf3ql6w7l";
+      rev = "60e27280030f9cd8dfb6ceb335922c6ff76682cc";
+      sha256 = "1rrcnldpl9d4fifk48w6sgrar0zhi6pbd6iqildzp3bmhf83smd1";
     };
     meta.homepage = "https://github.com/Wansmer/treesj/";
   };
@@ -10547,12 +10583,12 @@ final: prev:
 
   typescript-vim = buildVimPlugin {
     pname = "typescript-vim";
-    version = "2023-10-08";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "eafdcf5e9ee73b43d92372d69dd84458bf98c5e3";
-      sha256 = "1ybc0ppr6xqx5ahg56xfcrs2v0h9dnsblqmgvx5xbz41lirh51h0";
+      rev = "e83ccab88c7a045ce795583adb66956afd464a31";
+      sha256 = "0zjdwjvp9wk7gb1h569c2h5fsmr41p51wz7k0kiig4xfz1i9s7yg";
     };
     meta.homepage = "https://github.com/leafgarland/typescript-vim/";
   };
@@ -10571,26 +10607,26 @@ final: prev:
 
   typst-vim = buildVimPlugin {
     pname = "typst.vim";
-    version = "2024-01-24";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "kaarmu";
       repo = "typst.vim";
-      rev = "816ba15885cb5eb742e06bafcd53b1a8531d334b";
-      sha256 = "092cihsphaxvpimmpzfys64pakrvh23l3zc2r0f3pjzhf69vdsvr";
+      rev = "e28d440c7ba4df2516d7d7f908c4fb664a8cf86c";
+      sha256 = "14x482vxssfd2w8iyj72jzx43ap7zd3s9xpa818pq6czfyqmy6q7";
     };
     meta.homepage = "https://github.com/kaarmu/typst.vim/";
   };
 
-  ultimate-autopair = buildVimPlugin {
+  ultimate-autopair-nvim = buildVimPlugin {
     pname = "ultimate-autopair.nvim";
-    version = "2024-02-10";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "altermo";
       repo = "ultimate-autopair.nvim";
-      rev = "25c13e0ce167db0255456cac10158b27d2be30c0";
+      rev = "07c9da3e7722107163b68ecc5e0141fdd825449d";
       sha256 = "16aizsf86cg5l131y2lszlfkdz1b998js89fja8yk25mwa79lsaf";
     };
-    meta.homepage = "https://github.com/altermo/ultimate-autopair.nvim.git";
+    meta.homepage = "https://github.com/altermo/ultimate-autopair.nvim/";
   };
 
   ultisnips = buildVimPlugin {
@@ -10607,12 +10643,12 @@ final: prev:
 
   undotree = buildVimPlugin {
     pname = "undotree";
-    version = "2024-01-21";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
-      rev = "d9c8b4ef872e078e8c4080812e5a3ed56d151c00";
-      sha256 = "1dawzdyrzbiry907i7flqyk5178a18vv9gycxn0g90cd5d5lrrrp";
+      rev = "9dbbf3b7d19dda0d22ceca461818e4739ad8154d";
+      sha256 = "1avs5cmwcnp5pnyk2d6krsmgqlbd5zf32nwwcxk5ac1mhyx9fcln";
     };
     meta.homepage = "https://github.com/mbbill/undotree/";
   };
@@ -10631,12 +10667,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2024-01-24";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "2ab2ef5142b390e99b2280a4b45b24295f58169f";
-      sha256 = "1si3aixiwbb80wwdqx5i51h4sqsvvd75bnc0kv6sijc04gl10fj7";
+      rev = "9d1c75a443fd94efdfa36ec4aa106e0894e03bd1";
+      sha256 = "0g99a224v6brxm15r88chffx1cd009yiix3352h0xd9cl3sf88pv";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -10727,12 +10763,12 @@ final: prev:
 
   vifm-vim = buildVimPlugin {
     pname = "vifm.vim";
-    version = "2024-01-20";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "b187efe0ba367a47d2cc4785fb724c0451a85260";
-      sha256 = "1pmmkalyhzq9v8g1ldkvc06jz3nwidr9iwrwkl9phnssn4v9jsr4";
+      rev = "590cb40de984e369f744ac98a2222739ef6e02fc";
+      sha256 = "1cbapvzvkrdjzim9ic7kb1bkr68i0xw7bmwizmm1maa69z01si18";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -11075,12 +11111,12 @@ final: prev:
 
   vim-airline = buildVimPlugin {
     pname = "vim-airline";
-    version = "2023-12-26";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "ff7352e4bff02eb600a136b6fd741404f3195371";
-      sha256 = "16j788ji9a3fj1cfsr5sjhix3dx9fh88g4d50g53dvln5zf201y5";
+      rev = "20a49bd494a87a40b815289693c8b7505f0074c0";
+      sha256 = "1nyjgsjs5n0wkw4419fa1p1dpgrbcxpvxgjg7w0zmkm9s4bifyl4";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -11147,12 +11183,12 @@ final: prev:
 
   vim-apm = buildVimPlugin {
     pname = "vim-apm";
-    version = "2024-01-25";
+    version = "2024-02-03";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "vim-apm";
-      rev = "a4f52e65c3af4282508ba0db0e33c45bbc371968";
-      sha256 = "004fy3v1nxjhiiv0kd2ahfbbngdkmkrpr97s5q6aaa8mykgs7rfr";
+      rev = "96d452bb97c7b147b87edf75b53d5d724fb4bf64";
+      sha256 = "106rjqi3wg1yn62szi7v5xyira2qz5l5fc987n2abddakqr5ivhp";
     };
     meta.homepage = "https://github.com/ThePrimeagen/vim-apm/";
   };
@@ -11231,12 +11267,12 @@ final: prev:
 
   vim-autoformat = buildVimPlugin {
     pname = "vim-autoformat";
-    version = "2023-08-26";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "vim-autoformat";
       repo = "vim-autoformat";
-      rev = "99dc8d5030945c01a7e04b1e44d107a9bd15af67";
-      sha256 = "00a1j7snyz0gc3pxks26axhdwcbd5iqs9s2crhs6vwvcj5fymmr1";
+      rev = "38a01acb7471d276ecf5970ab4fd58bfebb9ea06";
+      sha256 = "1f9cppm7x0vyxcch256lm0m7k2wj3njpp62b9xlphw8cwyqx45dp";
     };
     meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
   };
@@ -11303,12 +11339,12 @@ final: prev:
 
   vim-be-good = buildVimPlugin {
     pname = "vim-be-good";
-    version = "2022-11-08";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "vim-be-good";
-      rev = "c290810728a4f75e334b07dc0f3a4cdea908d351";
-      sha256 = "1xnydbqyjrmwj7cpj3qcr1icg8v75ny847i1qpj94dafjzzmi4wl";
+      rev = "4fa57b7957715c91326fcead58c1fa898b9b3625";
+      sha256 = "06smpsv72740f3i26svsa4nqd5ld357r62nns1cdw2zqcvf6llax";
     };
     meta.homepage = "https://github.com/ThePrimeagen/vim-be-good/";
   };
@@ -11783,12 +11819,12 @@ final: prev:
 
   vim-dadbod = buildVimPlugin {
     pname = "vim-dadbod";
-    version = "2023-11-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "738cfc2ea6a1510fe23cba9006fef9291be70f7b";
-      sha256 = "1j3kga4iy6n8814j33zpxxyk4z7lxwqdnjdd70mhpybiw9ydazny";
+      rev = "936e78f44113eac54948474e222293dd70eaef9e";
+      sha256 = "0qsf1vid7482h7lccwxrkp2nql8pqi8sppvm4fj3xrcdli41vckq";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
@@ -11915,12 +11951,12 @@ final: prev:
 
   vim-dispatch = buildVimPlugin {
     pname = "vim-dispatch";
-    version = "2023-02-05";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
-      rev = "6cc2691576f97d43f8751664d1a1a908b99927e5";
-      sha256 = "151fxvhz6pi021rg9bc2g564a13lvbcwh3lpa4vl3g5w9j95pmv3";
+      rev = "b84d00f11567abfcfec82a6838c7d41dfa49a447";
+      sha256 = "1gfvlki411i090rjww2nx3jn6z609g6d64xrn2hryjxyqykfnr9s";
     };
     meta.homepage = "https://github.com/tpope/vim-dispatch/";
   };
@@ -12143,12 +12179,12 @@ final: prev:
 
   vim-eunuch = buildVimPlugin {
     pname = "vim-eunuch";
-    version = "2024-01-16";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "084946fb1c8103ae0cb7342e9be3a2c69374958c";
-      sha256 = "0wp0a4zssmjmclsvzk3w2r65sxllfivbb5mfqd6yrazfg6vssdw0";
+      rev = "8fb3904be27b6b60d086f87c2570085902414069";
+      sha256 = "1icir4spx0hj4zp2ps26v9q2jgbqi9fw4anhn6k48n8ahgvim614";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -12275,12 +12311,12 @@ final: prev:
 
   vim-floaterm = buildVimPlugin {
     pname = "vim-floaterm";
-    version = "2023-11-19";
+    version = "2024-02-06";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "3f01a623376957437f9376327637491b74719e38";
-      sha256 = "16az2qg9a3r466b9s4agqvxnsx99wpqlw8kn8dxcg94hxrgg35dc";
+      rev = "97c085b2f69e931ed78bb1c260512d1e0492a754";
+      sha256 = "0xjgqw4apva0kaxc225nxgcnf9drl50wz30955l860s4227lv6pw";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -12347,12 +12383,12 @@ final: prev:
 
   vim-fugitive = buildVimPlugin {
     pname = "vim-fugitive";
-    version = "2024-01-19";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "854a8df0d06b8d3fcb30fa7f2b08c62b553eee3b";
-      sha256 = "0bzsm454bbxyjxfiwjgx5hydhia0i04y895am0m5rl2vbbyykkmq";
+      rev = "011cf4fcb93a9649ffc6dcdff56ef948f5d0f7cc";
+      sha256 = "0dmfy7dzfv201fm0l1x18pg8rbjqflg1js6g8f36nlaqn5fvr3bl";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -12503,12 +12539,12 @@ final: prev:
 
   vim-go = buildVimPlugin {
     pname = "vim-go";
-    version = "2024-01-22";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "ca6c532753e70e4fb093e755773cc6f250a3b4b3";
-      sha256 = "0pfizf55abw1rbdrsyw9g65cia165irnj2f0snx7qmg194bgblqg";
+      rev = "0e975560df38be387cca1d7d33df7a4744091303";
+      sha256 = "03l599pga2p679m5yb0vkz492snjg1z7s9hk0002yjp2fl7fd1sy";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -12539,12 +12575,12 @@ final: prev:
 
   vim-grepper = buildVimPlugin {
     pname = "vim-grepper";
-    version = "2021-08-30";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "2b93535752ffcb312f9fab73d90e80dc9f2e60fc";
-      sha256 = "1xldg5hkbapd9s842d3xpdw32sslr8lvfx12p03hrlc2w58innx1";
+      rev = "485d349125d46f2788833ecb43df7a14c46706f6";
+      sha256 = "0kkrkf8p3pxknavksj5bfxcs9wxjy5yscb45as41h85lgmmsfccs";
     };
     meta.homepage = "https://github.com/mhinz/vim-grepper/";
   };
@@ -12659,12 +12695,12 @@ final: prev:
 
   vim-helm = buildVimPlugin {
     pname = "vim-helm";
-    version = "2023-11-22";
+    version = "2024-02-05";
     src = fetchFromGitHub {
       owner = "towolf";
       repo = "vim-helm";
-      rev = "fc2259e1f8836304a0526853ddc3fe27045be39a";
-      sha256 = "10al5is3x2a2383023rn8p9q056mgsc6dhyblxj48xb32rsmlf23";
+      rev = "86cc6766db60b8cc5731068d0c2111dee1f2b328";
+      sha256 = "0b7fxf43v8px2d4vfhj1b8d2scrr6h8dr9hfg6y7k1yk9jainsy9";
     };
     meta.homepage = "https://github.com/towolf/vim-helm/";
   };
@@ -12696,12 +12732,12 @@ final: prev:
 
   vim-highlightedyank = buildVimPlugin {
     pname = "vim-highlightedyank";
-    version = "2023-03-19";
+    version = "2024-01-28";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
-      rev = "fa3f57b097e9521ce41a66b6c7cf5d9adea70ea3";
-      sha256 = "1fgbih8m7drr8ik34c5vpmd8qs3vdshixni42nih6ls6gzcv7l7z";
+      rev = "afb0f262b490706c23e94012c2ab9fa67c0481ce";
+      sha256 = "0m68f1c5b1qfdb5mcqmnm9qfjrz9f1hh5nnjzymsrb04fsjv3i2r";
     };
     meta.homepage = "https://github.com/machakann/vim-highlightedyank/";
   };
@@ -12816,12 +12852,12 @@ final: prev:
 
   vim-illuminate = buildVimPlugin {
     pname = "vim-illuminate";
-    version = "2023-10-06";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86";
-      sha256 = "0x3li63dijw9z4imbajpxbrclw32649810bsnx5cawrqgbc7kl99";
+      rev = "305bf07b919ac526deb5193280379e2f8b599926";
+      sha256 = "1pmzh7pz23dl6jmcify9494jwgyi2jfjkg0l95cxfrbjqghjxli8";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -13081,12 +13117,12 @@ final: prev:
 
   vim-just = buildVimPlugin {
     pname = "vim-just";
-    version = "2024-01-25";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "NoahTheDuke";
       repo = "vim-just";
-      rev = "6d95cd79c40d82d26f2ca887494d01e8a7e90d6e";
-      sha256 = "06sx968r78nx7nmlrh8m9f45l0wpq251p7097r7ygxjn3da3l5rq";
+      rev = "974b16e257e2d30d94ec954d815ff2755fa229fb";
+      sha256 = "0n0n9dgcp7fqc299khjddn661sv0pbbc17qsnnqwqh2fmdfpdnpc";
     };
     meta.homepage = "https://github.com/NoahTheDuke/vim-just/";
   };
@@ -13309,12 +13345,12 @@ final: prev:
 
   vim-lsp = buildVimPlugin {
     pname = "vim-lsp";
-    version = "2024-01-20";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "c20c6650d32a85e09ae6c7a9747aef7ded3677fb";
-      sha256 = "1farhbqp06dkjh480lv07yvgwnmikaaagr5mpwwjrmws3m92xmv4";
+      rev = "28293320510eaa5c4b11f7510630eb95374922bb";
+      sha256 = "173kdsrqkry7p5kb1hc9g2m0d46qpa316bjrpir3hripg474fq0f";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -13345,12 +13381,12 @@ final: prev:
 
   vim-lsp-settings = buildVimPlugin {
     pname = "vim-lsp-settings";
-    version = "2024-01-06";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "vim-lsp-settings";
-      rev = "223c7382e53ba5017c6b1b1edebccae6ab8265ab";
-      sha256 = "0x5jgswz09gf958qnry01bn9sdccjv3rilajlfbhac20vhs4izm0";
+      rev = "1b60a35c40d2ef6e00ead984a95eff7c2b74fb54";
+      sha256 = "014jnk5b946ls707494alld5r2azf4j82sl8nnaza9sdd8krpba8";
     };
     meta.homepage = "https://github.com/mattn/vim-lsp-settings/";
   };
@@ -13466,12 +13502,12 @@ final: prev:
 
   vim-matchup = buildVimPlugin {
     pname = "vim-matchup";
-    version = "2024-01-06";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "e2cca1747ab175b8d839a5d28679427564643a57";
-      sha256 = "1clcvb6r1vfkajj9jd8hmvi1vx0vclyppj2vh7sjy9mpbn9xpggg";
+      rev = "7f81ae12542b2a35819f0324895df9bd8626c8ba";
+      sha256 = "10bbp2hshxghimzlvg6avfqi503skfnjlvxv3aar8rclznxd628z";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -14090,12 +14126,12 @@ final: prev:
 
   vim-plug = buildVimPlugin {
     pname = "vim-plug";
-    version = "2023-04-01";
+    version = "2024-02-15";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "ca0ae0a8b1bd6380caba2d8be43a2a19baf7dbe2";
-      sha256 = "1ay2f1liya4ycf7ybiqhz02sywxkw7vhschl2kwl5hvxjahpi9p7";
+      rev = "eee20c7e795c9268ce36cb30adb66711af868941";
+      sha256 = "01szxcbdvlh2ki6drmpp3yh8m1a7290w5p997gam63s4y8qvbx8r";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -14366,12 +14402,12 @@ final: prev:
 
   vim-rails = buildVimPlugin {
     pname = "vim-rails";
-    version = "2023-09-11";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "1ad9663ce31e8c08134849d04184cda94bb42aba";
-      sha256 = "0kp2vbx5qfd86cmzrsnmgbpi3r07wpn5j6gn1gxgkh09xngf93nl";
+      rev = "3a155462d1c346e291595400ca238037d02a357f";
+      sha256 = "0zz510l1ncv3abax76s99cfpc6r6vvb81hnhxzyx4nzgwqzm0qag";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -14462,12 +14498,12 @@ final: prev:
 
   vim-sandwich = buildVimPlugin {
     pname = "vim-sandwich";
-    version = "2022-12-07";
+    version = "2024-02-04";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-sandwich";
-      rev = "c5a2cc438ce6ea2005c556dc833732aa53cae21a";
-      sha256 = "1b1rim7q398dnwdaqakcycvyvw04rw32k10ij7w7mqpbn9hklpm5";
+      rev = "2ce54d26564e66a675685c8a3331388b2747a26b";
+      sha256 = "172dmnb9scblsin4adx0jdw2nc9ygw4icid6i4d6q2hjak9gvd79";
     };
     meta.homepage = "https://github.com/machakann/vim-sandwich/";
   };
@@ -14654,12 +14690,12 @@ final: prev:
 
   vim-slime = buildVimPlugin {
     pname = "vim-slime";
-    version = "2024-01-25";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "4174e7505019c37f754af0717b2c8b75a80193f2";
-      sha256 = "1zfjy48s4w2b7sjpgb97sy7blwbf3d91z51id4pnzdi23dzcs5g0";
+      rev = "1feef68f237cb840a7220f83c24b6c60bf914eb5";
+      sha256 = "1swq6am7jlk52sizgcxcq9lbpqvvwbjnl7rib8s9rwmqy7iaqp64";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -14738,12 +14774,12 @@ final: prev:
 
   vim-sneak = buildVimPlugin {
     pname = "vim-sneak";
-    version = "2023-07-12";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-sneak";
-      rev = "29ec9167d4a609f74c130b46265aa17eb2736e6a";
-      sha256 = "1n7y5i8zbr04n48n0l4k1xp76pgrbd2lx0pnj4278ply88hgfg9f";
+      rev = "1f8702bdee0d19e9354ce26735e5d87865b55dc0";
+      sha256 = "1qkyd43kxc5i8bxmfipf2jkb1wah9jfskdnwvwbkn2bpw8cblf94";
     };
     meta.homepage = "https://github.com/justinmk/vim-sneak/";
   };
@@ -14846,12 +14882,12 @@ final: prev:
 
   vim-startuptime = buildVimPlugin {
     pname = "vim-startuptime";
-    version = "2023-06-03";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "454b3de856b7bd298700de33d79774ca9b9e3875";
-      sha256 = "0zs9bp9bdf29jxkld7sff2x85y7pmi7f6am4hvzd9anhch9gnm7j";
+      rev = "308b0088a864c4711a96e45b6734cf9294074f65";
+      sha256 = "0x9vgca4zb3nwnir69df21x1qxar2yf0bshq68rxfswlc00djwy4";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -15014,12 +15050,12 @@ final: prev:
 
   vim-terraform = buildVimPlugin {
     pname = "vim-terraform";
-    version = "2024-01-23";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "3d1cfc8e183f1a58f71587442849510462f5857b";
-      sha256 = "0nsyv4pasavp8iaakl9l4vybpwxvkxaimzv7rzb51v9m03r6jqyx";
+      rev = "21f756b933cd11ac5990a6046fdc7c4e2a6c0aee";
+      sha256 = "1bp6nqsdn9h3ihy5y2na7n40nmjr1vqsjj845ks4kfrzfcsvmxms";
     };
     meta.homepage = "https://github.com/hashivim/vim-terraform/";
   };
@@ -15039,12 +15075,12 @@ final: prev:
 
   vim-test = buildVimPlugin {
     pname = "vim-test";
-    version = "2024-01-23";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "1f4ee3307e266a64b00d816c727fdaa57b34ada3";
-      sha256 = "0y361p1dc5nmv622ml6j5bw3f7ccpwa56jzjfnjhd069qi8xkvrp";
+      rev = "46d2067586b788e2194e812bbfdbb2061b93a5ee";
+      sha256 = "150wl2gky4v4qs9czag3q64p4xcp1x53dyy5dkiyz2bwalphwv01";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -15219,12 +15255,12 @@ final: prev:
 
   vim-tpipeline = buildVimPlugin {
     pname = "vim-tpipeline";
-    version = "2023-10-13";
+    version = "2024-01-27";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "bff212497e0873ef7c97bd1e3d59cf57d6627581";
-      sha256 = "1zpn2l7lzi03glmficfs1jwk7d9c5jn2pp63m818h8810dhicalr";
+      rev = "86be2d4d7719db34d651df4690ab5f49274c646a";
+      sha256 = "1lh8dvh8din5qnm0icmrvsph4aa4nfh91zf1nf8l5kf5yfr3zy68";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -15363,12 +15399,12 @@ final: prev:
 
   vim-visual-multi = buildVimPlugin {
     pname = "vim-visual-multi";
-    version = "2024-01-22";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "e67f7fa011c98fc5426352d3bb06362a0f70af3c";
-      sha256 = "052hb8ly7yxaylaqmlb7nwnwsjn2sbhr76k3fr618zn9p4nqa3df";
+      rev = "cff14071098de5279743b009c496303995fe4df9";
+      sha256 = "0v5fzdkihlbwmplfs44mjm08j2qvkq2h6zx0dxn628v7dzqfxcy3";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -15459,12 +15495,12 @@ final: prev:
 
   vim-wakatime = buildVimPlugin {
     pname = "vim-wakatime";
-    version = "2024-01-10";
+    version = "2024-02-07";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "cae21a19c3db4d9aadd5d320de3da0c99dfd0f62";
-      sha256 = "1f7jqmsr7b9103g9fif3p8fglrqlgk5nf3ckhkjpwfy6355vk41h";
+      rev = "a4c66faea1eca47dce7c7c3586332f75cfbe9edf";
+      sha256 = "0ji718y9dkpvqz5r5zkvirksgc4nan5xng53flzjnwdiyfzgz5j2";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -15603,12 +15639,12 @@ final: prev:
 
   vim-zettel = buildVimPlugin {
     pname = "vim-zettel";
-    version = "2024-01-11";
+    version = "2024-01-31";
     src = fetchFromGitHub {
       owner = "michal-h21";
       repo = "vim-zettel";
-      rev = "aa3d6edfa0251928e268e13a92d090c92446e545";
-      sha256 = "1v639cgsfx87qg30n1p3cjrp83xlanng2a428i05r319z2njvj2i";
+      rev = "c0230fb9f3d0f4aa10c6598549a733e20eeaa92f";
+      sha256 = "0pdl26s4n3wnjh2mf0vwwxwvjc8hg4i5cfsj8fip7k8zsgwg14vx";
     };
     meta.homepage = "https://github.com/michal-h21/vim-zettel/";
   };
@@ -15771,12 +15807,12 @@ final: prev:
 
   vimspector = buildVimPlugin {
     pname = "vimspector";
-    version = "2024-01-02";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "703df4d948957105fe056dec9b106fbebf25ca66";
-      sha256 = "1yavhc0y4s03mh9swa1cg21g7b3h461k6m9j728751qd30hjdbcf";
+      rev = "da7fc248dc699bf423378bd6e48eaa446f674ca7";
+      sha256 = "0r241p9h48c7hdiwfx382dpfnmjz78phw2vx0cmbc3mvsjqi71pk";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -15784,12 +15820,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2024-01-18";
+    version = "2024-02-11";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "fe20ab1bd82a23441ac55054afefcd60001947a2";
-      sha256 = "1pfhsgz768knvmjiizcfv0y5vxvrywn44p1jhqz15zx3d6svf064";
+      rev = "9df79e15bf035d1cfb32c11fffed38dd7b6a0501";
+      sha256 = "06k407g6bs3msvvq8715bk21pj80ybgdhhl84zwf9gxrdrl7yapd";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -15868,12 +15904,12 @@ final: prev:
 
   vscode-nvim = buildVimPlugin {
     pname = "vscode.nvim";
-    version = "2024-01-24";
+    version = "2024-02-01";
     src = fetchFromGitHub {
       owner = "Mofiqul";
       repo = "vscode.nvim";
-      rev = "826102511b9b689a16e3e55c30f2eb65eedc99f6";
-      sha256 = "0nph82xyqvcvlr0pc78r292q6givc76lz24any7p6zph9rw0zyry";
+      rev = "380c1068612b1bfbe35d70a4f2e58be5030a0707";
+      sha256 = "1lq1j6wlh8xxzikpab2gciw6gg88hya92bswz0kk75l6fphp41kl";
     };
     meta.homepage = "https://github.com/Mofiqul/vscode.nvim/";
   };
@@ -15928,12 +15964,12 @@ final: prev:
 
   whitespace-nvim = buildVimPlugin {
     pname = "whitespace.nvim";
-    version = "2023-04-18";
+    version = "2024-02-13";
     src = fetchFromGitHub {
       owner = "johnfrankmorgan";
       repo = "whitespace.nvim";
-      rev = "fe9ca0ba3c6e6cc1dd14c0d6cbe49d97496700dd";
-      sha256 = "1a391aq8svh3ayv4sa5dphg31l0x9rji8jrb6pa91y4b9sdhr6is";
+      rev = "34d319e07f86a628deeb237133088f01f8432bc0";
+      sha256 = "1gkxw6zhkgjvwg4jcpfiv2xkg7vk0q1prj4sh5swiznmyswsr0ay";
     };
     meta.homepage = "https://github.com/johnfrankmorgan/whitespace.nvim/";
   };
@@ -15952,12 +15988,12 @@ final: prev:
 
   wiki-vim = buildVimPlugin {
     pname = "wiki.vim";
-    version = "2024-01-22";
+    version = "2024-02-12";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "wiki.vim";
-      rev = "41d63295e2e90a6a587c9b7792cf672b416cf0b4";
-      sha256 = "1mrmrlcq3g6ham8ywirf1bxbhrfw3xygvnl6mmrav2xydnv7yg8c";
+      rev = "7d0eaf0037b01b0f8bcbb59286d58feac38bb4c8";
+      sha256 = "1ibd0g6g110cvk287k7iw7fsz7w6j9g8fzrcmblxcspg5bpassy3";
     };
     meta.homepage = "https://github.com/lervag/wiki.vim/";
   };
@@ -16060,12 +16096,12 @@ final: prev:
 
   wrapping-nvim = buildVimPlugin {
     pname = "wrapping.nvim";
-    version = "2023-10-08";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "andrewferrier";
       repo = "wrapping.nvim";
-      rev = "696febba72939cf9082e0fd9cb9c603254cfa8a6";
-      sha256 = "0dqygl72ln9x572a6q3dii9cqnjgfb7l70iw9vifjpv8vsyak20x";
+      rev = "a03c9ab5590cecce1a7a19e22e28979eb82da6e9";
+      sha256 = "0cl6nljb2rrwjkjmas7rfv08i3h0asxhn79hbglzljk1v1y8ibvs";
     };
     meta.homepage = "https://github.com/andrewferrier/wrapping.nvim/";
   };
@@ -16120,24 +16156,24 @@ final: prev:
 
   yanky-nvim = buildVimPlugin {
     pname = "yanky.nvim";
-    version = "2023-11-27";
+    version = "2024-02-02";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "yanky.nvim";
-      rev = "6bb9ffd3cad4c9876bda54e19d0659de28a4f84f";
-      sha256 = "01pd9xgw9wh9xa4sk80g0n61ra4l9xvssqak6vv03kgrpyb1qizw";
+      rev = "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b";
+      sha256 = "177xjvghk3i889hlmzmyc8xsryrj6f69v6dk0zs3wf10m20ixr78";
     };
     meta.homepage = "https://github.com/gbprod/yanky.nvim/";
   };
 
   yats-vim = buildVimPlugin {
     pname = "yats.vim";
-    version = "2023-08-24";
+    version = "2024-02-08";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "2b6950c7143790e6930b8cf32d60c6858a50d47c";
-      sha256 = "0385gak2sil6z8n20s5kdmnnpyw7ds5c2qcfr0pmyaz3dlyfx2ih";
+      rev = "6927af6e3e45d0ce585684be5681bada0ffcc3a7";
+      sha256 = "0vfcbsm77kmxs6876kac28ncjlp96hqwaj5sgjxkk5jx8077jq0p";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
@@ -16193,12 +16229,12 @@ final: prev:
 
   zenbones-nvim = buildVimPlugin {
     pname = "zenbones.nvim";
-    version = "2024-01-20";
+    version = "2024-02-10";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "zenbones.nvim";
-      rev = "072b21d16cc1d5ae5701455fadaa47b1e8a61780";
-      sha256 = "00n9yy41qihayp3312wqnjms3la4kw0yjbb8fid26nq3a2719hjw";
+      rev = "33672310aac6b823c88cf16d5d99472439111f9c";
+      sha256 = "0yc7rr54ywap910k6jzwv4kwjy7n7s3yfpd435gq8hlcci1fj5am";
     };
     meta.homepage = "https://github.com/mcchrish/zenbones.nvim/";
   };
@@ -16277,12 +16313,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2024-01-23";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "bc1f2151f23227ba02ac203c2c59ad693352a741";
-      sha256 = "0qs9s2qc3xmam66ix6blg1n4wfx6847i2ls824a75a5xr73yx15x";
+      rev = "9703f227bfab20d04bcee62d2f08f1795723b4ae";
+      sha256 = "1sgz7m8gdaam87dw5k609jbihyad9hqmlxplv9xwkp76z7nja6kj";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -16313,12 +16349,12 @@ final: prev:
 
   embark-vim = buildVimPlugin {
     pname = "embark-vim";
-    version = "2024-01-14";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "embark-theme";
       repo = "vim";
-      rev = "54dd8727a871421530bb07f3629dadab24b02183";
-      sha256 = "0qxskx7lvf91zg7fr32j5vm6v4vf1r51zq9flsdx6fvvlmaqbkry";
+      rev = "d0ce0502c83864721c92d0723dde10f38a09c714";
+      sha256 = "01bx2hkxmqi9401n327m9k63m8n2jyqklgl3xkv0w3h0a16wc7h6";
     };
     meta.homepage = "https://github.com/embark-theme/vim/";
   };
@@ -16337,12 +16373,12 @@ final: prev:
 
   harpoon2 = buildVimPlugin {
     pname = "harpoon2";
-    version = "2024-01-06";
+    version = "2024-01-26";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "2cd4e03372f7ee5692c8caa220f479ea07970f17";
-      sha256 = "01ljz9w3agz5nnz5v0894scr8hwwd599qpxb2nm2lw45hr30chii";
+      rev = "a38be6e0dd4c6db66997deab71fc4453ace97f9c";
+      sha256 = "1cmiw4sy5r4h8f2k1m91f2xykasnp66zdibx0l8vk94hw990sg26";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -16361,12 +16397,12 @@ final: prev:
 
   nightfly = buildVimPlugin {
     pname = "nightfly";
-    version = "2024-01-24";
+    version = "2024-01-30";
     src = fetchFromGitHub {
       owner = "bluz71";
       repo = "vim-nightfly-colors";
-      rev = "0c5f52d717c65951173455a70592f6383b3487e7";
-      sha256 = "0i56cqfkzgccnic23v5k0slyqc8z9zai3zcgxka40wpg3wl02x0m";
+      rev = "56fe47bd16272d9644fd9946a2596fa2c3905c35";
+      sha256 = "075iagcglwl2ggl1p6p0lmkpfrqsr5g48j3pix3xb5sx82697l3j";
     };
     meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/";
   };
@@ -16385,12 +16421,12 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2023-12-28";
+    version = "2024-02-16";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "1737a2a98e18b635480756e817564b60ff31fc53";
-      sha256 = "1d15chjvbmx583qrfw1cn0z00lkrkhippgy2rvf90b6djb0z38f3";
+      rev = "a0d3fd0adc5fd81dc5128ca3b33949196eb1fee8";
+      sha256 = "1kkrffjhr9w8f7qjvzyr82ndqy42w4m542brjvngqd3ykg8ihsgs";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
@@ -16421,12 +16457,12 @@ final: prev:
 
   rose-pine = buildVimPlugin {
     pname = "rose-pine";
-    version = "2024-01-18";
+    version = "2024-02-14";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "2a4aad89a803c84d7d1555d136639cd48ade1d64";
-      sha256 = "1cc62q8smmwmccq15jngbsx9wrwnjp7gl5lryavf32qngknlcb09";
+      rev = "f977eeba34b030b37f93ece2fbd792477606203b";
+      sha256 = "1mlpqm0g8nx8pfnn5kgg8scqayjl6n3x4jnnpbb4hharrrp37sb6";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
@@ -16445,12 +16481,12 @@ final: prev:
 
   tinykeymap = buildVimPlugin {
     pname = "tinykeymap";
-    version = "2024-01-05";
+    version = "2024-02-17";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tinykeymap_vim";
-      rev = "4c8beeab44be0a544bcc2aff7f68ac432ab647d8";
-      sha256 = "0y3r5i2nz8m8vy5njsyrbrcnp1jsck48h7925pqhrh11lf7a9sba";
+      rev = "7217ce656069d82cd71872ede09152b232ecaf1b";
+      sha256 = "1y0snmb402k1f5r54192d7jpg3fbam4ry92hn063y92110j9580w";
     };
     meta.homepage = "https://github.com/tomtom/tinykeymap_vim/";
   };
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/nixpkgs/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 185681984e58..0ccbc9564e74 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -16,58 +16,68 @@
   };
   agda = buildGrammar {
     language = "agda";
-    version = "0.0.0+rev=c21c3a0";
+    version = "0.0.0+rev=d3dc807";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-agda";
-      rev = "c21c3a0f996363ed17b8ac99d827fe5a4821f217";
-      hash = "sha256-EV0J38zcfSHaBqzu2Rcut1l20FpB+xneFRaizEX1DXg=";
+      rev = "d3dc807692e6bca671d4491b3bf5c67eeca8c016";
+      hash = "sha256-2HBndaridTSSpYgCnpc6buLWWusmQPzsQjwAD9PkrCE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-agda";
   };
   angular = buildGrammar {
     language = "angular";
-    version = "0.0.0+rev=624ff10";
+    version = "0.0.0+rev=3946b10";
     src = fetchFromGitHub {
-      owner = "steelsojka";
+      owner = "dlvandenberg";
       repo = "tree-sitter-angular";
-      rev = "624ff108fe949727217cddb302f20e4f16997b1c";
-      hash = "sha256-ROmM6GEhKLtNPUK3W4BOTRdxS2VcIpuRqdF18nrSsXk=";
+      rev = "3946b1040b98a12458beef2763ce4780a523e3c6";
+      hash = "sha256-z49hTi6fG/00nb23rScIQScGTFm+NS+CL5+9d8mOCFI=";
     };
-    generate = true;
-    meta.homepage = "https://github.com/steelsojka/tree-sitter-angular";
+    meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
   };
   apex = buildGrammar {
     language = "apex";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "apex";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
   arduino = buildGrammar {
     language = "arduino";
-    version = "0.0.0+rev=ff1045f";
+    version = "0.0.0+rev=2372f16";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-arduino";
-      rev = "ff1045f5da90344d547022c50f1756be4adaf721";
-      hash = "sha256-8qPkmLxe4DrZyVjiEYGTWlLnXDzMV/7ZlDFDAPY+jTE=";
+      rev = "2372f163b8416eeea674686fe0222e39fa06bad5";
+      hash = "sha256-nX0JXEP+fAADlKqMA1rrhKlUS4JMrOtFTQ/wxoOxcIY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
   };
+  asm = buildGrammar {
+    language = "asm";
+    version = "0.0.0+rev=6ace266";
+    src = fetchFromGitHub {
+      owner = "RubixDev";
+      repo = "tree-sitter-asm";
+      rev = "6ace266be7ad6bf486a95427ca3fc949aff66211";
+      hash = "sha256-sMUlk4BKpsmNhGF/ayi/wkSP6ea7pvTJKuctnOvKda0=";
+    };
+    meta.homepage = "https://github.com/RubixDev/tree-sitter-asm";
+  };
   astro = buildGrammar {
     language = "astro";
-    version = "0.0.0+rev=a092afa";
+    version = "0.0.0+rev=e924787";
     src = fetchFromGitHub {
       owner = "virchau13";
       repo = "tree-sitter-astro";
-      rev = "a092afa5c330495fdfbc652766c29c66ec6880f4";
-      hash = "sha256-yYQPBGNRmr/O9hI11L3a2ydZL/lypLtabfmBdKghnzM=";
+      rev = "e924787e12e8a03194f36a113290ac11d6dc10f3";
+      hash = "sha256-FNnkti4Ypw4RGIrIL9GtgjlYFMmOWZ2f8uQg/h3xesA=";
     };
     meta.homepage = "https://github.com/virchau13/tree-sitter-astro";
   };
@@ -84,23 +94,23 @@
   };
   awk = buildGrammar {
     language = "awk";
-    version = "0.0.0+rev=dcf4ac4";
+    version = "0.0.0+rev=207b049";
     src = fetchFromGitHub {
       owner = "Beaglefoot";
       repo = "tree-sitter-awk";
-      rev = "dcf4ac4eaff601d87cc15604765a7ae329c1b2ee";
-      hash = "sha256-ZxSgNVY5jRi6S6psG2XoNhuQnXqAjgUK7NtBK9y1WNo=";
+      rev = "207b04974c83d8d25a947e4d09763675c4617da7";
+      hash = "sha256-sW6ix5j9VpeQj7dct9u3cJ8sXgjIQlhQ7Nnh2S8wWbk=";
     };
     meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
   };
   bash = buildGrammar {
     language = "bash";
-    version = "0.0.0+rev=f7239f6";
+    version = "0.0.0+rev=975bc70";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-bash";
-      rev = "f7239f638d3dc16762563a9027faeee518ce1bd9";
-      hash = "sha256-+Mpks0FyQLl26TX63J6WhaAl/QDUR1k9wSUY5SFwL+w=";
+      rev = "975bc70ad95dbbf2733872bc2e0a059c055db983";
+      hash = "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
   };
@@ -117,12 +127,12 @@
   };
   beancount = buildGrammar {
     language = "beancount";
-    version = "0.0.0+rev=cd08aef";
+    version = "0.0.0+rev=dd6f4ec";
     src = fetchFromGitHub {
       owner = "polarmutex";
       repo = "tree-sitter-beancount";
-      rev = "cd08aefa20dc0f3d5984b08b5d468f75bf4fd096";
-      hash = "sha256-39TnAM/urE0slFtqGykkmBlZPg0OFdkDU+p1WAAjl5c=";
+      rev = "dd6f4ec9b01dd18cc4aa8c8517738414fb98cd63";
+      hash = "sha256-HG2L0PeYJm+U0ZUra5iRH9gm41sn44tiaS91vURHe2o=";
     };
     meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
   };
@@ -139,23 +149,23 @@
   };
   bicep = buildGrammar {
     language = "bicep";
-    version = "0.0.0+rev=3604d8c";
+    version = "0.0.0+rev=c3451d1";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-bicep";
-      rev = "3604d8c961ab129d2bfc6dfca56419c236ccdb83";
-      hash = "sha256-s0BtyYtC/D8+nudkHxpd4rSPQWrA0FngH9HIX85H/Uw=";
+      rev = "c3451d1049c80074b18078ba50007b7c00e063f8";
+      hash = "sha256-81Pt/Yyc/r8RDBCaGcXx9giIJ9+smi9Xus43NGOePgM=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-bicep";
   };
   bitbake = buildGrammar {
     language = "bitbake";
-    version = "0.0.0+rev=10bacac";
+    version = "0.0.0+rev=7e0e2ac";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-bitbake";
-      rev = "10bacac929ff36a1e8f4056503fe4f8717b21b94";
-      hash = "sha256-PSI1XVDGwDk5GjHjvCJfmBDfYM2Gmm1KR4h5KxBR1d0=";
+      rev = "7e0e2ac6f1d0da1a91ab84f35edddfdfece54f1a";
+      hash = "sha256-7He69Nk1b0gUCnLcfALQk46E2JPDhVpIIqS6qtJIx4k=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-bitbake";
   };
@@ -172,23 +182,23 @@
   };
   c = buildGrammar {
     language = "c";
-    version = "0.0.0+rev=34f4c7e";
+    version = "0.0.0+rev=72a60ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c";
-      rev = "34f4c7e751f4d661be3e23682fe2631d6615141d";
-      hash = "sha256-VqTe0teQalt35HG8b2RDPOEJyqgViqUf43MQKdhEcUM=";
+      rev = "72a60ea888fb59a8e143883661f021139c905b74";
+      hash = "sha256-huEi/PEzjG9mtwL30mJ2oVy+D64d8I9Z/LZc856qlbw=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
   c_sharp = buildGrammar {
     language = "c_sharp";
-    version = "0.0.0+rev=dd5e597";
+    version = "0.0.0+rev=4b4e82c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c-sharp";
-      rev = "dd5e59721a5f8dae34604060833902b882023aaf";
-      hash = "sha256-DlnGIky33CuRKkVVS+tOTBLVOVzASXqdaUrZawh6LZc=";
+      rev = "4b4e82ca0a30376ae605e77a0d8a3c803c9f9327";
+      hash = "sha256-NPF4nvryKvSmf4cI2xjYQiG391GqO0JoyymQCTXDjGc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
   };
@@ -216,12 +226,12 @@
   };
   chatito = buildGrammar {
     language = "chatito";
-    version = "0.0.0+rev=871622a";
+    version = "0.0.0+rev=308b591";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-chatito";
-      rev = "871622a3a483f0baf94923d8495c8e0bb2c09009";
-      hash = "sha256-w4dCrAgb7/qQvFvo2RbfN0bRaUO8RKtReKx5i7SbTF8=";
+      rev = "308b5913fd2ae6b527183ba1b3a490f90da32012";
+      hash = "sha256-oD49Rc1J/CkIAqEFI87efdzGLYl73se0ekpQll/Mpxs=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito";
   };
@@ -304,23 +314,23 @@
   };
   cpp = buildGrammar {
     language = "cpp";
-    version = "0.0.0+rev=3deebb6";
+    version = "0.0.0+rev=3d98832";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-cpp";
-      rev = "3deebb663506a06e179e0dd739d2b23e158f4157";
-      hash = "sha256-IN4svBz8TiDi6ADLEFgKfuY68GxIX5nG3nvtPRFt4Eo=";
+      rev = "3d988327a1cfd724c0d195b37a1056174fae99bc";
+      hash = "sha256-s7+dRY3OWE7iz9nlqHEOyLlrWaDPF0buDSIjsRYPc7s=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
   };
   css = buildGrammar {
     language = "css";
-    version = "0.0.0+rev=98c7b3d";
+    version = "0.0.0+rev=02b4ee7";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-css";
-      rev = "98c7b3dceb24f1ee17f1322f3947e55638251c37";
-      hash = "sha256-+30AJq3L30QmLXvTnePGW39crd7mLBUJ+sGsF7Wd9qI=";
+      rev = "02b4ee757654b7d54fe35352fd8e53a8a4385d42";
+      hash = "sha256-IniaiBBx2pDD5nwJKfr5i9qvfvG+z8H21v14qk14M0g=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
   };
@@ -360,35 +370,34 @@
   };
   d = buildGrammar {
     language = "d";
-    version = "0.0.0+rev=c2fbf21";
+    version = "0.0.0+rev=d9a1a2e";
     src = fetchFromGitHub {
-      owner = "CyberShadow";
+      owner = "gdamore";
       repo = "tree-sitter-d";
-      rev = "c2fbf21bd3aa45495fe13247e040ad5815250032";
-      hash = "sha256-1aW3nLZ5MbsOEiJ9PH6N/bBUlRihosWa4OWRcAmT3kc=";
+      rev = "d9a1a2ed77017c23f715643f4739433a5ea7ab6f";
+      hash = "sha256-GgecDpsZMBTEqHjSbNyUUA6HzGuYEgtqZ9AB+6+fsDo=";
     };
-    generate = true;
-    meta.homepage = "https://github.com/CyberShadow/tree-sitter-d";
+    meta.homepage = "https://github.com/gdamore/tree-sitter-d";
   };
   dart = buildGrammar {
     language = "dart";
-    version = "0.0.0+rev=f71e310";
+    version = "0.0.0+rev=1a31399";
     src = fetchFromGitHub {
       owner = "UserNobody14";
       repo = "tree-sitter-dart";
-      rev = "f71e310a93010863f4b17a2a501ea8e2032c345b";
-      hash = "sha256-6iRUtQ1bol0a7whK35MaJ3UKrxmTAzchQ8Yxy4TeerE=";
+      rev = "1a31399a08aefc93bc4cdbfadc0cb619136f86c1";
+      hash = "sha256-iQCjzNVCglHP670yT2inJKG5m3pstTZZzzcN0feGpFs=";
     };
     meta.homepage = "https://github.com/UserNobody14/tree-sitter-dart";
   };
   devicetree = buildGrammar {
     language = "devicetree";
-    version = "0.0.0+rev=6b53bfd";
+    version = "0.0.0+rev=2087a5b";
     src = fetchFromGitHub {
       owner = "joelspadin";
       repo = "tree-sitter-devicetree";
-      rev = "6b53bfdb20a54727bfe344aa40907351a298f75c";
-      hash = "sha256-KaLaRfFFVNFrQmKv6G33r4H00hNkHvyTo4Aj9sBkW4s=";
+      rev = "2087a5b965db2a9efabab958a27fd8ddf43038a2";
+      hash = "sha256-mQDZ+klWpg7csDnrj9R/9OCzwlojZoXJHiK7NCAyXIs=";
     };
     meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
   };
@@ -460,15 +469,15 @@
   };
   dtd = buildGrammar {
     language = "dtd";
-    version = "0.0.0+rev=dd7ef38";
+    version = "0.0.0+rev=2743ff8";
     src = fetchFromGitHub {
-      owner = "ObserverOfTime";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
-      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
+      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
+      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
     };
-    location = "tree-sitter-dtd";
-    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
+    location = "dtd";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
   };
   ebnf = buildGrammar {
     language = "ebnf";
@@ -550,12 +559,12 @@
   };
   embedded_template = buildGrammar {
     language = "embedded_template";
-    version = "0.0.0+rev=203f7bd";
+    version = "0.0.0+rev=6d791b8";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-embedded-template";
-      rev = "203f7bd3c1bbfbd98fc19add4b8fcb213c059205";
-      hash = "sha256-SaZkyy2wKYoK0+pdHLVpQrdXjEeX/uR5XxgahcAdwz0=";
+      rev = "6d791b897ecda59baa0689a85a9906348a2a6414";
+      hash = "sha256-I4L3mxkAnmKs+BiNRDAs58QFD2r8jN1B2yv0dZdgkzQ=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
   };
@@ -581,14 +590,25 @@
     };
     meta.homepage = "https://github.com/FacilityApi/tree-sitter-facility";
   };
+  faust = buildGrammar {
+    language = "faust";
+    version = "0.0.0+rev=9e514af";
+    src = fetchFromGitHub {
+      owner = "khiner";
+      repo = "tree-sitter-faust";
+      rev = "9e514af33bfe061d0ccf1999dbcc93fca91f133c";
+      hash = "sha256-FZ5wl6Pl2Y86dNpaRMTh8Q7TEx/s0YoV9/H1J+qwlwo=";
+    };
+    meta.homepage = "https://github.com/khiner/tree-sitter-faust";
+  };
   fennel = buildGrammar {
     language = "fennel";
-    version = "0.0.0+rev=5171959";
+    version = "0.0.0+rev=15e4f8c";
     src = fetchFromGitHub {
       owner = "travonted";
       repo = "tree-sitter-fennel";
-      rev = "517195970428aacca60891b050aa53eabf4ba78d";
-      hash = "sha256-7bmrLJunNAus8XbBcBiTS5enhSzZ1mecAAyqlZUtSgo=";
+      rev = "15e4f8c417281768db17080c4447297f8ff5343a";
+      hash = "sha256-BdhgDS+yJ/DUYJknVksLSNHvei+MOkqVW7gp6AffKhU=";
     };
     meta.homepage = "https://github.com/travonted/tree-sitter-fennel";
   };
@@ -715,23 +735,23 @@
   };
   gitattributes = buildGrammar {
     language = "gitattributes";
-    version = "0.0.0+rev=19d554d";
+    version = "0.0.0+rev=3d03b37";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-gitattributes";
-      rev = "19d554d39e4a8491f7a77abcdb75bfbc1c19d0b5";
-      hash = "sha256-/mbnDUMVeyFmkkk/9AdhTvAjSeZcyc2rFgzaPJBiNs4=";
+      rev = "3d03b37395f5707b6a2bfb43f62957fe0e669c0c";
+      hash = "sha256-+DvxhL+m3Nagv0GXWWWYsIIDuWNzlK1vNVLOO0qBl2E=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
   };
   gitcommit = buildGrammar {
     language = "gitcommit";
-    version = "0.0.0+rev=e8d9eda";
+    version = "0.0.0+rev=7c01af8";
     src = fetchFromGitHub {
       owner = "gbprod";
       repo = "tree-sitter-gitcommit";
-      rev = "e8d9eda4e5ea0b08aa39d48dab0f6553058fbe0f";
-      hash = "sha256-gn945mu9JhLocKjdNbUhQnDvXNy2xxMn36oNOsbNOz4=";
+      rev = "7c01af8d227b5344f62aade2ff00f19bd0c458ca";
+      hash = "sha256-2/SttSCDdTwXbhfYsiNOlVbf1V4nxd+3dxaaaTH0VQU=";
     };
     meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
   };
@@ -770,12 +790,12 @@
   };
   glsl = buildGrammar {
     language = "glsl";
-    version = "0.0.0+rev=5bb58a6";
+    version = "0.0.0+rev=284bed0";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-glsl";
-      rev = "5bb58a6a5b0941d4e1256c6335e50d9780e74dde";
-      hash = "sha256-k2hs8psjVJ2HcNZoVaM4k81uccmacqbl7VxDXXOAQzA=";
+      rev = "284bed0e2f1d9f700756b96512baf33483642ff0";
+      hash = "sha256-pyxMMXDwpu4IOXVzBX1LteD6pmRVCcijCyzMioqjlO0=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
   };
@@ -790,14 +810,25 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-gn";
   };
+  gnuplot = buildGrammar {
+    language = "gnuplot";
+    version = "0.0.0+rev=7549f6f";
+    src = fetchFromGitHub {
+      owner = "dpezto";
+      repo = "tree-sitter-gnuplot";
+      rev = "7549f6faf5cc9fb8cf78054a7af356a6b003c6f3";
+      hash = "sha256-AnSOI1pAMHtlkK6VcRuTCEsnXP3Sm2O95Eiwdx15UzM=";
+    };
+    meta.homepage = "https://github.com/dpezto/tree-sitter-gnuplot";
+  };
   go = buildGrammar {
     language = "go";
-    version = "0.0.0+rev=ff86c7f";
+    version = "0.0.0+rev=fd577c4";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-go";
-      rev = "ff86c7f1734873c8c4874ca4dd95603695686d7a";
-      hash = "sha256-0oXApYf6Ht9xWrWMMaumac1Rqg52GMYW0bAhRbQ8To0=";
+      rev = "fd577c4358c28cbcb6748bbf65354cc85f1cf7a4";
+      hash = "sha256-Fz9xSyjJLbNXAXbYMoVDsRqyRrLTWHAxnQBV9EF6n78=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
   };
@@ -847,12 +878,12 @@
   };
   gpg = buildGrammar {
     language = "gpg";
-    version = "0.0.0+rev=18b2690";
+    version = "0.0.0+rev=e8a95ae";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-gpg-config";
-      rev = "18b2690a15f061a6ff48730589f7a4039af2d002";
-      hash = "sha256-KLyXe1Xt1OPHmOMGX+ulVdjDhBpE31lO7/nGNiI4wt0=";
+      rev = "e8a95ae3deed7d7637c33f635fc5b9fc9dbb3216";
+      hash = "sha256-9spuIVyffwp2R0iFdC0VQ4EYmHQF7/Qvt+RzldonlK8=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config";
   };
@@ -869,14 +900,14 @@
   };
   groovy = buildGrammar {
     language = "groovy";
-    version = "0.0.0+rev=7e02322";
+    version = "0.0.0+rev=235009a";
     src = fetchFromGitHub {
-      owner = "Decodetalkers";
+      owner = "murtaza64";
       repo = "tree-sitter-groovy";
-      rev = "7e023227f46fee428b16a0288eeb0f65ee2523ec";
-      hash = "sha256-tWLc5guc5dxKHoACN3Byo/KV+2i/u2tpZgaS+Yi+CyA=";
+      rev = "235009aad0f580211fc12014bb0846c3910130c1";
+      hash = "sha256-Grp1ziaPyMNxoPbsJSiDCiKPXCtWJ/EC/d0OX/jqHF0=";
     };
-    meta.homepage = "https://github.com/Decodetalkers/tree-sitter-groovy";
+    meta.homepage = "https://github.com/murtaza64/tree-sitter-groovy";
   };
   gstlaunch = buildGrammar {
     language = "gstlaunch";
@@ -913,12 +944,12 @@
   };
   haskell = buildGrammar {
     language = "haskell";
-    version = "0.0.0+rev=dd924b8";
+    version = "0.0.0+rev=8a99848";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-haskell";
-      rev = "dd924b8df1eb76261f009e149fc6f3291c5081c2";
-      hash = "sha256-rm9EeoZ5mO4bHAB0+E+6teKCicghQ46W7VvLfv3Za7I=";
+      rev = "8a99848fc734f9c4ea523b3f2a07df133cbbcec2";
+      hash = "sha256-QIGLxc2BPGqglvpInjmmP/9gUoPEX21WrxsoGOKP03o=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
   };
@@ -968,15 +999,26 @@
   };
   hlsl = buildGrammar {
     language = "hlsl";
-    version = "0.0.0+rev=8b10fab";
+    version = "0.0.0+rev=840fd07";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-hlsl";
-      rev = "8b10faba024b536dc85f76e0c678f573b1776034";
-      hash = "sha256-9bl7RhZjQOqBOePB4Lx3FLR79svMSh7ZVe+YlFv27WU=";
+      rev = "840fd07f09304bca415b93a15483e9ab1e44bc3f";
+      hash = "sha256-GPY6udz0YZawmQ6WcItXchUeag9EO+eMMGoYSaRsdrY=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
+  hlsplaylist = buildGrammar {
+    language = "hlsplaylist";
+    version = "0.0.0+rev=ff121d3";
+    src = fetchFromGitHub {
+      owner = "Freed-Wu";
+      repo = "tree-sitter-hlsplaylist";
+      rev = "ff121d397cf7cc709e3bbc928107fc25529e11e0";
+      hash = "sha256-FItkJbxWfpRne27OPRq5fCHUCX35fxmiT6k1eX8UkhI=";
+    };
+    meta.homepage = "https://github.com/Freed-Wu/tree-sitter-hlsplaylist";
+  };
   hocon = buildGrammar {
     language = "hocon";
     version = "0.0.0+rev=c390f10";
@@ -1001,12 +1043,12 @@
   };
   html = buildGrammar {
     language = "html";
-    version = "0.0.0+rev=949b780";
+    version = "0.0.0+rev=438d694";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-html";
-      rev = "949b78051835564bca937565241e5e337d838502";
-      hash = "sha256-njOFN1I+Ezg6N6v/FMPk0FKnlPnvfHijqISxex6fO40=";
+      rev = "438d694a1f51e1704cb779ad4fec2517523b1d7f";
+      hash = "sha256-NL1tOr7V3QVsVu2OfzLzFpe/FpYVD6MCgdSV0I6AkRY=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
   };
@@ -1043,6 +1085,17 @@
     };
     meta.homepage = "https://github.com/pfeiferj/tree-sitter-hurl";
   };
+  hyprlang = buildGrammar {
+    language = "hyprlang";
+    version = "0.0.0+rev=8602513";
+    src = fetchFromGitHub {
+      owner = "luckasRanarison";
+      repo = "tree-sitter-hyprlang";
+      rev = "86025136c12cd1058985479a6b1935829077f1af";
+      hash = "sha256-1HGA4VUWM/iR1XBNmrsdj1PRGo7qPYMw5vmcVQO1BH0=";
+    };
+    meta.homepage = "https://github.com/luckasRanarison/tree-sitter-hyprlang";
+  };
   ini = buildGrammar {
     language = "ini";
     version = "0.0.0+rev=bcb84a2";
@@ -1078,23 +1131,23 @@
   };
   java = buildGrammar {
     language = "java";
-    version = "0.0.0+rev=2b57cd9";
+    version = "0.0.0+rev=99b29f1";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-java";
-      rev = "2b57cd9541f9fd3a89207d054ce8fbe72657c444";
-      hash = "sha256-Zo+KQ6TOjdJODNppTkt8XPE+WroNB5M6+n2XF+OrD8o=";
+      rev = "99b29f1ed957b3b424b6e21f57bd21a9732a622a";
+      hash = "sha256-2A3dXO+N3M7GEiI06Dn28vU73Bow6vK0deC85mY058Q=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
   };
   javascript = buildGrammar {
     language = "javascript";
-    version = "0.0.0+rev=f1e5a09";
+    version = "0.0.0+rev=9802cc5";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-javascript";
-      rev = "f1e5a09b8d02f8209a68249c93f0ad647b228e6e";
-      hash = "sha256-VbK2asd1CavcBYGia30MomQh+KOgKgz5ax10V6nEVEs=";
+      rev = "9802cc5812a19cd28168076af36e88b463dd3a18";
+      hash = "sha256-vCvpHDbO9/J/qyoSZmpmGQDVf9LweNsf3mKm6eEwdKc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
   };
@@ -1111,23 +1164,23 @@
   };
   jsdoc = buildGrammar {
     language = "jsdoc";
-    version = "0.0.0+rev=d01984d";
+    version = "0.0.0+rev=6a6cf9e";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-jsdoc";
-      rev = "d01984de49927c979b46ea5c01b78c8ddd79baf9";
-      hash = "sha256-O7iDoOlXi+HLesS/sKcYfb+EJLR6gfRkwA657aRRg4c=";
+      rev = "6a6cf9e7341af32d8e2b2e24a37fbfebefc3dc55";
+      hash = "sha256-fKscFhgZ/BQnYnE5EwurFZgiE//O0WagRIHVtDyes/Y=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
   };
   json = buildGrammar {
     language = "json";
-    version = "0.0.0+rev=3fef30d";
+    version = "0.0.0+rev=ac6ddfa";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-json";
-      rev = "3fef30de8aee74600f25ec2e319b62a1a870d51e";
-      hash = "sha256-Msnct7JzPBIR9+PIBZCJTRdVMUzhaDTKkl3JaDUKAgo=";
+      rev = "ac6ddfa7775795a3d8f5edab4a71e3a49f932b6a";
+      hash = "sha256-T/y1xfHv3G3cTD2xw43tMiW8agKwE5CV/uwThSHkd84=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
   };
@@ -1166,45 +1219,45 @@
   };
   julia = buildGrammar {
     language = "julia";
-    version = "0.0.0+rev=0c088d1";
+    version = "0.0.0+rev=e84f10d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-julia";
-      rev = "0c088d1ad270f02c4e84189247ac7001e86fe342";
-      hash = "sha256-WEmuLNUoOyWkcDlVcf8ucdraPEi+gClAw8z9Gx51gpo=";
+      rev = "e84f10db8eeb8b9807786bfc658808edaa1b4fa2";
+      hash = "sha256-jrQjVPLb6SfePxEJV1GgFgLslGxgdmdb8bJy6VHOEbs=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
   };
   kconfig = buildGrammar {
     language = "kconfig";
-    version = "0.0.0+rev=2ba709d";
+    version = "0.0.0+rev=486fea7";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-kconfig";
-      rev = "2ba709d40caa6c1f68b26e55ff7a53e343154cfd";
-      hash = "sha256-36x4t+HPuj+QEmOetlE3JowaAXP6eUhvkx9pZduBWgA=";
+      rev = "486fea71f61ad9f3fd4072a118402e97fe88d26c";
+      hash = "sha256-a3uTjtA4KQ8KxEmpva2oHcqp8EwbI5+h9U+qoPSgDd4=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-kconfig";
   };
   kdl = buildGrammar {
     language = "kdl";
-    version = "0.0.0+rev=e180e05";
+    version = "0.0.0+rev=49fb89a";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-kdl";
-      rev = "e180e05132c4cb229a8ba679b298790ef1eca77c";
-      hash = "sha256-XJ2thChaJQjn0N/tqotjc/eR3W4+6GrNv/FxjvScswc=";
+      rev = "49fb89a854d93b58a65a19724ac307195ca11941";
+      hash = "sha256-U8N6aaTyYT6zaOKJ8S+3dMjS4ngxc9Yo7g4OFi03RR4=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-kdl";
   };
   kotlin = buildGrammar {
     language = "kotlin";
-    version = "0.0.0+rev=0ef8789";
+    version = "0.0.0+rev=4e909d6";
     src = fetchFromGitHub {
       owner = "fwcd";
       repo = "tree-sitter-kotlin";
-      rev = "0ef87892401bb01c84b40916e1f150197bc134b1";
-      hash = "sha256-A48osbWX8rkM5UlHcSX3t7PJ97IhsNe+JUTB4fnkDAE=";
+      rev = "4e909d6cc9ac96b4eaecb3fb538eaca48e9e9ee9";
+      hash = "sha256-Rmq5G+7h/XSNX7JYtpAKcWbOZ1aZpBpe9GpaizK2DRk=";
     };
     meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
   };
@@ -1221,23 +1274,23 @@
   };
   lalrpop = buildGrammar {
     language = "lalrpop";
-    version = "0.0.0+rev=06ae1b6";
+    version = "0.0.0+rev=456dec2";
     src = fetchFromGitHub {
       owner = "traxys";
       repo = "tree-sitter-lalrpop";
-      rev = "06ae1b6c26e23c77c7fb86d51dddad62b42e66b0";
-      hash = "sha256-kYJDTT4gsiRhOzAuRdLY5IxtnqNDBABbxgtAMm9L9qw=";
+      rev = "456dec2990ed7e9595eca82f85db14a1db46e126";
+      hash = "sha256-9lBgCmXfsvNZiI6KzOxLE4S9Eh2B6FSAMX3d5Oz9mQg=";
     };
     meta.homepage = "https://github.com/traxys/tree-sitter-lalrpop";
   };
   latex = buildGrammar {
     language = "latex";
-    version = "0.0.0+rev=2ae2021";
+    version = "0.0.0+rev=841f89f";
     src = fetchFromGitHub {
       owner = "latex-lsp";
       repo = "tree-sitter-latex";
-      rev = "2ae2021d7b224fb6aa57b760e0d146059f943bb8";
-      hash = "sha256-790DbJ/nOQvH8WH6MDZZcAKANQTg1fQPGXS4BI2UbmE=";
+      rev = "841f89ffbba9650529a40fb867f3456bf92bf9b1";
+      hash = "sha256-OVPWwjRD/pYHk+iBskVuvum8+mNjIbAqJOMU22VE7CY=";
     };
     meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex";
   };
@@ -1276,12 +1329,12 @@
   };
   liquidsoap = buildGrammar {
     language = "liquidsoap";
-    version = "0.0.0+rev=691484a";
+    version = "0.0.0+rev=fb062bf";
     src = fetchFromGitHub {
       owner = "savonet";
       repo = "tree-sitter-liquidsoap";
-      rev = "691484ae766c4eee2ac59ec09e621b27b9ed9add";
-      hash = "sha256-fuvT4k/NdtMNsU0rD5z9IpJ8Hc7dHTJiMWDvpShzUMY=";
+      rev = "fb062bfc7ca09a741820debb7cb8a75a557b30f9";
+      hash = "sha256-Q3ML8h6GU3KxL0G7JUAKwqNVgQBtDeQJANKF5h+MApQ=";
     };
     meta.homepage = "https://github.com/savonet/tree-sitter-liquidsoap";
   };
@@ -1309,12 +1362,12 @@
   };
   luadoc = buildGrammar {
     language = "luadoc";
-    version = "0.0.0+rev=d82b430";
+    version = "0.0.0+rev=873612a";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-luadoc";
-      rev = "d82b43018a6b22d70b264ed8713be1c4daf9b0e0";
-      hash = "sha256-x1VyDzIAozcCBO6pukhwUjZ5JiZVq2+5CMWE2XXf6Fw=";
+      rev = "873612aadd3f684dd4e631bdf42ea8990c57634e";
+      hash = "sha256-ttGBB9sn+xd9jWzjNAzpo/lwYVYZGSUGEip4K3PfBP0=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-luadoc";
   };
@@ -1364,24 +1417,24 @@
   };
   markdown = buildGrammar {
     language = "markdown";
-    version = "0.0.0+rev=28aa3ba";
+    version = "0.0.0+rev=23d9cb2";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "28aa3baef73bd458d053b613b8bd10fd102b4405";
-      hash = "sha256-HSjKYqjrJKPLbdq1UTvk/KnDqsIzVO7k5syCsIpAZpw=";
+      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
+      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
     };
     location = "tree-sitter-markdown";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
   };
   markdown_inline = buildGrammar {
     language = "markdown_inline";
-    version = "0.0.0+rev=28aa3ba";
+    version = "0.0.0+rev=23d9cb2";
     src = fetchFromGitHub {
       owner = "MDeiml";
       repo = "tree-sitter-markdown";
-      rev = "28aa3baef73bd458d053b613b8bd10fd102b4405";
-      hash = "sha256-HSjKYqjrJKPLbdq1UTvk/KnDqsIzVO7k5syCsIpAZpw=";
+      rev = "23d9cb2ce2f4d0914e7609b500c5fc8dfae0176f";
+      hash = "sha256-Z42w7gSUV9/9Q1jtCrd03cjlMUjHC5Vjie1x8m8K5uw=";
     };
     location = "tree-sitter-markdown-inline";
     meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
@@ -1442,6 +1495,17 @@
     generate = true;
     meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
   };
+  muttrc = buildGrammar {
+    language = "muttrc";
+    version = "0.0.0+rev=0af0e0d";
+    src = fetchFromGitHub {
+      owner = "neomutt";
+      repo = "tree-sitter-muttrc";
+      rev = "0af0e0d8c8cf59dc21cfe565489da0c247374b9f";
+      hash = "sha256-AB8c2mV2sTNwN8sZkv3RbRKdxZW467P6epX+Z4LWqbU=";
+    };
+    meta.homepage = "https://github.com/neomutt/tree-sitter-muttrc";
+  };
   nasm = buildGrammar {
     language = "nasm";
     version = "0.0.0+rev=3bc691d";
@@ -1554,24 +1618,24 @@
   };
   ocaml = buildGrammar {
     language = "ocaml";
-    version = "0.0.0+rev=4abfdc1";
+    version = "0.0.0+rev=9965d20";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ocaml";
-      rev = "4abfdc1c7af2c6c77a370aee974627be1c285b3b";
-      hash = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
+      rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
+      hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
     };
     location = "ocaml";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
   };
   ocaml_interface = buildGrammar {
     language = "ocaml_interface";
-    version = "0.0.0+rev=4abfdc1";
+    version = "0.0.0+rev=9965d20";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ocaml";
-      rev = "4abfdc1c7af2c6c77a370aee974627be1c285b3b";
-      hash = "sha256-ycmjIKfrsVSVHmPP3HCxfk5wcBIF/JFH8OnU8mY1Cc8=";
+      rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
+      hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
     };
     location = "interface";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
@@ -1590,12 +1654,12 @@
   };
   odin = buildGrammar {
     language = "odin";
-    version = "0.0.0+rev=751f779";
+    version = "0.0.0+rev=f94c590";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-odin";
-      rev = "751f7796fa76075cff52edd1afff569a8a09c2a7";
-      hash = "sha256-VKcyuoXSRN4PAHQKzfuCKB9lg5y5MQyofy3FkN79Nrw=";
+      rev = "f94c590ed5263e11f1e492d1b53356f8c8459b66";
+      hash = "sha256-MLSy1OU8PE2wTfV8JoJdtjoc12MD993TViaZjp3Ujgc=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-odin";
   };
@@ -1634,12 +1698,12 @@
   };
   pem = buildGrammar {
     language = "pem";
-    version = "0.0.0+rev=e017679";
+    version = "0.0.0+rev=7905a16";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-pem";
-      rev = "e01767921df18142055d97407595329d7629e643";
-      hash = "sha256-8hSWC9Q5oy0+8l/uG4QWVupiYqSWMRfZXGH6PpTx+O8=";
+      rev = "7905a168036e23605160a0d32a142f58ab5eaa06";
+      hash = "sha256-6gEOrpJ/5UDMMVqKh0XQX+K3JOPiOk5H6CWZgB59h00=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem";
   };
@@ -1656,36 +1720,36 @@
   };
   php = buildGrammar {
     language = "php";
-    version = "0.0.0+rev=dc8bd41";
+    version = "0.0.0+rev=caf4d67";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "dc8bd4150401f6c08591414f2a5480b7f2a874c8";
-      hash = "sha256-gQGj6qKjyAie6RgHZl1nVUiELDyR+/iIzFMQQ/obus8=";
+      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
+      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
     };
     location = "php";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   php_only = buildGrammar {
     language = "php_only";
-    version = "0.0.0+rev=dc8bd41";
+    version = "0.0.0+rev=caf4d67";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "dc8bd4150401f6c08591414f2a5480b7f2a874c8";
-      hash = "sha256-gQGj6qKjyAie6RgHZl1nVUiELDyR+/iIzFMQQ/obus8=";
+      rev = "caf4d67d55386d3e4f85d29450b8d9cacbb02d19";
+      hash = "sha256-L0M9v/T3W3v+pES2AytZ6V4jHfnSklFBRGPW3/oB2Aw=";
     };
     location = "php_only";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   phpdoc = buildGrammar {
     language = "phpdoc";
-    version = "0.0.0+rev=67db260";
+    version = "0.0.0+rev=f285e33";
     src = fetchFromGitHub {
       owner = "claytonrcarter";
       repo = "tree-sitter-phpdoc";
-      rev = "67db260cf4e99a02283ae26b808d59b86d42dc0f";
-      hash = "sha256-IMj5xL1SB1JYI0hweIq+kSXkoeWBqAzAu/35FO2xi+U=";
+      rev = "f285e338d328a03920a9bfd8dda78585c7ddcca3";
+      hash = "sha256-kvAZ1+tbw6bAtLhPeNGi1rmnyNhBSL/nynQADX+4tMw=";
     };
     meta.homepage = "https://github.com/claytonrcarter/tree-sitter-phpdoc";
   };
@@ -1724,12 +1788,12 @@
   };
   poe_filter = buildGrammar {
     language = "poe_filter";
-    version = "0.0.0+rev=fa83292";
+    version = "0.0.0+rev=99ce487";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-poe-filter";
-      rev = "fa83292e04d27976ab5c354e0c980f2c67628a02";
-      hash = "sha256-Ij3anynA3ZYi4/Cxp+Anvgc2Te1Qxi0mnWDc0XTHaN0=";
+      rev = "99ce487804eab781e1e1cb39de82aea236346c96";
+      hash = "sha256-kMk0gCb2/FExKyGPeRDCd6rW/R3eH1iuE7udnFoI5UY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter";
   };
@@ -1746,12 +1810,12 @@
   };
   printf = buildGrammar {
     language = "printf";
-    version = "0.0.0+rev=0469630";
+    version = "0.0.0+rev=ddff4ce";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-printf";
-      rev = "04696305caceab64a78e3a749774718d87ba85a1";
-      hash = "sha256-MWrKImt7+E4LYsrSMKIEifXmb6MeuiNxy3pt1DCCLBQ=";
+      rev = "ddff4ce4d630d1f1a3b591d77b2618a4169b36b9";
+      hash = "sha256-MIj4tP2+zb43pcnSBSVjPpKxjbxKFJTcz8AJphEvh6k=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-printf";
   };
@@ -1779,12 +1843,12 @@
   };
   properties = buildGrammar {
     language = "properties";
-    version = "0.0.0+rev=9725327";
+    version = "0.0.0+rev=74e5d3c";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-properties";
-      rev = "97253273bdf8b63546c8006e71ba155ecc27069e";
-      hash = "sha256-pzAoRPBZRqlchnaYrKixrgjTZZ3nLzoOD5MZCqS7trI=";
+      rev = "74e5d3c63d0da17c0800b3cf9090b24637ef6b59";
+      hash = "sha256-oB5TA8dZtuFop7Urggv2ZWWi8s6wDsIL+ZG5+sCQgq8=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-properties";
   };
@@ -1846,45 +1910,45 @@
   };
   purescript = buildGrammar {
     language = "purescript";
-    version = "0.0.0+rev=85a9095";
+    version = "0.0.0+rev=2517b1e";
     src = fetchFromGitHub {
       owner = "postsolar";
       repo = "tree-sitter-purescript";
-      rev = "85a90951c10f118f819c1137f669800246890db7";
-      hash = "sha256-F5xkMYK5WYn+Fuf/vWGaywX+hrjOqGUlg9EjHMS6yDg=";
+      rev = "2517b1ee2236353af761edbd22570f740f1603f1";
+      hash = "sha256-iE8v4kwUlq+Xlv26C8IPrZZp1/c9x+X0RHM2HhGfcXM=";
     };
     meta.homepage = "https://github.com/postsolar/tree-sitter-purescript";
   };
   pymanifest = buildGrammar {
     language = "pymanifest";
-    version = "0.0.0+rev=a775470";
+    version = "0.0.0+rev=41a15c4";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-pymanifest";
-      rev = "a77547018ada84ca4bc115c7650b19441120f065";
-      hash = "sha256-8aU3TA0KJAfsiJi326mixw6GcnFDTJzrHquCZi0lYOQ=";
+      rev = "41a15c43252baa083729c25646cde83ee5c88277";
+      hash = "sha256-sOh3j3wy519U1XCBEZhJ4WxIiGZ+/WX5xgj+wy7N9c0=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pymanifest";
   };
   python = buildGrammar {
     language = "python";
-    version = "0.0.0+rev=4bfdd90";
+    version = "0.0.0+rev=deba2ba";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-python";
-      rev = "4bfdd9033a2225cc95032ce77066b7aeca9e2efc";
-      hash = "sha256-hXNxa895SyNOG7PH2vAIkWbcMjZDjWYDsCafBZuvnT0=";
+      rev = "deba2badc88afd18e6cbd4341ee3c18c3a9bb4ed";
+      hash = "sha256-K3zamqQPM1UHk375TrMvT9mXw8f7tUse5bFctI+V1EA=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
   };
   ql = buildGrammar {
     language = "ql";
-    version = "0.0.0+rev=bd08702";
+    version = "0.0.0+rev=ff04ba6";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ql";
-      rev = "bd087020f0d8c183080ca615d38de0ec827aeeaf";
-      hash = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
+      rev = "ff04ba61857ba05b80221e71b423b2728dbebe1e";
+      hash = "sha256-/ayyqSF/SBVvqMYm27NOlCYR3JN0xR3oy0OggwTysvE=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ql";
   };
@@ -1901,23 +1965,23 @@
   };
   qmljs = buildGrammar {
     language = "qmljs";
-    version = "0.0.0+rev=2591330";
+    version = "0.0.0+rev=9fa49ff";
     src = fetchFromGitHub {
       owner = "yuja";
       repo = "tree-sitter-qmljs";
-      rev = "259133077f2fd854bcaa6f0149d3fc281fc8070b";
-      hash = "sha256-xg3fXYfAYHVAkByQekOd4EFLv0TbINcQPasFQYUkF0A=";
+      rev = "9fa49ff3315987f715ce5666ff979a7742fa8a98";
+      hash = "sha256-q20gLVLs0LpqRpgo/qNRDfExbWXhICWZjM1ux4+AT6M=";
     };
     meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
   query = buildGrammar {
     language = "query";
-    version = "0.0.0+rev=3a9808b";
+    version = "0.0.0+rev=a0ccc35";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "tree-sitter-query";
-      rev = "3a9808b22742d5bd906ef5d1a562f2f1ae57406d";
-      hash = "sha256-5N7FT0HTK3xzzhAlk3wBOB9xlEpKSNIfakgFnsxEi18=";
+      rev = "a0ccc351e5e868ec1f8135e97aa3b53c663cf2df";
+      hash = "sha256-H2QLsjl3/Kh0ojCf2Df38tb9KrM2InphEmtGd0J6+hM=";
     };
     meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
   };
@@ -1945,23 +2009,23 @@
   };
   rasi = buildGrammar {
     language = "rasi";
-    version = "0.0.0+rev=371dac6";
+    version = "0.0.0+rev=43196d9";
     src = fetchFromGitHub {
       owner = "Fymyte";
       repo = "tree-sitter-rasi";
-      rev = "371dac6bcce0df5566c1cfebde69d90ecbeefd2d";
-      hash = "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=";
+      rev = "43196d934a9a6ab3c7093a8683efd0111bb03db1";
+      hash = "sha256-7zhQ5wGm0FFyuTiBVN2KgvUTw8G6fwUGR8HKJ69kR+c=";
     };
     meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
   };
   rbs = buildGrammar {
     language = "rbs";
-    version = "0.0.0+rev=b28e181";
+    version = "0.0.0+rev=519a611";
     src = fetchFromGitHub {
       owner = "joker1007";
       repo = "tree-sitter-rbs";
-      rev = "b28e1819d434e95916d11fe48ee6e8959b69197b";
-      hash = "sha256-HWWvettxkzziIWH6448RDxmVkaUNfSOgv3CtrlsgW3U=";
+      rev = "519a61132a51222e3ce73d3b7ef07465f587f346";
+      hash = "sha256-MLsbOdH4R3nZxqTFtPstTsbr+yjAz7UvKB/lsD8aWxM=";
     };
     meta.homepage = "https://github.com/joker1007/tree-sitter-rbs";
   };
@@ -1976,14 +2040,25 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-re2c";
   };
+  readline = buildGrammar {
+    language = "readline";
+    version = "0.0.0+rev=f2f98d4";
+    src = fetchFromGitHub {
+      owner = "ribru17";
+      repo = "tree-sitter-readline";
+      rev = "f2f98d4263949d696e69a425f65326c59d1ceedc";
+      hash = "sha256-+T4HS2QqoXFRgBfY61NHK4EyQ/HF26eeMt9KV2Ud0Ug=";
+    };
+    meta.homepage = "https://github.com/ribru17/tree-sitter-readline";
+  };
   regex = buildGrammar {
     language = "regex";
-    version = "0.0.0+rev=2354482";
+    version = "0.0.0+rev=ba22e4e";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-regex";
-      rev = "2354482d7e2e8f8ff33c1ef6c8aa5690410fbc96";
-      hash = "sha256-X4iQ60LgiVsF0rtinVysX16d6yFjaSmwwndP2L5cuqw=";
+      rev = "ba22e4e0cb42b2ef066948d0ea030ac509cef733";
+      hash = "sha256-mb8y3lsbN5zEpVCeBQxGXSRqC3FKsvNg1Rb1XTSh3Qo=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
   };
@@ -2000,12 +2075,12 @@
   };
   requirements = buildGrammar {
     language = "requirements";
-    version = "0.0.0+rev=389dd46";
+    version = "0.0.0+rev=0008446";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-requirements";
-      rev = "389dd46a39075ce36af6ee3af50393d9aa506d14";
-      hash = "sha256-SGamdYeoBKMkyVzvA4nCWp3bqhfmkJctyhcVhqYBfPQ=";
+      rev = "00084464ccad32dd71da60771c25554eeedb213c";
+      hash = "sha256-84xUmRPhZvBxW+p9RWavOaK3OHJSuhjfbGr/eY4yOto=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-requirements";
   };
@@ -2055,34 +2130,34 @@
   };
   ruby = buildGrammar {
     language = "ruby";
-    version = "0.0.0+rev=4d9ad3f";
+    version = "0.0.0+rev=22a0bb2";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ruby";
-      rev = "4d9ad3f010fdc47a8433adcf9ae30c8eb8475ae7";
-      hash = "sha256-d3pN+Z8qGDDKuy8OyguGNVD97m2VasVvi8CckdCsOB8=";
+      rev = "22a0bb2678755a3714e194609862ea7f4516e807";
+      hash = "sha256-lD3pRbQZDyqIkiknuXAkXd+6aHqKUY/8SNwQgfnrbBw=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
   };
   rust = buildGrammar {
     language = "rust";
-    version = "0.0.0+rev=e0e8b6d";
+    version = "0.0.0+rev=a70daac";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-rust";
-      rev = "e0e8b6de6e4aa354749c794f5f36a906dcccda74";
-      hash = "sha256-egTxBuliboYbl+5N6Jdt960EMLByVmLqSmQLps3rEok=";
+      rev = "a70daac064145c84e9d51767c2575bb68d51df58";
+      hash = "sha256-2Y7sQ5bhKEpbDAHd5zJMGAlDWH32tJXxAgFOYY8S7o8=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
   };
   scala = buildGrammar {
     language = "scala";
-    version = "0.0.0+rev=45b5ba0";
+    version = "0.0.0+rev=e02f003";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-scala";
-      rev = "45b5ba0e749a8477a8fd2666f082f352859bdc3c";
-      hash = "sha256-tH2STGmCaVHDL4fOh8whPmiHbwKu8ZxjS4wDt+qVjjs=";
+      rev = "e02f003d78dc269fef287b9b7b9963dc1f26bd7e";
+      hash = "sha256-LkrZ+y7QSAGe/kkkdUSyFQJFmD/mOI5Ps/wxD3BAkDI=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
   };
@@ -2122,25 +2197,25 @@
   };
   slang = buildGrammar {
     language = "slang";
-    version = "0.0.0+rev=ac07aa2";
+    version = "0.0.0+rev=130b2f5";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-slang";
-      rev = "ac07aa2c875ef6ada2ec468d8a4d0c7c5efd96d7";
-      hash = "sha256-wWCXk7HnORmD1M761rv31yvPGLGynUyNYzrhZDNwzFs=";
+      rev = "130b2f5c7a1d5c24645c3518db4bc2b22dd90718";
+      hash = "sha256-gDN8nyQjxE7Hko3MJJj2Le0Ey0pd3GlG5QWkDf8c7Q0=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
   };
   slint = buildGrammar {
     language = "slint";
-    version = "0.0.0+rev=00c8a2d";
+    version = "0.0.0+rev=68405a4";
     src = fetchFromGitHub {
-      owner = "jrmoulton";
+      owner = "slint-ui";
       repo = "tree-sitter-slint";
-      rev = "00c8a2d3645766f68c0d0460086c0a994e5b0d85";
-      hash = "sha256-R7VeGT8Bu3i6ZPUbjEm7sbGSLvK6x3DLz098hPuhgyQ=";
+      rev = "68405a45f7a5311cd1f77e40ba84199573303f52";
+      hash = "sha256-zmmxXU7w5N8XjKn2Uu/nAc/FjCAprdKyJ0c75CGUgpk=";
     };
-    meta.homepage = "https://github.com/jrmoulton/tree-sitter-slint";
+    meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
   };
   smali = buildGrammar {
     language = "smali";
@@ -2188,28 +2263,39 @@
   };
   soql = buildGrammar {
     language = "soql";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "soql";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
   sosl = buildGrammar {
     language = "sosl";
-    version = "0.0.0+rev=ca70b23";
+    version = "0.0.0+rev=857077f";
     src = fetchFromGitHub {
       owner = "aheber";
       repo = "tree-sitter-sfapex";
-      rev = "ca70b2347a79615cd749517f6c6c2352e50a7ce9";
-      hash = "sha256-7gVA5aFGw2DSFmmlv6HMLcfSki4aDPB05llfHFSaYME=";
+      rev = "857077f9e6bb04df0f769c18d32bfe036911adc8";
+      hash = "sha256-b7rw0AWqqvFisS0qlDppJFxSnjNZaTTeph6gKfQwFNA=";
     };
     location = "sosl";
     meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
   };
+  sourcepawn = buildGrammar {
+    language = "sourcepawn";
+    version = "0.0.0+rev=846ec64";
+    src = fetchFromGitHub {
+      owner = "nilshelmig";
+      repo = "tree-sitter-sourcepawn";
+      rev = "846ec647109a1f3dfab17c025c80ecdf6fd56581";
+      hash = "sha256-3yRBrzuzjWKKpLO+58P/JdNvjPj2o1HuBZOKkFh2RCs=";
+    };
+    meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
+  };
   sparql = buildGrammar {
     language = "sparql";
     version = "0.0.0+rev=05f949d";
@@ -2223,12 +2309,12 @@
   };
   sql = buildGrammar {
     language = "sql";
-    version = "0.0.0+rev=fd70fb3";
+    version = "0.0.0+rev=da2d1ef";
     src = fetchFromGitHub {
       owner = "derekstride";
       repo = "tree-sitter-sql";
-      rev = "fd70fb358d164cd93fbe2674a9cca276dc5203f7";
-      hash = "sha256-GXQH/df33jxrIRXkJg2qRXrP6/3k+PodNxZ1O/ceaT8=";
+      rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc";
+      hash = "sha256-aNxUvmj4AMO744fsSOsvQcNEtHYuQDephKha/hSphh0=";
     };
     meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
   };
@@ -2245,23 +2331,23 @@
   };
   ssh_config = buildGrammar {
     language = "ssh_config";
-    version = "0.0.0+rev=0969813";
+    version = "0.0.0+rev=b859582";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-ssh-config";
-      rev = "096981397385f49833dfd66037fa98081bbd9ef9";
-      hash = "sha256-WpgIir4V4X2XUTceBwZyNFQE3ePDBqjlBRS57pF8ZO4=";
+      rev = "b8595820fa331977a5a44f5f9e0a445c456b5cbf";
+      hash = "sha256-0aJ+borC8Ous0hTm000DQGaDxbYvvYjocMG4M0bUBqY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config";
   };
   starlark = buildGrammar {
     language = "starlark";
-    version = "0.0.0+rev=c45ce2b";
+    version = "0.0.0+rev=b31a616";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-starlark";
-      rev = "c45ce2b39062bbd12ea1c210bd200db250efb24a";
-      hash = "sha256-rEOvGrXRguIXQNvXdm+s80xRQ+8iCCdafA2Wl+dsHJo=";
+      rev = "b31a616aac5d05f927f3f9dd809789db7805b632";
+      hash = "sha256-AVQNg7Ck2x1+5asFqJHQ3sdNKJrLVeck9fsgNMBU3x8=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-starlark";
   };
@@ -2311,23 +2397,23 @@
   };
   svelte = buildGrammar {
     language = "svelte";
-    version = "0.0.0+rev=697bb51";
+    version = "0.0.0+rev=bd60db7";
     src = fetchFromGitHub {
       owner = "Himujjal";
       repo = "tree-sitter-svelte";
-      rev = "697bb515471871e85ff799ea57a76298a71a9cca";
-      hash = "sha256-TJVAQULTBTZxVwvpBpFmBPJM1jh2aN+KG8YfuT+/ylg=";
+      rev = "bd60db7d3d06f89b6ec3b287c9a6e9190b5564bd";
+      hash = "sha256-FZuzbTOP9LokPb77DSUwIXCFvMmDQPyyLKt7vNtEuAY=";
     };
     meta.homepage = "https://github.com/Himujjal/tree-sitter-svelte";
   };
   swift = buildGrammar {
     language = "swift";
-    version = "0.0.0+rev=1c58633";
+    version = "0.0.0+rev=dabbcf9";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "1c586339fb00014b23d6933f2cc32b588a226f3b";
-      hash = "sha256-bFJfPIc8H133yASZe9chgtJEBuNQ7oWm6/6Yu6jWwhI=";
+      rev = "dabbcf9a2311e08c1b020e1258849b8359e9de1a";
+      hash = "sha256-U4r2uEDqBXeDC0NkOvSwkKreJnFSStxJisNPLJ4CTZs=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -2376,6 +2462,17 @@
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-tablegen";
   };
+  tcl = buildGrammar {
+    language = "tcl";
+    version = "0.0.0+rev=78c7120";
+    src = fetchFromGitHub {
+      owner = "tree-sitter-grammars";
+      repo = "tree-sitter-tcl";
+      rev = "78c71201c1b0939239e779a837dd35370c308948";
+      hash = "sha256-+dCG0V+eKmLJqvtxCLNpupb8W7a4n3hAsHfURAgnTmk=";
+    };
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-tcl";
+  };
   teal = buildGrammar {
     language = "teal";
     version = "0.0.0+rev=33482c9";
@@ -2390,12 +2487,12 @@
   };
   templ = buildGrammar {
     language = "templ";
-    version = "0.0.0+rev=a3ef3d8";
+    version = "0.0.0+rev=592faa3";
     src = fetchFromGitHub {
       owner = "vrischmann";
       repo = "tree-sitter-templ";
-      rev = "a3ef3d8e73515b196d30adf9ee5115f057f7a2c6";
-      hash = "sha256-henVqdcvCURqjiueaipB2YVLhh3gbVqFiLMfvGS3t6M=";
+      rev = "592faa3186ef857c92e4bd1c31d73c07a4a334db";
+      hash = "sha256-XX1+P8ibo8REYYZQaC47lneg/roralo+YiRwFNnARsQ=";
     };
     meta.homepage = "https://github.com/vrischmann/tree-sitter-templ";
   };
@@ -2491,12 +2588,12 @@
   };
   tsx = buildGrammar {
     language = "tsx";
-    version = "0.0.0+rev=d847898";
+    version = "0.0.0+rev=198e2ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "d847898fec3fe596798c9fda55cb8c05a799001a";
-      hash = "sha256-q8vJnJZdWzsiHHJSPGoM938U5AxuOIuGrx1r6F+cdK4=";
+      rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
+      hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
     };
     location = "tsx";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2525,12 +2622,12 @@
   };
   typescript = buildGrammar {
     language = "typescript";
-    version = "0.0.0+rev=d847898";
+    version = "0.0.0+rev=198e2ea";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "d847898fec3fe596798c9fda55cb8c05a799001a";
-      hash = "sha256-q8vJnJZdWzsiHHJSPGoM938U5AxuOIuGrx1r6F+cdK4=";
+      rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
+      hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
     };
     location = "typescript";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2548,12 +2645,12 @@
   };
   udev = buildGrammar {
     language = "udev";
-    version = "0.0.0+rev=baeac48";
+    version = "0.0.0+rev=15d89be";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-udev";
-      rev = "baeac48a999abb9384cdcce320f0182937aec8ba";
-      hash = "sha256-XEbCi9Oo5mTiocdh8Uqr5XQ3nqH3MBZjZusGd076NWE=";
+      rev = "15d89be59a3802dcbe2e97e0f9d32b52f3aeda3f";
+      hash = "sha256-cgy50jUlqf9/B9H3n24gD9e4mn2qNsa9QxmE8GdhnaA=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-udev";
   };
@@ -2570,12 +2667,12 @@
   };
   unison = buildGrammar {
     language = "unison";
-    version = "0.0.0+rev=a69d087";
+    version = "0.0.0+rev=fb49b81";
     src = fetchFromGitHub {
       owner = "kylegoetz";
       repo = "tree-sitter-unison";
-      rev = "a69d087590f2ca057d1ef1a393de7e22869bb557";
-      hash = "sha256-9eDWvNkY3rEz6khluAJuTXF95CF384IRptaRXGOHma4=";
+      rev = "fb49b8125509c079e08f345758c03a427129010e";
+      hash = "sha256-Y4Pnte9ZxXq7tzjc+cliXO8U57cnHlQxOMuX8u39ptE=";
     };
     generate = true;
     meta.homepage = "https://github.com/kylegoetz/tree-sitter-unison";
@@ -2604,15 +2701,15 @@
   };
   v = buildGrammar {
     language = "v";
-    version = "0.0.0+rev=9ac84e6";
+    version = "0.0.0+rev=56d7905";
     src = fetchFromGitHub {
-      owner = "v-analyzer";
+      owner = "vlang";
       repo = "v-analyzer";
-      rev = "9ac84e62396bb13c8f1d11f967f0c0f2dec1a448";
-      hash = "sha256-a+oV175rnCgf5uTjmYkxTelekesBCEhcTOnKGorM88c=";
+      rev = "56d7905f423b82dff4b23c86e2869ddc06f6e419";
+      hash = "sha256-p6QPrmgmrMZai8zvVfNDkXo6SLDpQ537bitHeNC39ik=";
     };
     location = "tree_sitter_v";
-    meta.homepage = "https://github.com/v-analyzer/v-analyzer";
+    meta.homepage = "https://github.com/vlang/v-analyzer";
   };
   vala = buildGrammar {
     language = "vala";
@@ -2627,12 +2724,12 @@
   };
   verilog = buildGrammar {
     language = "verilog";
-    version = "0.0.0+rev=9020313";
+    version = "0.0.0+rev=2dfddfc";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-verilog";
-      rev = "902031343056bc0b11f3e47b33f036a9cf59f58d";
-      hash = "sha256-7yPSblfcfNpJYFc06GT1EYY6WMgj/SaFI3UJqUBsL9c=";
+      rev = "2dfddfcb891f74a1cdb9d8ce480a997d11846e17";
+      hash = "sha256-ekR9rDaGbDmtzZr0zXubq0brZI4hDsJUzZJTbgxIE2M=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog";
   };
@@ -2671,14 +2768,14 @@
   };
   vue = buildGrammar {
     language = "vue";
-    version = "0.0.0+rev=91fe275";
+    version = "0.0.0+rev=7e48557";
     src = fetchFromGitHub {
-      owner = "ikatyang";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-vue";
-      rev = "91fe2754796cd8fba5f229505a23fa08f3546c06";
-      hash = "sha256-NeuNpMsKZUP5mrLCjJEOSLD6tlJpNO4Z/rFUqZLHE1A=";
+      rev = "7e48557b903a9db9c38cea3b7839ef7e1f36c693";
+      hash = "sha256-dz9NC+axivAsVJPbt7TNtU89wFyrTBoD2hCBjiXFbgY=";
     };
-    meta.homepage = "https://github.com/ikatyang/tree-sitter-vue";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vue";
   };
   wgsl = buildGrammar {
     language = "wgsl";
@@ -2704,12 +2801,12 @@
   };
   wing = buildGrammar {
     language = "wing";
-    version = "0.0.0+rev=9c3a40d";
+    version = "0.0.0+rev=f7965a9";
     src = fetchFromGitHub {
       owner = "winglang";
       repo = "wing";
-      rev = "9c3a40d7e51c2963b19d1f7614f9b551cad66bb6";
-      hash = "sha256-4L6vx4MHTuTx/5DKKWSVRygCRHI/y9YYbMs/ejAjZXw=";
+      rev = "f7965a947d2eaa8b5b9bba1c42a0e1891f1a0b2a";
+      hash = "sha256-qQ74aj7pccc3gvmeNoa0BBTMdNTmcc0h8aWNcLvpMRY=";
     };
     location = "libs/tree-sitter-wing";
     generate = true;
@@ -2717,26 +2814,26 @@
   };
   xcompose = buildGrammar {
     language = "xcompose";
-    version = "0.0.0+rev=01344fe";
+    version = "0.0.0+rev=8898238";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-xcompose";
-      rev = "01344fed31a3cd37a63f03357ec80cbc592a93b5";
-      hash = "sha256-MZmtV8d5L7qF65cJuxZaJwMVvxSYMduwv8lbzljMJLM=";
+      rev = "8898238fca7e143760386448093392b87e58002e";
+      hash = "sha256-1U3FFO6j4jdynDTRQlD8kfTYTiKvC7ZjxSECMW9NYGY=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xcompose";
   };
   xml = buildGrammar {
     language = "xml";
-    version = "0.0.0+rev=dd7ef38";
+    version = "0.0.0+rev=2743ff8";
     src = fetchFromGitHub {
-      owner = "ObserverOfTime";
+      owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "dd7ef38c74d8430da729b4da815e4c40776e03bb";
-      hash = "sha256-6uQ9IeR4P5VXVvFA2KURDtjuYMMj9CwLHvI1dZ1B9L4=";
+      rev = "2743ff864eac85cec830ff400f2e0024b9ca588b";
+      hash = "sha256-wuj3Q+LAtAS99pwJUD+3BzndVeNhzvQlaugzTHRvUjI=";
     };
-    location = "tree-sitter-xml";
-    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-xml";
+    location = "xml";
+    meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
   };
   yaml = buildGrammar {
     language = "yaml";
@@ -2773,12 +2870,12 @@
   };
   zathurarc = buildGrammar {
     language = "zathurarc";
-    version = "0.0.0+rev=b47016d";
+    version = "0.0.0+rev=fe37e85";
     src = fetchFromGitHub {
       owner = "Freed-Wu";
       repo = "tree-sitter-zathurarc";
-      rev = "b47016df5688ef91ad4532138b6210c7944d6483";
-      hash = "sha256-Na0Z8mRdXYwAnw3wyc978aoQjF/m49IYsnQx3AG8kOc=";
+      rev = "fe37e85db355c737573315f278672534c40fe140";
+      hash = "sha256-lQFCJhyJTCa+zdsobMutgbQqJ9mhehaIbRLbds0riEo=";
     };
     meta.homepage = "https://github.com/Freed-Wu/tree-sitter-zathurarc";
   };
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix b/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
index 21267a14230f..c25b5c7d78b1 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -549,6 +549,12 @@
       '';
   });
 
+  elixir-tools-nvim = super.elixir-tools-nvim.overrideAttrs {
+    fixupPhase = ''
+      patchShebangs $(find $out/bin/ -type f -not -name credo-language-server)
+    '';
+  };
+
   executor-nvim = super.executor-nvim.overrideAttrs {
     dependencies = with self; [ nui-nvim ];
   };
@@ -988,7 +994,7 @@
         inherit (old) version src;
         sourceRoot = "source/spectre_oxi";
 
-        cargoHash = "sha256-y2ZIgOApIShkIesXmItPKDO6XjFrG4GS5HCPncJUmN8=";
+        cargoHash = "sha256-822+3s6FJVqBRYJAL/89bJfGv8fNhSN3nQelB29mXvQ=";
 
 
         preCheck = ''
@@ -1124,7 +1130,7 @@
         pname = "sg-nvim-rust";
         inherit (old) version src;
 
-        cargoHash = "sha256-BDNFZ/7nnfvtBA7T6a7MDNJsq/cOI9tgW0kxUoIcbV8=";
+        cargoHash = "sha256-nlPSsp/HbS1DxhOHh5+7x1re46oiQa9FQMLClc7TQLg=";
 
         nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names b/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 11107d93668d..f0dba679ae50 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -78,11 +78,12 @@ https://github.com/nullishamy/autosave.nvim/,HEAD,
 https://github.com/rafi/awesome-vim-colorschemes/,,
 https://github.com/ayu-theme/ayu-vim/,,
 https://github.com/taybart/b64.nvim/,HEAD,
+https://github.com/m00qek/baleia.nvim/,HEAD,
 https://github.com/romgrk/barbar.nvim/,,
 https://github.com/utilyre/barbecue.nvim/,,
+https://github.com/RRethy/base16-nvim/,,
 https://github.com/chriskempson/base16-vim/,,
 https://github.com/nvchad/base46/,HEAD,
-https://github.com/IogaMaster/neocord.git,main,
 https://github.com/jamespwilliams/bat.vim/,HEAD,
 https://github.com/vim-scripts/bats.vim/,,
 https://github.com/rbgrouleff/bclose.vim/,,
@@ -512,6 +513,7 @@ https://github.com/Shougo/neco-vim/,,
 https://github.com/nvim-neo-tree/neo-tree.nvim/,HEAD,
 https://github.com/Shougo/neocomplete.vim/,,
 https://github.com/folke/neoconf.nvim/,HEAD,
+https://github.com/IogaMaster/neocord/,main,
 https://github.com/KeitaNakamura/neodark.vim/,,
 https://github.com/folke/neodev.nvim/,HEAD,
 https://github.com/sbdchd/neoformat/,,
@@ -574,13 +576,12 @@ https://github.com/MunifTanjim/nui.nvim/,main,
 https://github.com/jose-elias-alvarez/null-ls.nvim/,,
 https://github.com/nacro90/numb.nvim/,,
 https://github.com/nvchad/nvchad/,HEAD,
-https://github.com/altermo/ultimate-autopair.nvim.git,HEAD,
 https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/,,
 https://github.com/catppuccin/nvim/,,catppuccin-nvim
 https://github.com/AckslD/nvim-FeMaco.lua/,HEAD,
 https://github.com/nathanmsmith/nvim-ale-diagnostic/,,
 https://github.com/windwp/nvim-autopairs/,,
-https://github.com/RRethy/nvim-base16/,,
+https://github.com/Canop/nvim-bacon/,HEAD,
 https://github.com/code-biscuits/nvim-biscuits/,HEAD,
 https://github.com/kevinhwang91/nvim-bqf/,,
 https://github.com/ojroques/nvim-bufdel/,,
@@ -795,6 +796,7 @@ https://github.com/srcery-colors/srcery-vim/,,
 https://github.com/chr4/sslsecure.vim/,,
 https://github.com/cshuaimin/ssr.nvim/,HEAD,
 https://github.com/luukvbaal/stabilize.nvim/,,
+https://github.com/tamton-aquib/staline.nvim/,main,
 https://github.com/eigenfoo/stan-vim/,,
 https://github.com/josegamez82/starrynight/,HEAD,
 https://github.com/darfink/starsearch.vim/,,
@@ -890,6 +892,7 @@ https://github.com/leafgarland/typescript-vim/,,
 https://github.com/jose-elias-alvarez/typescript.nvim/,,
 https://github.com/kaarmu/typst.vim/,HEAD,
 https://github.com/nvchad/ui/,HEAD,nvchad-ui
+https://github.com/altermo/ultimate-autopair.nvim/,HEAD,
 https://github.com/SirVer/ultisnips/,,
 https://github.com/mbbill/undotree/,,
 https://github.com/chrisbra/unicode.vim/,,
diff --git a/nixpkgs/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix b/nixpkgs/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
index 8bb4a5f5ce1a..b6273ff3a584 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
@@ -5,7 +5,7 @@ let
   arch =
     if stdenv.isLinux then "linux"
     else if stdenv.isDarwin then "darwin"
-    else throw "Unsupported platform";
+    else throw "Unsupported system: ${stdenv.system}";
   analysisDir = "server/analysis_binaries/${arch}";
 in
 vscode-utils.buildVscodeMarketplaceExtension rec {
diff --git a/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix b/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
index f2b1e7f127cc..0c0df699a4e1 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/extensions/default.nix
@@ -98,6 +98,23 @@ let
         };
       };
 
+      aaron-bond.better-comments = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "better-comments";
+          publisher = "aaron-bond";
+          version = "3.0.2";
+          sha256 = "850980f0f5a37f635deb4bf9100baaa83f0b204bbbb25acdb3c96e73778f8197";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/aaron-bond.better-comments/changelog";
+          description = "Improve your code commenting by annotating with alert, informational, TODOs, and more!";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments";
+          homepage = "https://github.com/aaron-bond/better-comments";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       adpyke.codesnap = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "codesnap";
@@ -173,6 +190,23 @@ let
         };
       };
 
+      alexisvt.flutter-snippets = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "flutter-snippets";
+          publisher = "alexisvt";
+          version = "3.0.0";
+          sha256 = "44ac46f826625f0a4aec40f2542f32c161e672ff96f45a548d0bccd9feed04ef";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/alexisvt.flutter-snippets/changelog";
+          description = "A set of helpful widget snippets for day to day Flutter development";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=alexisvt.flutter-snippets";
+          homepage = "https://github.com/Alexisvt/flutter-snippets";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       alygin.vscode-tlaplus = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tlaplus";
@@ -753,22 +787,57 @@ let
       };
 
       charliermarsh.ruff = buildVscodeMarketplaceExtension {
-        mktplcRef = {
+        mktplcRef = let
+          sources = {
+            "x86_64-linux" = {
+              arch = "linux-x64";
+              sha256 = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc=";
+            };
+            "x86_64-darwin" = {
+              arch = "darwin-x64";
+              sha256 = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw=";
+            };
+            "aarch64-linux" = {
+              arch = "linux-arm64";
+              sha256 = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0=";
+            };
+            "aarch64-darwin" = {
+              arch = "darwin-arm64";
+              sha256 = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc=";
+            };
+          };
+        in {
           name = "ruff";
           publisher = "charliermarsh";
-          version = "2023.60.0";
-          sha256 = "sha256-zxE4QcWt8M6djTbdIf0YNSpeF1w7vMK4/BW5ArCOYbE=";
-        };
+          version = "2024.4.0";
+        } // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}");
         meta = {
           license = lib.licenses.mit;
-          changelog = "https://github.com/astral-sh/ruff-vscode/releases";
-          description = "Ruff extension for Visual Studio Code";
+          changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog";
+          description = "A Visual Studio Code extension with support for the Ruff linter.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff";
-          homepage = "https://github.com/astral-sh/ruff-vscode/";
+          homepage = "https://github.com/astral-sh/ruff-vscode";
           maintainers = [ lib.maintainers.azd325 ];
         };
       };
 
+      christian-kohler.npm-intellisense = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "npm-intellisense";
+          publisher = "christian-kohler";
+          version = "1.4.5";
+          sha256 = "962b851a7cafbd51f34afeb4a0b91e985caff3947e46218a12b448533d8f60ab";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/christian-kohler.npm-intellisense/changelog";
+          description = "Visual Studio Code plugin that autocompletes npm modules in import statements";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense";
+          homepage = "https://github.com/ChristianKohler/NpmIntellisense";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       chenglou92.rescript-vscode = callPackage ./chenglou92.rescript-vscode { };
 
       chris-hayes.chatgpt-reborn = buildVscodeMarketplaceExtension {
@@ -1252,6 +1321,23 @@ let
         };
       };
 
+      ecmel.vscode-html-css = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-html-css";
+          publisher = "ecmel";
+          version = "2.0.9";
+          sha256 = "7c30d57d2ff9986bd5daa2c9f51ec4bb04239ca23a51e971a63f7b93d005d297";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/ecmel.vscode-html-css/changelog";
+          description = "CSS Intellisense for HTML";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ecmel.vscode-html-css";
+          homepage = "https://github.com/ecmel/vscode-html-css";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.DataHearth ];
+        };
+      };
+
       editorconfig.editorconfig = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "EditorConfig";
@@ -2220,6 +2306,16 @@ let
         };
       };
 
+      karunamurti.haml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "haml";
+          publisher = "karunamurti";
+          version = "1.4.1";
+          sha256 = "123cwfajakkg2pr0z4v289fzzlhwbxx9dvb5bjc32l3pzvbhq4gv";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       kddejong.vscode-cfn-lint =
         let
           inherit (python3Packages) cfn-lint pydot;
diff --git a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 976475238b63..aac9e1b72fdc 100644
--- a/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -30,21 +30,21 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0nffz9xqm1iny7sqi1pkmnfcski15qsycw9gxir18j51kfzz50wf";
-    x86_64-darwin = "082m2wwd67ayjadlywqimnmdm8imw6lz0rd8rnwjd2sjksxnrsk8";
-    aarch64-linux = "0wlm8ajm1xw8lpmnbkzkgvaakfa9gacwi7m2fdyc4822rq7fn09b";
-    aarch64-darwin = "1rgcljj97f551yr0q5f0vxdkvbhxrbyqrw85gb6qfxpg5d0l7y4f";
-    armv7l-linux = "1wpslrysi8a6rnx99lq16zx277lnmqjp02q6gxmkpcvrvw27m6yj";
+    x86_64-linux = "17fzqq44p7ix4ihkg8nq582njjy96a8zz8vz9hl62hdxxg3llgfg";
+    x86_64-darwin = "12vbkzv2l02wifcjd7amq583vlv0iqixpa2kf5swhl0arww1viqa";
+    aarch64-linux = "1myv8zy2cycsmnp8xhjbm2lpcad3hj9zh79ywcinc50yncwj6wdl";
+    aarch64-darwin = "0vvbwcbxf0fmcfyk2y231qd8lxaj869ap865zps6wcdjqr5wnbdq";
+    armv7l-linux = "04gy6ls3gnbdcg4998widy9b9h04rx1gzp6iml6pi73li1cmfawz";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.86.1";
+    version = "1.86.2";
     pname = "vscode" + lib.optionalString isInsiders "-insiders";
 
     # This is used for VS Code - Remote SSH test
-    rev = "31c37ee8f63491495ac49e43b8544550fbae4533";
+    rev = "903b1e9d8990623e3d7da1df3d33db3e42d80eda";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -68,7 +68,7 @@ in
       src = fetchurl {
         name = "vscode-server-${rev}.tar.gz";
         url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
-        sha256 = "1hq6i51d1dhpippc8gmhygw3kj9cx021y54ga58l5b80wvg2cf1y";
+        sha256 = "06jv2kzxy7p7y7294c4sq6fk6slwk4gfw6jqh79avnq0riy669gv";
       };
     };
 
diff --git a/nixpkgs/pkgs/applications/emulators/attract-mode/default.nix b/nixpkgs/pkgs/applications/emulators/attract-mode/default.nix
index 0bd1b4b062ab..9173faf7fe5b 100644
--- a/nixpkgs/pkgs/applications/emulators/attract-mode/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/attract-mode/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hrdinka ];
     platforms = with platforms; linux;
+    mainProgram = "attract";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/basiliskii/default.nix b/nixpkgs/pkgs/applications/emulators/basiliskii/default.nix
index 8546b9c4087f..a81f50b54211 100644
--- a/nixpkgs/pkgs/applications/emulators/basiliskii/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/basiliskii/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2;
     maintainers = with maintainers; [ quag ];
     platforms = platforms.linux;
+    mainProgram = "BasiliskII";
   };
 })
diff --git a/nixpkgs/pkgs/applications/emulators/caprice32/default.nix b/nixpkgs/pkgs/applications/emulators/caprice32/default.nix
index 6c2932f7e10b..7a4f4b1ab4ae 100644
--- a/nixpkgs/pkgs/applications/emulators/caprice32/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/caprice32/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "cap32";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/ccemux/default.nix b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix
index 9464c1f4575f..8e00b8281efa 100644
--- a/nixpkgs/pkgs/applications/emulators/ccemux/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/ccemux/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.mit;
     maintainers = with maintainers; [ CrazedProgrammer viluon ];
+    mainProgram = "ccemux";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/cemu/default.nix b/nixpkgs/pkgs/applications/emulators/cemu/default.nix
index c6ae93b98054..055949bb3b75 100644
--- a/nixpkgs/pkgs/applications/emulators/cemu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/cemu/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub
+, fetchpatch
 , addOpenGLRunpath
 , wrapGAppsHook
 , cmake
@@ -47,6 +48,13 @@ stdenv.mkDerivation rec {
     # > The following imported targets are referenced, but are missing:
     # > SPIRV-Tools-opt
     ./cmakelists.patch
+
+    # Remove on next release
+    # https://github.com/cemu-project/Cemu/pull/1076
+    (fetchpatch {
+      url = "https://github.com/cemu-project/Cemu/commit/72aacbdcecc064ea7c3b158c433e4803496ac296.patch";
+      hash = "sha256-x+ZVqXgGRSv0VYwJAX35C1p7PnmCHS7iEO+4k8j0/ug=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/emulators/cen64/default.nix b/nixpkgs/pkgs/applications/emulators/cen64/default.nix
index bd7c84402cfd..e13adbb71de8 100644
--- a/nixpkgs/pkgs/applications/emulators/cen64/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/cen64/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/n64dev/cen64";
     maintainers = [ maintainers._414owen ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "cen64";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff b/nixpkgs/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
index f0b7bb67a0ee..edba33fce7ce 100644
--- a/nixpkgs/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
+++ b/nixpkgs/pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
@@ -1,5 +1,5 @@
 diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh
-index 9c1dacab..d1f895ee 100755
+index 9122cd8..50ed8f9 100755
 --- a/src/scmversion/gen_scmversion.sh
 +++ b/src/scmversion/gen_scmversion.sh
 @@ -10,10 +10,10 @@ else
@@ -8,7 +8,7 @@ index 9c1dacab..d1f895ee 100755
  
 -HASH=$(git rev-parse HEAD)
 -BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n')
--TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n')
+-TAG=$(git describe --dirty | tr -d '\r\n')
 -DATE=$(git log -1 --date=iso8601-strict --format=%cd)
 +HASH="@gitHash@"
 +BRANCH="@gitBranch@"
diff --git a/nixpkgs/pkgs/applications/emulators/duckstation/default.nix b/nixpkgs/pkgs/applications/emulators/duckstation/default.nix
index e7980e20dddd..7e7bfd494600 100644
--- a/nixpkgs/pkgs/applications/emulators/duckstation/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/duckstation/default.nix
@@ -9,7 +9,7 @@
 , extra-cmake-modules
 , libXrandr
 , libbacktrace
-, makeDesktopItem
+, makeWrapper
 , ninja
 , pkg-config
 , qtbase
@@ -20,18 +20,17 @@
 , vulkan-loader
 , wayland
 , wrapQtAppsHook
-, enableWayland ? true
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "duckstation";
-  version = "unstable-2023-09-30";
+  version = "0.1-6292";
 
   src = fetchFromGitHub {
     owner = "stenzek";
     repo = "duckstation";
-    rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2";
-    hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs=";
+    rev = "0bc42c38aab49030118f507c9783de047769148b";
+    hash = "sha256-8OavixSwEWihFY2fEdsepR1lqWlTH+//xZRKwb7lFCQ=";
   };
 
   patches = [
@@ -42,21 +41,19 @@ stdenv.mkDerivation (finalAttrs: {
       src = ./002-hardcode-vars.diff;
       gitHash = finalAttrs.src.rev;
       gitBranch = "master";
-      gitTag = "0.1-5889-gd5608bf1";
-      gitDate = "2023-09-30T23:20:09+10:00";
+      gitTag = "${finalAttrs.version}-g0bc42c38";
+      gitDate = "2024-02-06T22:47:47+09:00";
     })
   ];
 
   nativeBuildInputs = [
     cmake
     copyDesktopItems
+    extra-cmake-modules
     ninja
     pkg-config
     qttools
     wrapQtAppsHook
-  ]
-  ++ lib.optionals enableWayland [
-    extra-cmake-modules
   ];
 
   buildInputs = [
@@ -66,9 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
     libbacktrace
     qtbase
     qtsvg
-    vulkan-loader
-  ]
-  ++ lib.optionals enableWayland [
     qtwayland
     wayland
   ]
@@ -78,21 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     (lib.cmakeBool "BUILD_TESTS" true)
-    (lib.cmakeBool "ENABLE_WAYLAND" enableWayland)
-  ];
-
-  desktopItems = [
-    (makeDesktopItem {
-      name = "duckstation-qt";
-      desktopName = "DuckStation";
-      genericName = "PlayStation 1 Emulator";
-      icon = "duckstation";
-      tryExec = "duckstation-qt";
-      exec = "duckstation-qt %f";
-      comment = "Fast PlayStation 1 emulator";
-      categories = [ "Game" "Emulator" "Qt" ];
-      type = "Application";
-    })
   ];
 
   doCheck = true;
@@ -110,14 +89,28 @@ stdenv.mkDerivation (finalAttrs: {
     cp -r bin $out/share/duckstation
     ln -s $out/share/duckstation/duckstation-qt $out/bin/
 
-    install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
+    install -Dm644 $src/scripts/org.duckstation.DuckStation.desktop $out/share/applications/org.duckstation.DuckStation.desktop
+    install -Dm644 $src/scripts/org.duckstation.DuckStation.png $out/share/pixmaps/org.duckstation.DuckStation.png
 
     runHook postInstall
   '';
 
-  qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}"
-  ];
+  qtWrapperArgs =
+    let
+      libPath = lib.makeLibraryPath ([
+        vulkan-loader
+      ] ++ cubeb.passthru.backendLibs);
+    in [
+      "--prefix LD_LIBRARY_PATH : ${libPath}"
+    ];
+
+  # https://github.com/stenzek/duckstation/blob/master/scripts/appimage/apprun-hooks/default-to-x11.sh
+  # Can't avoid the double wrapping, the binary wrapper from qtWrapperArgs doesn't support --run
+  postFixup = ''
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram $out/bin/duckstation-qt \
+      --run 'if [[ -z $I_WANT_A_BROKEN_WAYLAND_UI ]]; then export QT_QPA_PLATFORM=xcb; fi'
+  '';
 
   meta = {
     homepage = "https://github.com/stenzek/duckstation";
diff --git a/nixpkgs/pkgs/applications/emulators/emu2/default.nix b/nixpkgs/pkgs/applications/emulators/emu2/default.nix
index 7949a3f2b051..a919d644d720 100644
--- a/nixpkgs/pkgs/applications/emulators/emu2/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/emu2/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ AndersonTorres ];
     license = licenses.gpl2Plus;
+    mainProgram = "emu2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/gxemul/default.nix b/nixpkgs/pkgs/applications/emulators/gxemul/default.nix
index 05f837b18767..88ea01f9d76e 100644
--- a/nixpkgs/pkgs/applications/emulators/gxemul/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/gxemul/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "gxemul";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
index f69a9c3206cd..9bf359b88ccd 100644
--- a/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
@@ -75,5 +75,6 @@ in stdenv.mkDerivation {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfreeRedistributable;
     platforms = [ "i686-linux" ];
+    mainProgram = "kega-fusion";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/mednafen/default.nix b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix
index bcc58ccb76a0..816b6c1bd4d7 100644
--- a/nixpkgs/pkgs/applications/emulators/mednafen/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/mednafen/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "mednafen";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix b/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix
index 749e3549bf80..331473f59fed 100644
--- a/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/oberon-risc-emu/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     description = "Emulator for the Oberon RISC machine";
     license     = licenses.isc;
     maintainers = with maintainers; [ siraben ];
+    mainProgram = "risc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/openmsx/default.nix b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
index c9f7827d09ab..1c34c0025c8e 100644
--- a/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/openmsx/default.nix
@@ -71,5 +71,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ bsd2 boost gpl2Plus ];
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "openmsx";
   };
 })
diff --git a/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
index 5f0585401235..c981f07114ab 100644
--- a/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/cores.nix
@@ -48,13 +48,15 @@ let
   getCore = repo: (lib.getAttr repo hashesFile);
 
   getCoreSrc = repo:
-    (lib.pipe repo [
-      getCore
-      (x: builtins.removeAttrs x [ "date" ])
-      fetchFromGitHub
-    ]);
+    let
+      inherit (getCore repo) src fetcher;
+      fetcherFn = {
+        inherit fetchFromGitHub;
+      }.${fetcher} or (throw "Unknown fetcher: ${fetcher}");
+    in
+    fetcherFn src;
 
-  getCoreDate = repo: (getCore repo).date or "unstable-1970-01-01";
+  getCoreVersion = repo: (getCore repo).version;
 
   mkLibretroCore =
     # Sometimes core name != repo name, so you may need to set them differently
@@ -67,7 +69,7 @@ let
     { core
     , repo ? core
     , src ? (getCoreSrc repo)
-    , version ? (getCoreDate repo)
+    , version ? (getCoreVersion repo)
     , ...
     }@args:
     import ./mkLibretroCore.nix ({
diff --git a/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json b/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json
index 03c71853a57d..60bbcff311ad 100644
--- a/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/hashes.json
@@ -1,626 +1,891 @@
 {
+    "!comment": "Generated with update_cores.py script, do not edit!",
     "2048": {
-        "owner": "libretro",
-        "repo": "libretro-2048",
-        "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
-        "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-2048",
+            "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
+            "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA="
+        },
+        "version": "unstable-2023-02-20"
     },
     "atari800": {
-        "owner": "libretro",
-        "repo": "libretro-atari800",
-        "rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
-        "hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0=",
-        "date": "unstable-2023-11-14"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-atari800",
+            "rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
+            "hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0="
+        },
+        "version": "unstable-2023-11-14"
     },
     "beetle-gba": {
-        "owner": "libretro",
-        "repo": "beetle-gba-libretro",
-        "rev": "38182572571a48cb58057cde64b915237c4e2d58",
-        "hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=",
-        "date": "unstable-2021-09-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-gba-libretro",
+            "rev": "38182572571a48cb58057cde64b915237c4e2d58",
+            "hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
+        },
+        "version": "unstable-2021-09-18"
     },
     "beetle-lynx": {
-        "owner": "libretro",
-        "repo": "beetle-lynx-libretro",
-        "rev": "48909ddd1aba4de034d9c1da70c460b1724daa3b",
-        "hash": "sha256-aAS9N54kA2st1+3BodiXDR4sbUDSvoFHpa28D9sohx4=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-lynx-libretro",
+            "rev": "48909ddd1aba4de034d9c1da70c460b1724daa3b",
+            "hash": "sha256-aAS9N54kA2st1+3BodiXDR4sbUDSvoFHpa28D9sohx4="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-ngp": {
-        "owner": "libretro",
-        "repo": "beetle-ngp-libretro",
-        "rev": "673c3d924ff33d71c6a342b170eff5359244df1f",
-        "hash": "sha256-V3zcbEwqay3eXwXzXZkmHj3+rx9KY4r0WkzAYFZXlgY=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-ngp-libretro",
+            "rev": "673c3d924ff33d71c6a342b170eff5359244df1f",
+            "hash": "sha256-V3zcbEwqay3eXwXzXZkmHj3+rx9KY4r0WkzAYFZXlgY="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-pce": {
-        "owner": "libretro",
-        "repo": "beetle-pce-libretro",
-        "rev": "753f067738e55a6325d3ca5206151a9acd9127f0",
-        "hash": "sha256-OWvoIi0DS3YhxK1S6PAbCNZwKKXti6brZlWVCJELfKY=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pce-libretro",
+            "rev": "753f067738e55a6325d3ca5206151a9acd9127f0",
+            "hash": "sha256-OWvoIi0DS3YhxK1S6PAbCNZwKKXti6brZlWVCJELfKY="
+        },
+        "version": "unstable-2024-02-09"
     },
     "beetle-pce-fast": {
-        "owner": "libretro",
-        "repo": "beetle-pce-fast-libretro",
-        "rev": "86a80e1ba551f9a4627b8394901db0ee365c1442",
-        "hash": "sha256-aIDc4jzliVLpI2Xetcd5tG74/xvIlqRdVEb72yHrsCo=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pce-fast-libretro",
+            "rev": "d97d9558fe218ea04821788cee1f2c03556e818a",
+            "hash": "sha256-RKKx7Vf5d+VBYe0HVMsSchRtga7LbLiLchM4a80Lfns="
+        },
+        "version": "unstable-2024-02-16"
     },
     "beetle-pcfx": {
-        "owner": "libretro",
-        "repo": "beetle-pcfx-libretro",
-        "rev": "47c355b6a515aef6dc57f57df1535570108a0e21",
-        "hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-pcfx-libretro",
+            "rev": "47c355b6a515aef6dc57f57df1535570108a0e21",
+            "hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs="
+        },
+        "version": "unstable-2023-05-28"
     },
     "beetle-psx": {
-        "owner": "libretro",
-        "repo": "beetle-psx-libretro",
-        "rev": "3adff889b9b8251526ca7dae963be46bf8401e2e",
-        "hash": "sha256-DaDzoAQJLuer/c+V1bJGbejnyGYB2RYdebZ1YIoVRKw=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-psx-libretro",
+            "rev": "43cf1df705a29e8afe17b8a6a462c489c9616d03",
+            "hash": "sha256-pfyabw/8uLcwIMfM/2SROVNOZrGxEc1lcLd9ezl18Cw="
+        },
+        "version": "unstable-2024-02-16"
     },
     "beetle-saturn": {
-        "owner": "libretro",
-        "repo": "beetle-saturn-libretro",
-        "rev": "cd395e9e3ee407608450ebc565e871b24e7ffed6",
-        "hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-saturn-libretro",
+            "rev": "cd395e9e3ee407608450ebc565e871b24e7ffed6",
+            "hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A="
+        },
+        "version": "unstable-2023-05-28"
     },
     "beetle-supafaust": {
-        "owner": "libretro",
-        "repo": "supafaust",
-        "rev": "6b639c98372d1c9bac885c55d772c812d2a9d525",
-        "hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc=",
-        "date": "unstable-2023-06-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "supafaust",
+            "rev": "6b639c98372d1c9bac885c55d772c812d2a9d525",
+            "hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc="
+        },
+        "version": "unstable-2023-06-19"
     },
     "beetle-supergrafx": {
-        "owner": "libretro",
-        "repo": "beetle-supergrafx-libretro",
-        "rev": "32070ffd0082fd5127519bb6e92a2daecc359408",
-        "hash": "sha256-ZBZtDMP2inarEuLE76Zw1/qZ2YfyTJy+2eN10hhpn64=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-supergrafx-libretro",
+            "rev": "32070ffd0082fd5127519bb6e92a2daecc359408",
+            "hash": "sha256-ZBZtDMP2inarEuLE76Zw1/qZ2YfyTJy+2eN10hhpn64="
+        },
+        "version": "unstable-2024-02-09"
     },
     "beetle-vb": {
-        "owner": "libretro",
-        "repo": "beetle-vb-libretro",
-        "rev": "9d1bd03f21dac7897f65269e1095496331efce8b",
-        "hash": "sha256-CT6CfRe8TOgXuJoUA0TKl71m10XeocUCTUjh88eCenU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-vb-libretro",
+            "rev": "9d1bd03f21dac7897f65269e1095496331efce8b",
+            "hash": "sha256-CT6CfRe8TOgXuJoUA0TKl71m10XeocUCTUjh88eCenU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "beetle-wswan": {
-        "owner": "libretro",
-        "repo": "beetle-wswan-libretro",
-        "rev": "32bf70a3032a138baa969c22445f4b7821632c30",
-        "hash": "sha256-dDph7LNlvzVMVTzkUfGErMEb/tALpCADgTjnzjUHYJU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "beetle-wswan-libretro",
+            "rev": "32bf70a3032a138baa969c22445f4b7821632c30",
+            "hash": "sha256-dDph7LNlvzVMVTzkUfGErMEb/tALpCADgTjnzjUHYJU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "blastem": {
-        "owner": "libretro",
-        "repo": "blastem",
-        "rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
-        "hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs=",
-        "date": "unstable-2022-07-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "blastem",
+            "rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
+            "hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
+        },
+        "version": "unstable-2022-07-26"
     },
     "bluemsx": {
-        "owner": "libretro",
-        "repo": "bluemsx-libretro",
-        "rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
-        "hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk=",
-        "date": "unstable-2023-11-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bluemsx-libretro",
+            "rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
+            "hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk="
+        },
+        "version": "unstable-2023-11-10"
     },
     "bsnes": {
-        "owner": "libretro",
-        "repo": "bsnes-libretro",
-        "rev": "d230353616ab4c7dc01a2f2a63865011bd5c7ffd",
-        "hash": "sha256-TiOdptWOb13UQ8jKDbIlZQQ3mY3h/lPHr/GskPVAkwA=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bsnes-libretro",
+            "rev": "d230353616ab4c7dc01a2f2a63865011bd5c7ffd",
+            "hash": "sha256-TiOdptWOb13UQ8jKDbIlZQQ3mY3h/lPHr/GskPVAkwA="
+        },
+        "version": "unstable-2024-02-09"
     },
     "bsnes-hd": {
-        "owner": "DerKoun",
-        "repo": "bsnes-hd",
-        "rev": "f46b6d6368ea93943a30b5d4e79e8ed51c2da5e8",
-        "hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI=",
-        "date": "unstable-2023-04-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "DerKoun",
+            "repo": "bsnes-hd",
+            "rev": "f46b6d6368ea93943a30b5d4e79e8ed51c2da5e8",
+            "hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI="
+        },
+        "version": "unstable-2023-04-26"
     },
     "bsnes-mercury": {
-        "owner": "libretro",
-        "repo": "bsnes-mercury",
-        "rev": "60c204ca17941704110885a815a65c740572326f",
-        "hash": "sha256-eJ0lac1I7E4YdsVVrIuXx31UL9w3OR6QTVHq5YBgnJU=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "bsnes-mercury",
+            "rev": "60c204ca17941704110885a815a65c740572326f",
+            "hash": "sha256-eJ0lac1I7E4YdsVVrIuXx31UL9w3OR6QTVHq5YBgnJU="
+        },
+        "version": "unstable-2023-11-01"
     },
     "citra": {
-        "owner": "libretro",
-        "repo": "citra",
-        "rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
-        "hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-24"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "citra",
+            "rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
+            "hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-24"
     },
     "desmume": {
-        "owner": "libretro",
-        "repo": "desmume",
-        "rev": "b518fec54b79f2f71a7536715efcdcd7f60638a8",
-        "hash": "sha256-X6ZL+XdsrdPoOU5zqNsUraMrlPU/HmKWUolrWjFcbDQ=",
-        "date": "unstable-2024-01-11"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "desmume",
+            "rev": "b518fec54b79f2f71a7536715efcdcd7f60638a8",
+            "hash": "sha256-X6ZL+XdsrdPoOU5zqNsUraMrlPU/HmKWUolrWjFcbDQ="
+        },
+        "version": "unstable-2024-01-11"
     },
     "desmume2015": {
-        "owner": "libretro",
-        "repo": "desmume2015",
-        "rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
-        "hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U=",
-        "date": "unstable-2022-04-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "desmume2015",
+            "rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
+            "hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
+        },
+        "version": "unstable-2022-04-05"
     },
     "dolphin": {
-        "owner": "libretro",
-        "repo": "dolphin",
-        "rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
-        "hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg=",
-        "date": "unstable-2022-12-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "dolphin",
+            "rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
+            "hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
+        },
+        "version": "unstable-2022-12-17"
     },
     "dosbox": {
-        "owner": "libretro",
-        "repo": "dosbox-libretro",
-        "rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
-        "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=",
-        "date": "unstable-2022-07-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "dosbox-libretro",
+            "rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
+            "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
+        },
+        "version": "unstable-2022-07-18"
     },
     "dosbox-pure": {
-        "owner": "schellingb",
-        "repo": "dosbox-pure",
-        "rev": "87bf6365158325b76ff238c1ad8daf16a859bbe8",
-        "hash": "sha256-IU5AnOEuwZm/bJ9NuxhTQ8Tb5ngmjysLj/om/6P730s=",
-        "date": "unstable-2023-12-29"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "schellingb",
+            "repo": "dosbox-pure",
+            "rev": "87bf6365158325b76ff238c1ad8daf16a859bbe8",
+            "hash": "sha256-IU5AnOEuwZm/bJ9NuxhTQ8Tb5ngmjysLj/om/6P730s="
+        },
+        "version": "unstable-2023-12-29"
     },
     "eightyone": {
-        "owner": "libretro",
-        "repo": "81-libretro",
-        "rev": "525d5c18f1ff3fc54c37e083a475225d9179d59d",
-        "hash": "sha256-H0w9hcAUVOGr0PtNLVdFQScxd3ildZZ68w+TL7vG4jk=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "81-libretro",
+            "rev": "525d5c18f1ff3fc54c37e083a475225d9179d59d",
+            "hash": "sha256-H0w9hcAUVOGr0PtNLVdFQScxd3ildZZ68w+TL7vG4jk="
+        },
+        "version": "unstable-2023-11-01"
     },
     "fbalpha2012": {
-        "owner": "libretro",
-        "repo": "fbalpha2012",
-        "rev": "b7ac554c53561d41640372f23dab15cd6fc4f0c4",
-        "hash": "sha256-BaeMLej2MLc4uipqTD2z2sHUeOsc50Q1c+PEiPD1cks=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fbalpha2012",
+            "rev": "b7ac554c53561d41640372f23dab15cd6fc4f0c4",
+            "hash": "sha256-BaeMLej2MLc4uipqTD2z2sHUeOsc50Q1c+PEiPD1cks="
+        },
+        "version": "unstable-2023-11-01"
     },
     "fbneo": {
-        "owner": "libretro",
-        "repo": "fbneo",
-        "rev": "bb7aa7ea1e3a9a293fcf4e2b15994afde2e52899",
-        "hash": "sha256-XTOZGKq02obnzbtUEAEs99Kxhd8hFqLjI/smwtNAU8Q=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fbneo",
+            "rev": "2adfb2723b5d7abcf33633fd30a794dce4263a5b",
+            "hash": "sha256-AZzMGbCZJZ/BJ7A9CybwRPxfi7P7TBU7nRPzn/6kwrc="
+        },
+        "version": "unstable-2024-02-16"
     },
     "fceumm": {
-        "owner": "libretro",
-        "repo": "libretro-fceumm",
-        "rev": "63643ba02c8eaea15dbe167ef907f3da7a3e6fd7",
-        "hash": "sha256-xy8hzZ7nt2hHjRJmsty/w/cPzEtdlSkmNAsog3+h5YU=",
-        "date": "unstable-2024-01-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-fceumm",
+            "rev": "63643ba02c8eaea15dbe167ef907f3da7a3e6fd7",
+            "hash": "sha256-xy8hzZ7nt2hHjRJmsty/w/cPzEtdlSkmNAsog3+h5YU="
+        },
+        "version": "unstable-2024-01-25"
     },
     "flycast": {
-        "owner": "flyinghead",
-        "repo": "flycast",
-        "rev": "7029e1615a215bc43e51f8eac605f31dd01ba8cd",
-        "hash": "sha256-JUXKlUNIg+1vvOfUQpysxUMYIRJqIzj9UNIwb+8HRPo=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "flyinghead",
+            "repo": "flycast",
+            "rev": "44fa364f36c43bed19b055096600f075c656f78c",
+            "hash": "sha256-UfASq8OXtsfubMUfke7P6HTygM/9fP421IoLQeJvPgY=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-09"
     },
     "fmsx": {
-        "owner": "libretro",
-        "repo": "fmsx-libretro",
-        "rev": "9b5cf868825a629cc4c7086768338165d3bbf706",
-        "hash": "sha256-zDDAMzV+pfu+AwjgXwduPfHyW1rQnvaDpFvz++QBBkA=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fmsx-libretro",
+            "rev": "9b5cf868825a629cc4c7086768338165d3bbf706",
+            "hash": "sha256-zDDAMzV+pfu+AwjgXwduPfHyW1rQnvaDpFvz++QBBkA="
+        },
+        "version": "unstable-2024-02-08"
     },
     "freeintv": {
-        "owner": "libretro",
-        "repo": "freeintv",
-        "rev": "85bf25a39a34bbc39fe36677175d87c2b597dbe7",
-        "hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g=",
-        "date": "unstable-2023-04-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "freeintv",
+            "rev": "85bf25a39a34bbc39fe36677175d87c2b597dbe7",
+            "hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g="
+        },
+        "version": "unstable-2023-04-17"
     },
     "fuse": {
-        "owner": "libretro",
-        "repo": "fuse-libretro",
-        "rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
-        "hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM=",
-        "date": "unstable-2023-06-23"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "fuse-libretro",
+            "rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
+            "hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
+        },
+        "version": "unstable-2023-06-23"
     },
     "gambatte": {
-        "owner": "libretro",
-        "repo": "gambatte-libretro",
-        "rev": "05c4e10168aa3070b4ea01f7da7ab1c0d4241103",
-        "hash": "sha256-W/s8FWjFOIcclLkbM5s2+2dcvr+X2My5319SvRo5/lU=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gambatte-libretro",
+            "rev": "05c4e10168aa3070b4ea01f7da7ab1c0d4241103",
+            "hash": "sha256-W/s8FWjFOIcclLkbM5s2+2dcvr+X2My5319SvRo5/lU="
+        },
+        "version": "unstable-2024-02-09"
     },
     "genesis-plus-gx": {
-        "owner": "libretro",
-        "repo": "Genesis-Plus-GX",
-        "rev": "ecb956d914d6bc4e5deb49384bc929939e9a19e5",
-        "hash": "sha256-Fk+Ldjav+yQl6fkYESR6t1JEOKiCZYCW386QL4ozE68=",
-        "date": "unstable-2024-02-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "Genesis-Plus-GX",
+            "rev": "7aba063778534a78b080a737c0465667ebd66154",
+            "hash": "sha256-Rx5ymDqYmtovr/IJRY4loUwwWTk8GEs+oviP4YOk6ZI="
+        },
+        "version": "unstable-2024-02-16"
     },
     "gpsp": {
-        "owner": "libretro",
-        "repo": "gpsp",
-        "rev": "85a2ac6c911ffcc77cf1bab418c78fe5218c0b1a",
-        "hash": "sha256-iHfdsI6E2LQTC9HjqVRBHihVUpagtB8326M8Crll2iY=",
-        "date": "unstable-2024-02-04"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gpsp",
+            "rev": "4caf7a167d159866479ea94d6b2d13c26ceb3e72",
+            "hash": "sha256-1hkxeTjY52YuphQuDMCITn/dIcNx/8w4FkhQjL8DWz8="
+        },
+        "version": "unstable-2024-02-10"
     },
     "gw": {
-        "owner": "libretro",
-        "repo": "gw-libretro",
-        "rev": "0ecff52b11c327af52b22ea94b268c90472b6732",
-        "hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "gw-libretro",
+            "rev": "0ecff52b11c327af52b22ea94b268c90472b6732",
+            "hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ="
+        },
+        "version": "unstable-2023-05-28"
     },
     "handy": {
-        "owner": "libretro",
-        "repo": "libretro-handy",
-        "rev": "65d6b865544cd441ef2bd18cde7bd834c23d0e48",
-        "hash": "sha256-F4WyiZBNTh8hjuCooZXQkzov0vcHNni6d5mbAMgzAiA=",
-        "date": "unstable-2024-01-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-handy",
+            "rev": "65d6b865544cd441ef2bd18cde7bd834c23d0e48",
+            "hash": "sha256-F4WyiZBNTh8hjuCooZXQkzov0vcHNni6d5mbAMgzAiA="
+        },
+        "version": "unstable-2024-01-01"
     },
     "hatari": {
-        "owner": "libretro",
-        "repo": "hatari",
-        "rev": "a4c9eb0bb79e47a2870c12b04566c1f8d25e4bf3",
-        "hash": "sha256-mHz2nB9Vr/PVifd6w+kz7ZCH+N8igmcS8InvevZoSpE=",
-        "date": "unstable-2023-09-29"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "hatari",
+            "rev": "a4c9eb0bb79e47a2870c12b04566c1f8d25e4bf3",
+            "hash": "sha256-mHz2nB9Vr/PVifd6w+kz7ZCH+N8igmcS8InvevZoSpE="
+        },
+        "version": "unstable-2023-09-29"
     },
     "mame": {
-        "owner": "libretro",
-        "repo": "mame",
-        "rev": "f55fe47b0997d24048700898195cb66bc0bccfb6",
-        "hash": "sha256-JUL4ha7UL+hNG5oi178nLT1aUuxqfev0/bRU6y/Mg7A=",
-        "date": "unstable-2024-02-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame",
+            "rev": "8ebaec4073703f5050dac3f6c8da408943e15938",
+            "hash": "sha256-CFCem9MiaHW2flEZyJkcC9JEGzx7Ox/uqrTY3jue+Pk="
+        },
+        "version": "unstable-2024-02-13"
     },
     "mame2000": {
-        "owner": "libretro",
-        "repo": "mame2000-libretro",
-        "rev": "1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8",
-        "hash": "sha256-Nd5OqkoMJZ8TzEZGqDT0YX6lHK/H3I5EqJ841PteLi8=",
-        "date": "unstable-2023-10-31"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2000-libretro",
+            "rev": "1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8",
+            "hash": "sha256-Nd5OqkoMJZ8TzEZGqDT0YX6lHK/H3I5EqJ841PteLi8="
+        },
+        "version": "unstable-2023-10-31"
     },
     "mame2003": {
-        "owner": "libretro",
-        "repo": "mame2003-libretro",
-        "rev": "838f84f14422529c37bbb9803eb649209c8ba4e8",
-        "hash": "sha256-NiqlA4FjHS0GLypEg6QbhEJlhV0YU7VmMquzqnyr7aA=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2003-libretro",
+            "rev": "838f84f14422529c37bbb9803eb649209c8ba4e8",
+            "hash": "sha256-NiqlA4FjHS0GLypEg6QbhEJlhV0YU7VmMquzqnyr7aA="
+        },
+        "version": "unstable-2024-02-08"
     },
     "mame2003-plus": {
-        "owner": "libretro",
-        "repo": "mame2003-plus-libretro",
-        "rev": "debcb547ea7ae197433142810e99e1313c58cb14",
-        "hash": "sha256-l9YmDiUJ+CQP4i8O8W+E9uTLPZZgLqLR9v7e5hFgJhE=",
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2003-plus-libretro",
+            "rev": "fc987f1913203a41bca7f6fd16e92c83729dd7fc",
+            "hash": "sha256-Mn0WuzGGxDlUEccC21V0FzRyTAgRoAnLCm5jpz9rkdY="
+        },
+        "version": "unstable-2024-02-16"
     },
     "mame2010": {
-        "owner": "libretro",
-        "repo": "mame2010-libretro",
-        "rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
-        "hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M=",
-        "date": "unstable-2022-06-14"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2010-libretro",
+            "rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
+            "hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M="
+        },
+        "version": "unstable-2022-06-14"
     },
     "mame2015": {
-        "owner": "libretro",
-        "repo": "mame2015-libretro",
-        "rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
-        "hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0=",
-        "date": "unstable-2023-11-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2015-libretro",
+            "rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
+            "hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0="
+        },
+        "version": "unstable-2023-11-01"
     },
     "mame2016": {
-        "owner": "libretro",
-        "repo": "mame2016-libretro",
-        "rev": "01058613a0109424c4e7211e49ed83ac950d3993",
-        "hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak=",
-        "date": "unstable-2022-04-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mame2016-libretro",
+            "rev": "01058613a0109424c4e7211e49ed83ac950d3993",
+            "hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
+        },
+        "version": "unstable-2022-04-06"
     },
     "melonds": {
-        "owner": "libretro",
-        "repo": "melonds",
-        "rev": "c6488c88cb4c7583dbcd61609e0eef441572fae8",
-        "hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI=",
-        "date": "unstable-2023-04-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "melonds",
+            "rev": "c6488c88cb4c7583dbcd61609e0eef441572fae8",
+            "hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI="
+        },
+        "version": "unstable-2023-04-13"
     },
     "mesen": {
-        "owner": "libretro",
-        "repo": "mesen",
-        "rev": "d6f2f1797694f87e698c737b068f621889e96fa9",
-        "hash": "sha256-iLX9UvrjYjGjyaLD4sC10gntWUvgZrwiUqTS7S7YDdc=",
-        "date": "unstable-2024-01-30"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mesen",
+            "rev": "d6f2f1797694f87e698c737b068f621889e96fa9",
+            "hash": "sha256-iLX9UvrjYjGjyaLD4sC10gntWUvgZrwiUqTS7S7YDdc="
+        },
+        "version": "unstable-2024-01-30"
     },
     "mesen-s": {
-        "owner": "libretro",
-        "repo": "mesen-s",
-        "rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
-        "hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo=",
-        "date": "unstable-2022-07-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mesen-s",
+            "rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
+            "hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo="
+        },
+        "version": "unstable-2022-07-25"
     },
     "meteor": {
-        "owner": "libretro",
-        "repo": "meteor-libretro",
-        "rev": "e533d300d0561564451bde55a2b73119c768453c",
-        "hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=",
-        "date": "unstable-2020-12-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "meteor-libretro",
+            "rev": "e533d300d0561564451bde55a2b73119c768453c",
+            "hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
+        },
+        "version": "unstable-2020-12-28"
     },
     "mgba": {
-        "owner": "libretro",
-        "repo": "mgba",
-        "rev": "314bf7b676f5b820f396209eb0c7d6fbe8103486",
-        "hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mgba",
+            "rev": "314bf7b676f5b820f396209eb0c7d6fbe8103486",
+            "hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM="
+        },
+        "version": "unstable-2023-05-28"
     },
     "mrboom": {
-        "owner": "Javanaise",
-        "repo": "mrboom-libretro",
-        "rev": "865be65118ef70e9a486f872948f4fc805edf643",
-        "hash": "sha256-jdOthryC1QvVvuPZUh/YyZhJeFWk1XhBuCm4hmAy8+Q=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "Javanaise",
+            "repo": "mrboom-libretro",
+            "rev": "f688664f024723e00c0d2926e51b45754a25e2da",
+            "hash": "sha256-t6ArMkyGvHJ9hLc+FFoH2wTk0wRFn5etzdLipTQnGyc=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-09"
     },
     "mupen64plus": {
-        "owner": "libretro",
-        "repo": "mupen64plus-libretro-nx",
-        "rev": "fa55ddca926d3c3ad2285911646919def4aa6fa3",
-        "hash": "sha256-Fn/qSQDR8FuHG9eLE0I24wUa0sdosrl6+lhnf9cD+yQ=",
-        "date": "unstable-2024-02-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "mupen64plus-libretro-nx",
+            "rev": "fa55ddca926d3c3ad2285911646919def4aa6fa3",
+            "hash": "sha256-Fn/qSQDR8FuHG9eLE0I24wUa0sdosrl6+lhnf9cD+yQ="
+        },
+        "version": "unstable-2024-02-06"
     },
     "neocd": {
-        "owner": "libretro",
-        "repo": "neocd_libretro",
-        "rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
-        "hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc=",
-        "date": "unstable-2024-02-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "neocd_libretro",
+            "rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
+            "hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc="
+        },
+        "version": "unstable-2024-02-01"
     },
     "nestopia": {
-        "owner": "libretro",
-        "repo": "nestopia",
-        "rev": "8050c38e5a1db6927b03510651809e8ef932b888",
-        "hash": "sha256-Vlz69ZpXwawdE+bfjlKNrQNmFHhB53FOKhfMgq4viE0=",
-        "date": "unstable-2024-02-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "nestopia",
+            "rev": "407df997b65cddbff9b25abae0510e6645205677",
+            "hash": "sha256-Vlz69ZpXwawdE+bfjlKNrQNmFHhB53FOKhfMgq4viE0="
+        },
+        "version": "unstable-2024-02-13"
     },
     "np2kai": {
-        "owner": "AZO234",
-        "repo": "NP2kai",
-        "rev": "c2ca4046860264cb307e768f529f180caee5e224",
-        "hash": "sha256-RizN+NpVp0paXvdt7OudX9/5GJms1YvJ+NVe9iV3nnw=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-10"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "AZO234",
+            "repo": "NP2kai",
+            "rev": "c2ca4046860264cb307e768f529f180caee5e224",
+            "hash": "sha256-RizN+NpVp0paXvdt7OudX9/5GJms1YvJ+NVe9iV3nnw=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-10"
     },
     "nxengine": {
-        "owner": "libretro",
-        "repo": "nxengine-libretro",
-        "rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
-        "hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0=",
-        "date": "unstable-2023-02-21"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "nxengine-libretro",
+            "rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
+            "hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0="
+        },
+        "version": "unstable-2023-02-21"
     },
     "o2em": {
-        "owner": "libretro",
-        "repo": "libretro-o2em",
-        "rev": "44fe5f306033242f7d74144105e19a7d4939477e",
-        "hash": "sha256-zg8wplVTKRzqa47mmWlqribg+JU4Nap4Ar/iR7y87xs=",
-        "date": "unstable-2023-10-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-o2em",
+            "rev": "44fe5f306033242f7d74144105e19a7d4939477e",
+            "hash": "sha256-zg8wplVTKRzqa47mmWlqribg+JU4Nap4Ar/iR7y87xs="
+        },
+        "version": "unstable-2023-10-19"
     },
     "opera": {
-        "owner": "libretro",
-        "repo": "opera-libretro",
-        "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
-        "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto=",
-        "date": "unstable-2024-01-13"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "opera-libretro",
+            "rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
+            "hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto="
+        },
+        "version": "unstable-2024-01-13"
     },
     "parallel-n64": {
-        "owner": "libretro",
-        "repo": "parallel-n64",
-        "rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
-        "hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768=",
-        "date": "unstable-2024-01-15"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "parallel-n64",
+            "rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
+            "hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768="
+        },
+        "version": "unstable-2024-01-15"
     },
     "pcsx2": {
-        "owner": "libretro",
-        "repo": "lrps2",
-        "rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
-        "hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4=",
-        "date": "unstable-2023-01-30"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "lrps2",
+            "rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
+            "hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
+        },
+        "version": "unstable-2023-01-30"
     },
     "pcsx_rearmed": {
-        "owner": "libretro",
-        "repo": "pcsx_rearmed",
-        "rev": "016c6e93f6db684211f5c8b05433cb500715ba50",
-        "hash": "sha256-uYzL0uuQbxa4N0uQT8YEBiCgwkIcigvjeNU600WqSDQ=",
-        "date": "unstable-2024-02-07"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "pcsx_rearmed",
+            "rev": "9aefd427e47e1cdf94578e1913054bc14a44bab6",
+            "hash": "sha256-CWeHKajdTu4M8SioMsIt6c1BrnguPxmQ6cKOkPpRdqw="
+        },
+        "version": "unstable-2024-02-14"
     },
     "picodrive": {
-        "owner": "libretro",
-        "repo": "picodrive",
-        "rev": "d907d65692a45e126d0c7d6685cc8792b52bc577",
-        "hash": "sha256-CJJcWVueg3dbBT4r6W1y8Qj7iRwH7PupvFp+CKEII7o=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-01-23"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "picodrive",
+            "rev": "d907d65692a45e126d0c7d6685cc8792b52bc577",
+            "hash": "sha256-CJJcWVueg3dbBT4r6W1y8Qj7iRwH7PupvFp+CKEII7o=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-01-23"
     },
     "play": {
-        "owner": "jpd002",
-        "repo": "Play-",
-        "rev": "34c4c74fbd0ca2223c203bffc23f57157769074b",
-        "hash": "sha256-Nn2VsZOuwyBQxFBGGLVfD5BvvqJBI7g8HoShmH0hch8=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-05"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "jpd002",
+            "repo": "Play-",
+            "rev": "2462fe76ebf86fe1dd4da8d79b99872f14e987bf",
+            "hash": "sha256-08srcJwhvOw6AER36+ar2SXjKR1jO568lRl63B7zRio=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-14"
     },
     "ppsspp": {
-        "owner": "hrydgard",
-        "repo": "ppsspp",
-        "rev": "25689c36d9c2f3f1b7aa612d89b86caf1809e376",
-        "hash": "sha256-hXknMyBNo1vJ49gJsuNef+sccolAovg1I8Wzuw/BnE8=",
-        "fetchSubmodules": true,
-        "date": "unstable-2024-02-09"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "hrydgard",
+            "repo": "ppsspp",
+            "rev": "f5450e40eb3f4861451fb98bf9239dacc5aef81e",
+            "hash": "sha256-Kj0bxp2ValsmoKHP4x8LJ60priLnRAvgtjsUemm0do4=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2024-02-16"
     },
     "prboom": {
-        "owner": "libretro",
-        "repo": "libretro-prboom",
-        "rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
-        "hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY=",
-        "date": "unstable-2023-05-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-prboom",
+            "rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
+            "hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY="
+        },
+        "version": "unstable-2023-05-28"
     },
     "prosystem": {
-        "owner": "libretro",
-        "repo": "prosystem-libretro",
-        "rev": "4202ac5bdb2ce1a21f84efc0e26d75bb5aa7e248",
-        "hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68=",
-        "date": "unstable-2023-08-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "prosystem-libretro",
+            "rev": "4202ac5bdb2ce1a21f84efc0e26d75bb5aa7e248",
+            "hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68="
+        },
+        "version": "unstable-2023-08-17"
     },
     "puae": {
-        "owner": "libretro",
-        "repo": "libretro-uae",
-        "rev": "2cad13f98aa4df272decf2ab99d95aa582cd4cfb",
-        "hash": "sha256-8iGsQJcImL7hUK14X+u2BSq4W9BkosiLImCmzf63o4Q=",
-        "date": "unstable-2024-02-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-uae",
+            "rev": "2cad13f98aa4df272decf2ab99d95aa582cd4cfb",
+            "hash": "sha256-8iGsQJcImL7hUK14X+u2BSq4W9BkosiLImCmzf63o4Q="
+        },
+        "version": "unstable-2024-02-03"
     },
     "quicknes": {
-        "owner": "libretro",
-        "repo": "QuickNES_Core",
-        "rev": "cd73f021be7dd5b1a21b71155a320364c02de4ac",
-        "hash": "sha256-fmTAK32ASA8M5nxUUUilm/yMNkmqSAG/gauB7fy1Kbc=",
-        "date": "unstable-2024-02-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "QuickNES_Core",
+            "rev": "cd73f021be7dd5b1a21b71155a320364c02de4ac",
+            "hash": "sha256-fmTAK32ASA8M5nxUUUilm/yMNkmqSAG/gauB7fy1Kbc="
+        },
+        "version": "unstable-2024-02-01"
     },
     "same_cdi": {
-        "owner": "libretro",
-        "repo": "same_cdi",
-        "rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
-        "hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E=",
-        "date": "unstable-2023-02-28"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "same_cdi",
+            "rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
+            "hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E="
+        },
+        "version": "unstable-2023-02-28"
     },
     "sameboy": {
-        "owner": "libretro",
-        "repo": "sameboy",
-        "rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
-        "hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4=",
-        "date": "unstable-2022-08-19"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "sameboy",
+            "rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
+            "hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4="
+        },
+        "version": "unstable-2022-08-19"
     },
     "scummvm": {
-        "owner": "libretro-mirrors",
-        "repo": "scummvm",
-        "rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
-        "hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew=",
-        "date": "unstable-2022-04-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro-mirrors",
+            "repo": "scummvm",
+            "rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
+            "hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew="
+        },
+        "version": "unstable-2022-04-06"
     },
     "smsplus-gx": {
-        "owner": "libretro",
-        "repo": "smsplus-gx",
-        "rev": "96fa9bc65aa27a5ab2779f9f2ff0439fec7cf513",
-        "hash": "sha256-tlxlI0+5QFgu2IRB4Cpz9XItbhprLNlq1YdCFGXGyIE=",
-        "date": "unstable-2023-10-31"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "smsplus-gx",
+            "rev": "96fa9bc65aa27a5ab2779f9f2ff0439fec7cf513",
+            "hash": "sha256-tlxlI0+5QFgu2IRB4Cpz9XItbhprLNlq1YdCFGXGyIE="
+        },
+        "version": "unstable-2023-10-31"
     },
     "snes9x": {
-        "owner": "snes9xgit",
-        "repo": "snes9x",
-        "rev": "be6372c0345c82a87b880c791703fb1929ecf72c",
-        "hash": "sha256-JzUXxTJZG3LdWC+FCM/3/ynGclQ11rCj7q5fs45r5Bw=",
-        "date": "unstable-2024-02-08"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "snes9xgit",
+            "repo": "snes9x",
+            "rev": "1e1c45be07bf5760e73414d9ed0253d6dedb8605",
+            "hash": "sha256-gGAsKsI5e9jU6Zo2f72TBsHWdR6Bl+3Y1Om1zsbIjqs="
+        },
+        "version": "unstable-2024-02-14"
     },
     "snes9x2002": {
-        "owner": "libretro",
-        "repo": "snes9x2002",
-        "rev": "540baad622d9833bba7e0696193cb06f5f02f564",
-        "hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs=",
-        "date": "unstable-2022-08-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2002",
+            "rev": "540baad622d9833bba7e0696193cb06f5f02f564",
+            "hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs="
+        },
+        "version": "unstable-2022-08-06"
     },
     "snes9x2005": {
-        "owner": "libretro",
-        "repo": "snes9x2005",
-        "rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
-        "hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI=",
-        "date": "unstable-2022-07-25"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2005",
+            "rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
+            "hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI="
+        },
+        "version": "unstable-2022-07-25"
     },
     "snes9x2010": {
-        "owner": "libretro",
-        "repo": "snes9x2010",
-        "rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
-        "hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "snes9x2010",
+            "rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
+            "hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU="
+        },
+        "version": "unstable-2023-02-20"
     },
     "stella": {
-        "owner": "stella-emu",
-        "repo": "stella",
-        "rev": "4557099e5d7a0c0b02424ea85d2a4b093911e048",
-        "hash": "sha256-wyJExpIIScgLTALgvqW5f/QgIsMC19JU8Meh3mV4d2c=",
-        "date": "unstable-2024-02-02"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "stella-emu",
+            "repo": "stella",
+            "rev": "4557099e5d7a0c0b02424ea85d2a4b093911e048",
+            "hash": "sha256-wyJExpIIScgLTALgvqW5f/QgIsMC19JU8Meh3mV4d2c="
+        },
+        "version": "unstable-2024-02-02"
     },
     "stella2014": {
-        "owner": "libretro",
-        "repo": "stella2014-libretro",
-        "rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
-        "hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0=",
-        "date": "unstable-2023-02-20"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "stella2014-libretro",
+            "rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
+            "hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
+        },
+        "version": "unstable-2023-02-20"
     },
     "swanstation": {
-        "owner": "libretro",
-        "repo": "swanstation",
-        "rev": "77aeeea58a45cccae7a8be37645f8f5a27ff101b",
-        "hash": "sha256-z+9Y9hoQ832caip5U+siQXh9GFxLMnX0HcmLa93B/lc=",
-        "date": "unstable-2024-01-26"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "swanstation",
+            "rev": "77aeeea58a45cccae7a8be37645f8f5a27ff101b",
+            "hash": "sha256-z+9Y9hoQ832caip5U+siQXh9GFxLMnX0HcmLa93B/lc="
+        },
+        "version": "unstable-2024-01-26"
     },
     "tgbdual": {
-        "owner": "libretro",
-        "repo": "tgbdual-libretro",
-        "rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
-        "hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs=",
-        "date": "unstable-2022-08-06"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "tgbdual-libretro",
+            "rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
+            "hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs="
+        },
+        "version": "unstable-2022-08-06"
     },
     "thepowdertoy": {
-        "owner": "libretro",
-        "repo": "ThePowderToy",
-        "rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
-        "hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo=",
-        "date": "unstable-2023-01-17"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "ThePowderToy",
+            "rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
+            "hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo="
+        },
+        "version": "unstable-2023-01-17"
     },
     "tic80": {
-        "owner": "libretro",
-        "repo": "tic-80",
-        "rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
-        "hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
-        "fetchSubmodules": true,
-        "date": "unstable-2022-06-11"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "tic-80",
+            "rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
+            "hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
+            "fetchSubmodules": true
+        },
+        "version": "unstable-2022-06-11"
     },
     "vba-m": {
-        "owner": "libretro",
-        "repo": "vbam-libretro",
-        "rev": "a2378f05f600a5a9cf450c60a87976b80d6a895a",
-        "hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM=",
-        "date": "unstable-2023-08-18"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "vbam-libretro",
+            "rev": "a2378f05f600a5a9cf450c60a87976b80d6a895a",
+            "hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM="
+        },
+        "version": "unstable-2023-08-18"
     },
     "vba-next": {
-        "owner": "libretro",
-        "repo": "vba-next",
-        "rev": "ee92625d2f1666496be4f5662508a2430e846b00",
-        "hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q=",
-        "date": "unstable-2023-06-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "vba-next",
+            "rev": "ee92625d2f1666496be4f5662508a2430e846b00",
+            "hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q="
+        },
+        "version": "unstable-2023-06-03"
     },
     "vecx": {
-        "owner": "libretro",
-        "repo": "libretro-vecx",
-        "rev": "a401c268e425dc8ae6a301e7fdb9a9e96f39b8ea",
-        "hash": "sha256-24/bcQ5mgLl7zKvpnnSYr5SoLG02al6dP27KoOtnua4=",
-        "date": "unstable-2023-06-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "libretro-vecx",
+            "rev": "56a99fa08a7601b304d752188ca573febf26faeb",
+            "hash": "sha256-9/d6qzsUJZYZewAbFI4LU2FVpv09uby/5mxCZU7rVzo="
+        },
+        "version": "unstable-2024-02-10"
     },
     "virtualjaguar": {
-        "owner": "libretro",
-        "repo": "virtualjaguar-libretro",
-        "rev": "8126e5c504ac7217a638f38e4cd9190822c8abdd",
-        "hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0=",
-        "date": "unstable-2023-06-01"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "virtualjaguar-libretro",
+            "rev": "8126e5c504ac7217a638f38e4cd9190822c8abdd",
+            "hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0="
+        },
+        "version": "unstable-2023-06-01"
     },
     "yabause": {
-        "owner": "libretro",
-        "repo": "yabause",
-        "rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
-        "hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8=",
-        "date": "unstable-2023-01-03"
+        "fetcher": "fetchFromGitHub",
+        "src": {
+            "owner": "libretro",
+            "repo": "yabause",
+            "rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
+            "hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8="
+        },
+        "version": "unstable-2023-01-03"
     }
 }
diff --git a/nixpkgs/pkgs/applications/emulators/retroarch/update_cores.py b/nixpkgs/pkgs/applications/emulators/retroarch/update_cores.py
index 981fe5377c5d..1795c0f70edc 100755
--- a/nixpkgs/pkgs/applications/emulators/retroarch/update_cores.py
+++ b/nixpkgs/pkgs/applications/emulators/retroarch/update_cores.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ requests ])" -p git -p nix-prefetch-github
+#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ ])" -p git -p nix-prefetch-github -p nix-prefetch-scripts
 
 import json
 import os
@@ -8,8 +8,6 @@ import sys
 from concurrent.futures import ThreadPoolExecutor
 from pathlib import Path
 
-import requests
-
 SCRIPT_PATH = Path(__file__).absolute().parent
 HASHES_PATH = SCRIPT_PATH / "hashes.json"
 GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
@@ -19,10 +17,13 @@ GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
 # You may set `deep_clone`, `fetch_submodules` or `leave_dot_git` options to
 # `True` and they're similar to `fetchgit` options. Also if for some reason you
 # need to pin a specific revision, set `rev` to a commit.
-# To generate the hash file for your new core, you can run `update_cores.py
-# <core>`. The script needs to be run from the root of your `nixpkgs` clone.
-# Do not forget to add your core to `cores.nix` file with the proper overrides
-# so the core can be build.
+# There is also a `fetcher` option that for now only supports `fetchFromGitHub`
+# (see `get_repo_hash()`), but it may be extended in the future if there is a
+# need to support fetchers from other source hubs.
+# To generate the hash file for your new core, you can run
+# `<nixpkgs>/pkgs/applications/emulators/retroarch/update_cores.py <core>`. Do
+# not forget to add your core to `cores.nix` file with the proper overrides so
+# the core can be build.
 CORES = {
     "2048": {"repo": "libretro-2048"},
     "atari800": {"repo": "libretro-atari800"},
@@ -128,30 +129,6 @@ def info(*msg):
     print(*msg, file=sys.stderr)
 
 
-def get_rev_date_fetchFromGitHub(repo, owner, rev):
-    # https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#get-a-commit
-    url = f"https://api.github.com/repos/{owner}/{repo}/commits/{rev}"
-    headers = {
-        "Accept": "application/vnd.github+json",
-        "X-GitHub-Api-Version": "2022-11-28",
-    }
-    if token := os.environ.get("GITHUB_TOKEN"):
-        headers["Authorization"] = f"Bearer {token}"
-    r = requests.get(url, headers=headers)
-
-    try:
-        j = r.json()
-    except requests.exceptions.JSONDecodeError:
-        return None
-
-    date = j.get("commit", {}).get("committer", {}).get("date")
-    if date:
-        # Date format returned by API: 2023-01-30T06:29:13Z
-        return f"unstable-{date[:10]}"
-    else:
-        return None
-
-
 def get_repo_hash_fetchFromGitHub(
     repo,
     owner="libretro",
@@ -176,18 +153,24 @@ def get_repo_hash_fetchFromGitHub(
     if rev:
         extra_args.append("--rev")
         extra_args.append(rev)
-    result = subprocess.run(
-        ["nix-prefetch-github", owner, repo, *extra_args],
-        check=True,
-        capture_output=True,
-        text=True,
-    )
+    try:
+        result = subprocess.run(
+            ["nix-prefetch-github", owner, repo, "--meta", *extra_args],
+            check=True,
+            capture_output=True,
+            text=True,
+        )
+    except subprocess.CalledProcessError as ex:
+        info(f"Error while updating {owner}/{repo}:", ex.stderr)
+        raise ex
+
     j = json.loads(result.stdout)
-    date = get_rev_date_fetchFromGitHub(repo, owner, j["rev"])
-    if date:
-        j["date"] = date
-    # Remove False values
-    return {k: v for k, v in j.items() if v}
+    return {
+        "fetcher": "fetchFromGitHub",
+        # Remove False values
+        "src": {k: v for k, v in j["src"].items() if v},
+        "version": f"unstable-{j['meta']['commitDate']}",
+    }
 
 
 def get_repo_hash(fetcher="fetchFromGitHub", **kwargs):
@@ -229,6 +212,7 @@ def main():
 
     cores = {core: repo for core, repo in CORES.items() if core in cores_to_update}
     repo_hashes = get_repo_hashes(cores)
+    repo_hashes["!comment"] = "Generated with update_cores.py script, do not edit!"
     info(f"Generating '{HASHES_PATH}'...")
     with open(HASHES_PATH, "w") as f:
         f.write(json.dumps(dict(sorted(repo_hashes.items())), indent=4))
diff --git a/nixpkgs/pkgs/applications/emulators/simplenes/default.nix b/nixpkgs/pkgs/applications/emulators/simplenes/default.nix
index d073098507ee..05a00e2c9201 100644
--- a/nixpkgs/pkgs/applications/emulators/simplenes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/simplenes/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ ivar ];
     platforms = platforms.linux;
+    mainProgram = "SimpleNES";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/tamatool/default.nix b/nixpkgs/pkgs/applications/emulators/tamatool/default.nix
index ce2518031b2e..cc245ebbe1fa 100644
--- a/nixpkgs/pkgs/applications/emulators/tamatool/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/tamatool/default.nix
@@ -74,5 +74,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
+    mainProgram = "tamatool";
   };
 })
diff --git a/nixpkgs/pkgs/applications/emulators/tilem/default.nix b/nixpkgs/pkgs/applications/emulators/tilem/default.nix
index c9ba0067ee74..e6d9a1956465 100644
--- a/nixpkgs/pkgs/applications/emulators/tilem/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/tilem/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ siraben luc65r ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "tilem2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/tiny8086/default.nix b/nixpkgs/pkgs/applications/emulators/tiny8086/default.nix
index a0cc6bd7929b..c236cd0950f6 100644
--- a/nixpkgs/pkgs/applications/emulators/tiny8086/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/tiny8086/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
+    mainProgram = "8086tiny";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/uae/default.nix b/nixpkgs/pkgs/applications/emulators/uae/default.nix
index 105729f62829..bfb8584aa94b 100644
--- a/nixpkgs/pkgs/applications/emulators/uae/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/uae/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
     maintainers = [ lib.maintainers.sander ];
     platforms = lib.platforms.linux;
+    mainProgram = "uae";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/wibo/default.nix b/nixpkgs/pkgs/applications/emulators/wibo/default.nix
index 102fd324cc29..f34f8d6b2f0f 100644
--- a/nixpkgs/pkgs/applications/emulators/wibo/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/wibo/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ r-burns ];
     platforms = [ "i686-linux" ];
+    mainProgram = "wibo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/xcpc/default.nix b/nixpkgs/pkgs/applications/emulators/xcpc/default.nix
index 633d44bb5ae4..6482f05cf1b1 100644
--- a/nixpkgs/pkgs/applications/emulators/xcpc/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/xcpc/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "xcpc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix b/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix
index 136e6ce4eb89..652b2cff3488 100644
--- a/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/yapesdl/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "yapesdl";
   };
 })
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix b/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix
index ee2eaa1b104c..30ff4aded401 100644
--- a/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/compat-list.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, unstableGitUpdater }:
 stdenv.mkDerivation {
   pname = "yuzu-compatibility-list";
-  version = "unstable-2024-02-04";
+  version = "unstable-2024-02-14";
 
   src = fetchFromGitHub {
     owner = "flathub";
     repo = "org.yuzu_emu.yuzu";
-    rev = "963c657c2f852d96b5f203fbb6fafe6c56197ac9";
-    hash = "sha256-TNvAonMoGpJXjrkBFrBlYoTlwdPEMwiF/YhsOTYEB4k=";
+    rev = "8ef2f834b7437101d855f49f719474613c6fdfda";
+    hash = "sha256-RGEx7xediERrBW7vFwmecE3tLCo81zhOIVMnWG+XVd8=";
   };
 
   buildCommand = ''
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix b/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix
index 227e728a184d..9e057a44baf5 100644
--- a/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/early-access/sources.nix
@@ -1,7 +1,7 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-02-05
+# Last updated: 2024-02-15
 {
-  version = "4115";
-  distHash = "sha256:16dfqlgz7lw909jqa505d69kx9jm0l3hxrfikkqpnvfr2fywkfng";
-  fullHash = "sha256:1506435pbpb1m8i6qz717wxbinxqbs6c8pq6ymw5zs9dnfh765ms";
+  version = "4141";
+  distHash = "sha256:0iy2q12fsnkl485ml6s6lh9j5qvwa7v3y2iy2vlps7rygdiaqxc2";
+  fullHash = "sha256:0980s2sxwqblyq936j0s7xz49xkfq1zzk50l5qlm5md5x64amf6r";
 }
diff --git a/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix b/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix
index d8fe6311076f..b2fe6edb41aa 100644
--- a/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix
+++ b/nixpkgs/pkgs/applications/emulators/yuzu/mainline.nix
@@ -36,13 +36,13 @@
 }:
 stdenv.mkDerivation(finalAttrs: {
   pname = "yuzu";
-  version = "1704";
+  version = "1715";
 
   src = fetchFromGitHub {
     owner = "yuzu-emu";
     repo = "yuzu-mainline";
     rev = "mainline-0-${finalAttrs.version}";
-    hash = "sha256-8vIwWahl5JmFlOfMRuec1LiYz4F6mPEH4+p2e1IRBdU=";
+    hash = "sha256-ctmySxBLI/1/0ekvqOq+FsWq73iHa/awARtCgZ/ztXs=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/emulators/zsnes/default.nix b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix
index 8e12d7cd7bb3..ebe7af84d7fc 100644
--- a/nixpkgs/pkgs/applications/emulators/zsnes/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/zsnes/default.nix
@@ -70,5 +70,6 @@ in stdenv.mkDerivation {
     maintainers = [ lib.maintainers.sander ];
     homepage = "https://www.zsnes.com";
     platforms = [ "i686-linux" "x86_64-linux" ];
+    mainProgram = "zsnes";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/browsr/default.nix b/nixpkgs/pkgs/applications/file-managers/browsr/default.nix
index ad35ae555d1a..b859ab8d7e11 100644
--- a/nixpkgs/pkgs/applications/file-managers/browsr/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/browsr/default.nix
@@ -6,20 +6,19 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "browsr";
-  version = "1.17.1";
-  format = "pyproject";
+  version = "1.18.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "juftin";
     repo = "browsr";
-    rev = "v${version}";
-    hash = "sha256-FExDKugFP94C3zMnR1V4QDPWeM2OtRH2ei0LNs3h06c=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Ygqoz1rNQwhU1/8NsHwQsSCqQ8gYwHEaAuIaVMCtKKA=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
     hatchling
     pythonRelaxDepsHook
-    pytestCheckHook
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -48,18 +47,31 @@ python3.pkgs.buildPythonApplication rec {
     ];
   };
 
+  nativeCheckInputs = with python3.pkgs; [
+    pytest-textual-snapshot
+    pytestCheckHook
+  ];
+
   pythonRelaxDeps = [
     "art"
     "pandas"
     "pymupdf"
     "rich-click"
+    "rich-pixels"
+    "rich"
     "textual"
   ];
 
-  pythonImportsCheck = [ "browsr" ];
+  pythonImportsCheck = [
+    "browsr"
+  ];
+
+  pytestFlagsArray = [
+    "--snapshot-update"
+  ];
 
-  # requires internet access
   disabledTests = [
+    # Tests require internet access
     "test_github_screenshot"
     "test_github_screenshot_license"
     "test_textual_app_context_path_github"
diff --git a/nixpkgs/pkgs/applications/file-managers/cfm/default.nix b/nixpkgs/pkgs/applications/file-managers/cfm/default.nix
index 0955403e7eb8..640067d527f2 100644
--- a/nixpkgs/pkgs/applications/file-managers/cfm/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/cfm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     maintainers = with maintainers; [ lom ];
     platforms = platforms.all;
+    mainProgram = "cfm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/clifm/default.nix b/nixpkgs/pkgs/applications/file-managers/clifm/default.nix
index fdabc61aeb46..72e363b8b3c2 100644
--- a/nixpkgs/pkgs/applications/file-managers/clifm/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/clifm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clifm";
-  version = "1.16";
+  version = "1.17";
 
   src = fetchFromGitHub {
     owner = "leo-arch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tjxsJv5w0Rvk2XYisncytcRdZLRnOSDJmNJN4kkzr7U=";
+    hash = "sha256-plJ2iKloRGtBSa1upSo675bMj6qczR6TQ043UQboxQE=";
   };
 
   buildInputs = [ libcap acl file readline python3];
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nadir-ishiguro ];
     platforms = platforms.unix;
+    mainProgram = "clifm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/lf/default.nix b/nixpkgs/pkgs/applications/file-managers/lf/default.nix
index 9caf29a5a9a4..1f2b8b908928 100644
--- a/nixpkgs/pkgs/applications/file-managers/lf/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/lf/default.nix
@@ -44,5 +44,6 @@ buildGoModule rec {
     changelog = "https://github.com/gokcehan/lf/releases/tag/r${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "lf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/mucommander/default.nix b/nixpkgs/pkgs/applications/file-managers/mucommander/default.nix
index cf3b1352f488..308035b094a1 100644
--- a/nixpkgs/pkgs/applications/file-managers/mucommander/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/mucommander/default.nix
@@ -105,5 +105,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ jiegec ];
     platforms = platforms.all;
+    mainProgram = "mucommander";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/noice/default.nix b/nixpkgs/pkgs/applications/file-managers/noice/default.nix
index 25e93ace7c04..d41c12faad8d 100644
--- a/nixpkgs/pkgs/applications/file-managers/noice/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/noice/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     platforms = platforms.all;
     maintainers = with maintainers; [ iogamaster ];
+    mainProgram = "noice";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/portfolio-filemanager/default.nix b/nixpkgs/pkgs/applications/file-managers/portfolio-filemanager/default.nix
index 3ee1f0c03ebf..4c21e8cbe057 100644
--- a/nixpkgs/pkgs/applications/file-managers/portfolio-filemanager/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/portfolio-filemanager/default.nix
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "portfolio";
-  version = "1.0.0";
+  version = "1.0.1";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "tchx84";
     repo = "Portfolio";
     rev = "v${version}";
-    hash = "sha256-ahVrOyyF/7X19ZJcHQ4YbC+4b96CPEnns7TUAFCvKao=";
+    hash = "sha256-IbzAkHlD6duXkPJRSyD9HJ/JHP8+IR7vIGFp2ESbBug=";
   };
 
   postPatch = ''
@@ -78,6 +78,7 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/tchx84/Portfolio/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "dev.tchx84.Portfolio";
     maintainers = with maintainers; [ dotlambda chuangzhu ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/sfm/default.nix b/nixpkgs/pkgs/applications/file-managers/sfm/default.nix
index 800ea9419cbe..8a3aaee4418e 100644
--- a/nixpkgs/pkgs/applications/file-managers/sfm/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/sfm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "sfm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/shfm/default.nix b/nixpkgs/pkgs/applications/file-managers/shfm/default.nix
index 602151075fc7..47bb6dfdbe8c 100644
--- a/nixpkgs/pkgs/applications/file-managers/shfm/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/shfm/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.all;
+    mainProgram = "shfm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/xplorer/default.nix b/nixpkgs/pkgs/applications/file-managers/xplorer/default.nix
index b4681ab697b2..76edf8ee4832 100644
--- a/nixpkgs/pkgs/applications/file-managers/xplorer/default.nix
+++ b/nixpkgs/pkgs/applications/file-managers/xplorer/default.nix
@@ -90,5 +90,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://xplorer.space";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "xplorer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/file-managers/yazi/default.nix b/nixpkgs/pkgs/applications/file-managers/yazi/default.nix
deleted file mode 100644
index c59827f3191f..000000000000
--- a/nixpkgs/pkgs/applications/file-managers/yazi/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ rustPlatform
-, fetchFromGitHub
-, lib
-
-, makeWrapper
-, installShellFiles
-, stdenv
-, Foundation
-
-, withFile ? true
-, file
-, withJq ? true
-, jq
-, withPoppler ? true
-, poppler_utils
-, withUnar ? true
-, unar
-, withFfmpegthumbnailer ? true
-, ffmpegthumbnailer
-, withFd ? true
-, fd
-, withRipgrep ? true
-, ripgrep
-, withFzf ? true
-, fzf
-, withZoxide ? true
-, zoxide
-
-, nix-update-script
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "yazi";
-  version = "0.2.3";
-
-  src = fetchFromGitHub {
-    owner = "sxyazi";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
-  };
-
-  cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
-
-  env.YAZI_GEN_COMPLETIONS = true;
-
-  nativeBuildInputs = [ makeWrapper installShellFiles ];
-  buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
-
-  postInstall = with lib;
-    let
-      runtimePaths = [ ]
-        ++ optional withFile file
-        ++ optional withJq jq
-        ++ optional withPoppler poppler_utils
-        ++ optional withUnar unar
-        ++ optional withFfmpegthumbnailer ffmpegthumbnailer
-        ++ optional withFd fd
-        ++ optional withRipgrep ripgrep
-        ++ optional withFzf fzf
-        ++ optional withZoxide zoxide;
-    in
-    ''
-      wrapProgram $out/bin/yazi \
-         --prefix PATH : "${makeBinPath runtimePaths}"
-      installShellCompletion --cmd yazi \
-        --bash ./yazi-config/completions/yazi.bash \
-        --fish ./yazi-config/completions/yazi.fish \
-        --zsh  ./yazi-config/completions/_yazi
-    '';
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = with lib; {
-    description = "Blazing fast terminal file manager written in Rust, based on async I/O";
-    homepage = "https://github.com/sxyazi/yazi";
-    license = licenses.mit;
-    maintainers = with maintainers; [ xyenon matthiasbeyer ];
-    mainProgram = "yazi";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/finance/irpf/default.nix b/nixpkgs/pkgs/applications/finance/irpf/default.nix
index 2d280a41c5df..6ced017dff6c 100644
--- a/nixpkgs/pkgs/applications/finance/irpf/default.nix
+++ b/nixpkgs/pkgs/applications/finance/irpf/default.nix
@@ -72,5 +72,6 @@ stdenvNoCC.mkDerivation rec {
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     maintainers = with maintainers; [ atila ];
+    mainProgram = "irpf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/alchemy/default.nix b/nixpkgs/pkgs/applications/graphics/alchemy/default.nix
index c37bc92a4065..2b61004ed0e7 100644
--- a/nixpkgs/pkgs/applications/graphics/alchemy/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/alchemy/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.marcweber ];
     platforms = platforms.linux;
+    mainProgram = "alchemy";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/apngasm/default.nix b/nixpkgs/pkgs/applications/graphics/apngasm/default.nix
index 085683b5b643..d75188b36dd6 100644
--- a/nixpkgs/pkgs/applications/graphics/apngasm/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/apngasm/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     license = licenses.zlib;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    mainProgram = "apngasm";
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/graphics/artem/default.nix b/nixpkgs/pkgs/applications/graphics/artem/default.nix
index de6f593fc453..18bc00983828 100644
--- a/nixpkgs/pkgs/applications/graphics/artem/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/artem/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "artem";
-  version = "2.0.2";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "finefindus";
     repo = "artem";
     rev = "v${version}";
-    hash = "sha256-t8L1lylaacEHGg3wxVgiB2XmBHDGzql774oHrg/vUC0=";
+    hash = "sha256-iio0MJG0qVndhQvF2zgZ6Jw0za6bBQYFmtk1Mbxpq1E=";
   };
 
-  cargoHash = "sha256-rsgl8g6AqNmdq2gJ3PHvKMb7eid8ewtheajGWSWbeBw=";
+  cargoHash = "sha256-47HNoAA1qr39qQqfq+qZoCFyjKHu5pnRKC2QzA60K3k=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -48,5 +48,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/finefindus/artem/blob/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "artem";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/ascii-image-converter/default.nix b/nixpkgs/pkgs/applications/graphics/ascii-image-converter/default.nix
index c4a63aa4fbeb..d0ae5420bdfe 100644
--- a/nixpkgs/pkgs/applications/graphics/ascii-image-converter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ascii-image-converter/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/TheZoraiz/ascii-image-converter#readme";
     license = licenses.asl20;
     maintainers = [ maintainers.danth ];
+    mainProgram = "ascii-image-converter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/autotrace/default.nix b/nixpkgs/pkgs/applications/graphics/autotrace/default.nix
index e611a56a6624..30cf116fed14 100644
--- a/nixpkgs/pkgs/applications/graphics/autotrace/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/autotrace/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ hodapp ];
     license = licenses.gpl2;
+    mainProgram = "autotrace";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix b/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
index e7bc474e17d3..a5debbc21b02 100644
--- a/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/awesomebump/default.nix
@@ -59,5 +59,6 @@ in mkDerivation {
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux;
+    mainProgram = "AwesomeBump";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
index ac52af2a7d4c..05fb56bb5d7d 100644
--- a/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/azpainter/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dtzWill ];
     platforms = with platforms; linux ++ darwin;
+    mainProgram = "azpainter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
index 7f8d9be53b85..1ad3476e8091 100644
--- a/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/cloudcompare/default.nix
@@ -23,13 +23,13 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  version = "2.12.4";
+  version = "2.13";
 
   src = fetchFromGitHub {
     owner = "CloudCompare";
     repo = "CloudCompare";
     rev = "v${version}";
-    sha256 = "sha256-rQ9/vS/fyRWGBL4UGPNSeeNsDtnRHEp9NCViBtu/QEs=";
+    hash = "sha256-tCmIdajizaTT1tvPA7YQoklfz7pYVKS0lJXrxV2fidg=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/curv/default.nix b/nixpkgs/pkgs/applications/graphics/curv/default.nix
index 6725e525c376..71793b861508 100644
--- a/nixpkgs/pkgs/applications/graphics/curv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/curv/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ pbsds ];
+    mainProgram = "curv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/darktable/default.nix b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
index 8983b14cb446..fdc3770676ff 100644
--- a/nixpkgs/pkgs/applications/graphics/darktable/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
@@ -56,12 +56,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.6.0";
+  version = "4.6.1";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "sha256-cksn4yBNGCLebcU+oJCmsc5V98MiJtNGQmiXdcaKrMI=";
+    sha256 = "sha256-Fu3AoHApPi082k6hDkm9qb3pMuI/nmLi+i56x0rPev0=";
   };
 
   nativeBuildInputs = [ cmake ninja llvmPackages.llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/graphics/deskew/default.nix b/nixpkgs/pkgs/applications/graphics/deskew/default.nix
index ad3a20d2431c..f43a26f692a3 100644
--- a/nixpkgs/pkgs/applications/graphics/deskew/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/deskew/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit mpl11 ];
     maintainers = with maintainers; [ryantm];
     platforms = platforms.all;
+    mainProgram = "deskew";
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index af64823bb35c..08a0ba5b8125 100644
--- a/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -13,19 +13,19 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "22.1.18";
+  version = "23.1.5";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-qOZm7XbF8QOx5rD5EJY0lJhaq2Yhp/nppOA4BIWheyE=";
+    hash = "sha256-ThmTahuU0o/vr6h/T/zCyEB5/APJlVA6t1TNfZgqTJ0=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-TwI3NCIn5NnKXuwW5dBl4q6Ma5rZR7NVNb5hoKbmNLM=";
+    hash = "sha256-hL89WVYy/EQe6Zppmr17Q9T2o/UjBvydDIgGpr7AA5M=";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     sed -i "/afterSign/d" electron-builder-linux-mac.json
   '' + ''
     yarn --offline run electron-builder --dir \
-      --config electron-builder-linux-mac.json \
+      ${if stdenv.isDarwin then "--config electron-builder-linux-mac.json" else ""} \
       -c.electronDist=${if stdenv.isDarwin then "." else "${electron}/libexec/electron"} \
       -c.electronVersion=${electron.version}
 
@@ -112,5 +112,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/jgraph/drawio-desktop/releases/tag/v${version}";
     maintainers = with maintainers; [ qyliss darkonion0 ];
     platforms = platforms.darwin ++ platforms.linux;
+    mainProgram = "drawio";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/emulsion/default.nix b/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
index 4964d258c11a..f970b7ffc58f 100644
--- a/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/emulsion/default.nix
@@ -73,5 +73,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = [ maintainers.magnetophon ];
     platforms = platforms.unix;
     license = licenses.mit;
+    mainProgram = "emulsion";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/entwine/default.nix b/nixpkgs/pkgs/applications/graphics/entwine/default.nix
index 908d5cc08184..5a79bc38c553 100644
--- a/nixpkgs/pkgs/applications/graphics/entwine/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/entwine/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl2Only;
     maintainers = with maintainers; [ matthewcroughan ];
     platforms = platforms.linux;
+    mainProgram = "entwine";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/epeg/default.nix b/nixpkgs/pkgs/applications/graphics/epeg/default.nix
index b4ba26bd015f..8134771f5688 100644
--- a/nixpkgs/pkgs/applications/graphics/epeg/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/epeg/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
       url = "https://github.com/mattes/epeg#license";
     };
     maintainers = with maintainers; [ nh2 ];
+    mainProgram = "epeg";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/epick/default.nix b/nixpkgs/pkgs/applications/graphics/epick/default.nix
index c27cbf94476b..dee31abdd29d 100644
--- a/nixpkgs/pkgs/applications/graphics/epick/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/epick/default.nix
@@ -57,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/vv9k/epick/blob/${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "epick";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/f3d/default.nix b/nixpkgs/pkgs/applications/graphics/f3d/default.nix
index 2fef95222b5a..12076557acfb 100644
--- a/nixpkgs/pkgs/applications/graphics/f3d/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/f3d/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ bcdarwin pbsds ];
     platforms = with platforms; unix;
+    mainProgram = "f3d";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/figma-agent/default.nix b/nixpkgs/pkgs/applications/graphics/figma-agent/default.nix
index 36ae271d7e16..a6bf008e8295 100644
--- a/nixpkgs/pkgs/applications/graphics/figma-agent/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/figma-agent/default.nix
@@ -40,5 +40,6 @@ buildRustPackage {
     description = "Figma Agent for Linux (a.k.a. Font Helper)";
     license = licenses.mit;
     maintainers = with maintainers; [ ercao ];
+    mainProgram = "figma-agent";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/flaca/default.nix b/nixpkgs/pkgs/applications/graphics/flaca/default.nix
index 0c421618d094..912887e0e93a 100644
--- a/nixpkgs/pkgs/applications/graphics/flaca/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/flaca/default.nix
@@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ zzzsy ];
     platforms = platforms.linux;
     license = licenses.wtfpl;
+    mainProgram = "flaca";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/focus-stack/default.nix b/nixpkgs/pkgs/applications/graphics/focus-stack/default.nix
index 11de5d144452..6025aa9b7a1b 100644
--- a/nixpkgs/pkgs/applications/graphics/focus-stack/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/focus-stack/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/PetteriAimonen/focus-stack";
     license = licenses.mit;
     maintainers = with maintainers; [ paperdigits ];
+    mainProgram = "focus-stack";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/foxotron/default.nix b/nixpkgs/pkgs/applications/graphics/foxotron/default.nix
index 079515b4b214..c5f2d9c26fcc 100644
--- a/nixpkgs/pkgs/applications/graphics/foxotron/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/foxotron/default.nix
@@ -97,5 +97,6 @@ stdenv.mkDerivation rec {
     license = licenses.unlicense;
     maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.all;
+    mainProgram = "Foxotron";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix b/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
index 61a41abac5b0..4ee7b869eea0 100644
--- a/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gcolor2/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ notthemessiah ];
     platforms = with lib.platforms; unix;
+    mainProgram = "gcolor2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix b/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
index b90735d85083..a263746ef9ac 100644
--- a/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gnuclad/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mog ];
     platforms = platforms.unix;
+    mainProgram = "gnuclad";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/gpicview/default.nix b/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
index f19c0282b187..fcef4751eab7 100644
--- a/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gpicview/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms = platforms.unix;
+    mainProgram = "gpicview";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/gqview/default.nix b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
index 847fa9ea5f68..8237473c79b1 100644
--- a/nixpkgs/pkgs/applications/graphics/gqview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gqview/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
+    mainProgram = "gqview";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/guetzli/default.nix b/nixpkgs/pkgs/applications/graphics/guetzli/default.nix
index 9f2f050441f1..945416e3f03d 100644
--- a/nixpkgs/pkgs/applications/graphics/guetzli/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/guetzli/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
     license = lib.licenses.asl20;
     platforms = lib.platforms.x86_64;
     maintainers = [ lib.maintainers.seppeljordan ];
+    mainProgram = "guetzli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/hello-wayland/default.nix b/nixpkgs/pkgs/applications/graphics/hello-wayland/default.nix
index 45c1e6f54163..d2ce6c57cec2 100644
--- a/nixpkgs/pkgs/applications/graphics/hello-wayland/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hello-wayland/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ qyliss ];
     license = licenses.mit;
     platforms = platforms.linux;
+    mainProgram = "hello-wayland";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/hugin/default.nix b/nixpkgs/pkgs/applications/graphics/hugin/default.nix
index 29535438ec7e..6a0408f98f13 100644
--- a/nixpkgs/pkgs/applications/graphics/hugin/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hugin/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , cmake
 , fetchurl
-, fetchpatch
 , gnumake
 , makeWrapper
 , pkg-config
@@ -38,21 +37,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hugin";
-  version = "2022.0.0";
+  version = "2023.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
-    hash = "sha256-l8hWKgupp0PguVWkPf3gSLHGDNnl8u4rad4agWRuBac=";
+    hash = "sha256-BKOfzMYBfgVExjm9IjCUcsV001s0Vcut4fw4cOYxYys=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "hugin-2022.0.0-exiv2-0.28.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch?id=d18335caa756f5e5c1478d5fe3ba17f011a78c80";
-      hash = "sha256-Y+79bFb926GW5oLOL0e5y7kLhqU/vZcry+kLL4H2fUE=";
-    })
-  ];
-
   buildInputs = [
     boost
     cairo
diff --git a/nixpkgs/pkgs/applications/graphics/icon-library/default.nix b/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
index cbd704a24a91..6033843e4aeb 100644
--- a/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/icon-library/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "icon-library";
-  version = "0.0.17";
+  version = "0.0.18";
 
   src = fetchurl {
-    url = "https://gitlab.gnome.org/World/design/icon-library/uploads/8c4cad88809cd4ddc0eeae6f5170c001/icon-library-${version}.tar.xz";
-    hash = "sha256-Gspx3fJl+ZoUN3heGWaeMuxUsjWCrIdg4pJj7DeMTSY=";
+    url = "https://gitlab.gnome.org/World/design/icon-library/uploads/874b27fcf34662d9686f670d406142c2/icon-library-${version}.tar.xz";
+    hash = "sha256-qCGwTePA817mulFjyRZKw+Fw1S77+QTtA7WH+KocL48=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/image_optim/default.nix b/nixpkgs/pkgs/applications/graphics/image_optim/default.nix
index 94b16d57467d..1d9048cafaa6 100644
--- a/nixpkgs/pkgs/applications/graphics/image_optim/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/image_optim/default.nix
@@ -71,5 +71,6 @@ bundlerApp {
     license = licenses.mit;
     maintainers = with maintainers; [ srghma nicknovitski ];
     platforms = platforms.all;
+    mainProgram = "image_optim";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/imagej/default.nix b/nixpkgs/pkgs/applications/graphics/imagej/default.nix
index 35c8dbf2f19a..b6396c231b19 100644
--- a/nixpkgs/pkgs/applications/graphics/imagej/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imagej/default.nix
@@ -78,5 +78,6 @@ in stdenv.mkDerivation rec {
     license = licenses.publicDomain;
     platforms = platforms.unix;
     maintainers = with maintainers; [ yuriaisaka ];
+    mainProgram = "imagej";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/img-cat/default.nix b/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
index 825955c10b9e..414f4b2a3b33 100644
--- a/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/img-cat/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/trashhalo/imgcat";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
+    mainProgram = "imgcat";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/imgcat/default.nix b/nixpkgs/pkgs/applications/graphics/imgcat/default.nix
index 72167cb2b3fc..ab3d22531589 100644
--- a/nixpkgs/pkgs/applications/graphics/imgcat/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imgcat/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ jwiegley ];
     platforms = platforms.unix;
+    mainProgram = "imgcat";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix b/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
index 110a7e513e32..a4059ccba28b 100644
--- a/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation {
     license = licenses.mitAdvertising;
     platforms = platforms.linux;
     maintainers = with maintainers; [ dwarfmaster ];
+    mainProgram = "imlibsetroot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/imv/default.nix b/nixpkgs/pkgs/applications/graphics/imv/default.nix
index 044814c88a1c..f71b0362d2de 100644
--- a/nixpkgs/pkgs/applications/graphics/imv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/imv/default.nix
@@ -16,7 +16,8 @@
 , libxkbcommon
 , libGLU
 , wayland
-, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
+# "libnsgif" is disabled until https://todo.sr.ht/~exec64/imv/55 is solved
+, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libheif" ]
 , freeimage
 , libtiff
 , libjpeg_turbo
diff --git a/nixpkgs/pkgs/applications/graphics/ipe/default.nix b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
index 59fe59e910fb..fd5fb779517c 100644
--- a/nixpkgs/pkgs/applications/graphics/ipe/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ipe/default.nix
@@ -13,6 +13,7 @@
 , libspiro
 , lua5
 , qtbase
+, qtsvg
 , texliveSmall
 , wrapQtAppsHook
 , zlib
@@ -41,6 +42,7 @@ stdenv.mkDerivation rec {
     libspiro
     lua5
     qtbase
+    qtsvg
     zlib
   ] ++ (lib.optionals withTeXLive [
     texliveSmall
diff --git a/nixpkgs/pkgs/applications/graphics/jpeginfo/default.nix b/nixpkgs/pkgs/applications/graphics/jpeginfo/default.nix
index 52f55a629f8a..c470082a2bb3 100644
--- a/nixpkgs/pkgs/applications/graphics/jpeginfo/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/jpeginfo/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.bjornfor ];
     platforms = platforms.all;
+    mainProgram = "jpeginfo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/jpegoptim/default.nix b/nixpkgs/pkgs/applications/graphics/jpegoptim/default.nix
index d8ec361600ea..dd5def2a5e30 100644
--- a/nixpkgs/pkgs/applications/graphics/jpegoptim/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/jpegoptim/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.aristid ];
     platforms = platforms.all;
+    mainProgram = "jpegoptim";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/komikku/default.nix b/nixpkgs/pkgs/applications/graphics/komikku/default.nix
index 91c70aa02782..4a4b499ca4d0 100644
--- a/nixpkgs/pkgs/applications/graphics/komikku/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/komikku/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.37.1";
+  version = "1.38.1";
 
   format = "other";
 
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     rev = "v${version}";
-    hash = "sha256-pGOut63+ST1Yqe1Fj0c4cI0du1q4JW7WVA4h+muWGJQ=";
+    hash = "sha256-eVNW8Iuhee9WBbiXP7ijvd0K44/IpwdrdiT4RkBNcxI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix b/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix
index d2d799dadaf6..1f6a9460a6a4 100644
--- a/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix
@@ -62,5 +62,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    mainProgram = "lazpaint";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/lightburn/default.nix b/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
index c686ed41752a..f038304d32c7 100644
--- a/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/lightburn/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.unfree;
     maintainers = with lib.maintainers; [ q3k ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "LightBurn";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/litemdview/default.nix b/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
index ebd830868f6c..9fedae23069c 100644
--- a/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/litemdview/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ WhiteBlackGoose ];
     platforms = platforms.linux;
+    mainProgram = "litemdview";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/lorien/default.nix b/nixpkgs/pkgs/applications/graphics/lorien/default.nix
index ad7442a93ccb..8105e3682b59 100644
--- a/nixpkgs/pkgs/applications/graphics/lorien/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/lorien/default.nix
@@ -129,5 +129,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ hqurve ];
+    mainProgram = "lorien";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
index ca1ca5bf4cf2..68e88bdea28a 100644
--- a/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mandelbulber/default.nix
@@ -19,13 +19,13 @@ assert withOpenCL -> ocl-icd != null;
 
 mkDerivation rec {
   pname = "mandelbulber";
-  version = "2.31";
+  version = "2.31-1";
 
   src = fetchFromGitHub {
     owner = "buddhi1980";
     repo = "mandelbulber2";
     rev = version;
-    sha256 = "sha256-r3IuOdtBSrTK/pDChgq/M3yQkSz2R+FG6kvwjYPjR4A=";
+    sha256 = "sha256-nyIFvFe86C2ciBDSNWn1yrBYTCm1dR7sZ5RFGoTPqvQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/meh/default.nix b/nixpkgs/pkgs/applications/graphics/meh/default.nix
index d23176c2518d..992a739bb377 100644
--- a/nixpkgs/pkgs/applications/graphics/meh/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/meh/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation {
     homepage = "https://www.johnhawthorn.com/meh/";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
+    mainProgram = "meh";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/menyoki/default.nix b/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
index e1b7087cf73b..800ede30be42 100644
--- a/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/menyoki/default.nix
@@ -50,5 +50,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/orhun/menyoki/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "menyoki";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/minidjvu/default.nix b/nixpkgs/pkgs/applications/graphics/minidjvu/default.nix
index 4a9b91d9c7b8..ca9e77391eb3 100644
--- a/nixpkgs/pkgs/applications/graphics/minidjvu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/minidjvu/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.viric ];
     platforms = lib.platforms.unix;
+    mainProgram = "minidjvu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix b/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
index 740f9c7cb193..332acf25e498 100644
--- a/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/mtpaint/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.vklquevs ];
+    mainProgram = "mtpaint";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/graphics/ocrad/default.nix b/nixpkgs/pkgs/applications/graphics/ocrad/default.nix
index 476d56fb3fe3..8eae4fda5f8b 100644
--- a/nixpkgs/pkgs/applications/graphics/ocrad/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/ocrad/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.unix;
+    mainProgram = "ocrad";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix b/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
index 3a089febc3df..ba1d5bdce073 100644
--- a/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/odafileconverter/default.nix
@@ -50,5 +50,6 @@ in mkDerivation {
     license = licenses.unfree;
     maintainers = with maintainers; [ nagisa ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ODAFileConverter";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/openboard/default.nix b/nixpkgs/pkgs/applications/graphics/openboard/default.nix
index e32e66857313..9eacdc642ce5 100644
--- a/nixpkgs/pkgs/applications/graphics/openboard/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/openboard/default.nix
@@ -114,5 +114,6 @@ in stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ fufexan ];
     platforms = platforms.linux;
+    mainProgram = "OpenBoard";
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
index 9fdc77ac745f..6c15c55d3953 100644
--- a/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pdfcpu/default.nix
@@ -64,5 +64,6 @@ buildGoModule rec {
     homepage = "https://pdfcpu.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "pdfcpu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/pixelnuke/default.nix b/nixpkgs/pkgs/applications/graphics/pixelnuke/default.nix
index 0666501120e6..c40a41590b70 100644
--- a/nixpkgs/pkgs/applications/graphics/pixelnuke/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pixelnuke/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.unlicense;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mrVanDalo ];
+    mainProgram = "pixelnuke";
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix b/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
index f3b40b515183..2c94b4645c56 100644
--- a/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pixeluvo/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ wolfangaukang ];
+    mainProgram = "pixeluvo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/pqiv/default.nix b/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
index f678af706119..0c56dd70cbb8 100644
--- a/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/pqiv/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation (rec {
     license = licenses.gpl3Plus;
     maintainers = [];
     platforms = platforms.linux;
+    mainProgram = "pqiv";
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/qiv/default.nix b/nixpkgs/pkgs/applications/graphics/qiv/default.nix
index 96ec02294ffd..2758148dc1ae 100644
--- a/nixpkgs/pkgs/applications/graphics/qiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/qiv/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation (rec {
     homepage = "http://spiegl.de/qiv/";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    mainProgram = "qiv";
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/round/default.nix b/nixpkgs/pkgs/applications/graphics/round/default.nix
index a41ecc8db73d..b65567dcab40 100644
--- a/nixpkgs/pkgs/applications/graphics/round/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/round/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage    = "https://github.com/mingrammer/round";
     license     = licenses.mit;
     maintainers =  with maintainers; [ addict3d ];
+    mainProgram = "round";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/shotwell/default.nix b/nixpkgs/pkgs/applications/graphics/shotwell/default.nix
index d93423e07521..9eb1fbb28ee4 100644
--- a/nixpkgs/pkgs/applications/graphics/shotwell/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/shotwell/default.nix
@@ -11,7 +11,6 @@
 , libxml2
 , vala
 , sqlite
-, webkitgtk_4_1
 , pkg-config
 , gnome
 , gst_all_1
@@ -40,11 +39,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "shotwell";
-  version = "0.32.4";
+  version = "0.32.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/shotwell/${lib.versions.majorMinor finalAttrs.version}/shotwell-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-3iqUUIRtHOwUxqEDA3X9SeGvJNySCtZIA0QST5zLhW8=";
+    sha256 = "sha256-dZek/6yR4YzYFEsS8tCDE6P0Bbs2gkOnMmgm99kqcLY=";
   };
 
   nativeBuildInputs = [
@@ -67,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
     libsoup_3
     libxml2
     sqlite
-    webkitgtk_4_1
     gst_all_1.gstreamer
     gst_all_1.gst-libav
     gst_all_1.gst-plugins-base
diff --git a/nixpkgs/pkgs/applications/graphics/swingsane/default.nix b/nixpkgs/pkgs/applications/graphics/swingsane/default.nix
index 6d2b6e4bb7a7..998c3d211031 100644
--- a/nixpkgs/pkgs/applications/graphics/swingsane/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/swingsane/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     platforms = platforms.all;
+    mainProgram = "swingsane";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/sxiv/default.nix b/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
index 65450d515668..f3d7086d4a09 100644
--- a/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/sxiv/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
     maintainers = with maintainers; [ h7x4 ];
+    mainProgram = "sxiv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract3.nix b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract3.nix
index bf19d0f77eb6..d796e506a877 100644
--- a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract3.nix
+++ b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract3.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ viric erikarvstedt ];
     platforms = with lib.platforms; linux ++ darwin;
+    mainProgram = "tesseract";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
index 5bd682988526..88cda12a9c5e 100644
--- a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ viric erikarvstedt ];
     platforms = with lib.platforms; linux ++ darwin;
+    mainProgram = "tesseract";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix b/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
index bc8e128ba44a..07813cbc415e 100644
--- a/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/unigine-superposition/default.nix
@@ -143,5 +143,6 @@ buildFHSEnv {
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.BarinovMaxim ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "Superposition";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/upscayl/default.nix b/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
index 24b8bc1483b2..024c7f658c21 100644
--- a/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/upscayl/default.nix
@@ -38,5 +38,6 @@ in
       maintainers = with maintainers; [icy-thought];
       license = licenses.agpl3Plus;
       platforms = platforms.linux;
+      mainProgram = "upscayl";
     };
   }
diff --git a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
index 7f90c815837a..bfd707f55132 100644
--- a/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/viewnior/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     homepage = "https://siyanpanayotov.com/project/viewnior/";
     maintainers = with maintainers; [ smironov artturin ];
     platforms = platforms.gnu ++ platforms.linux;
+    mainProgram = "viewnior";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/vpv/default.nix b/nixpkgs/pkgs/applications/graphics/vpv/default.nix
index 27957a5fa86f..1bbdbd4a35e7 100644
--- a/nixpkgs/pkgs/applications/graphics/vpv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/vpv/default.nix
@@ -59,5 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = [ lib.maintainers.kidanger ];
     license = lib.licenses.gpl3;
     broken = stdenv.isDarwin; # the CMake expects the SDL2::SDL2main target for darwin
+    mainProgram = "vpv";
   };
 })
diff --git a/nixpkgs/pkgs/applications/graphics/wings/default.nix b/nixpkgs/pkgs/applications/graphics/wings/default.nix
index 094a483ae7b8..87e0a47cc5ae 100644
--- a/nixpkgs/pkgs/applications/graphics/wings/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/wings/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.tcltk;
     maintainers = with lib.maintainers; [ viric ];
     platforms = with lib.platforms; linux;
+    mainProgram = "wings";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/xfractint/default.nix b/nixpkgs/pkgs/applications/graphics/xfractint/default.nix
index c43127bfa993..d4873dd92689 100644
--- a/nixpkgs/pkgs/applications/graphics/xfractint/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xfractint/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
     homepage = "https://www.fractint.net/";
+    mainProgram = "xfractint";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/xmountains/default.nix b/nixpkgs/pkgs/applications/graphics/xmountains/default.nix
index 61020e678c30..d7c70f18b5b6 100644
--- a/nixpkgs/pkgs/applications/graphics/xmountains/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xmountains/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://spbooth.github.io/xmountains";
     license = licenses.hpndSellVariant;
     maintainers = with maintainers; [ djanatyn ];
+    mainProgram = "xmountains";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/xournal/default.nix b/nixpkgs/pkgs/applications/graphics/xournal/default.nix
index 288f0446b34a..7f618b257387 100644
--- a/nixpkgs/pkgs/applications/graphics/xournal/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xournal/default.nix
@@ -59,5 +59,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.guibert ];
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
+    mainProgram = "xournal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/xpano/default.nix b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
index c52d729f9b51..3ba27e66e66f 100644
--- a/nixpkgs/pkgs/applications/graphics/xpano/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xpano/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xpano";
-  version = "0.17.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "krupkat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "aKO9NYHFjb69QopseNOJvUvvVT1povP9tyGSOHJFWVo=";
+    sha256 = "iPGvCJz2iywpSePBZ3c8OiccKfwaGAToGaJfRhruUPk=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/graphics/xzgv/default.nix b/nixpkgs/pkgs/applications/graphics/xzgv/default.nix
index d26f6eccf76a..1617b6459d33 100644
--- a/nixpkgs/pkgs/applications/graphics/xzgv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/xzgv/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.womfoo ];
     platforms = platforms.linux;
+    mainProgram = "xzgv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/yed/default.nix b/nixpkgs/pkgs/applications/graphics/yed/default.nix
index ccb6b087215a..4e70c9d37aba 100644
--- a/nixpkgs/pkgs/applications/graphics/yed/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yed/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams";
     platforms = jre.meta.platforms;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "yed";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix b/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix
index d464b56cb265..6e3b7ecee39f 100644
--- a/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/yeetgif/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     homepage = "https://github.com/sgreben/yeetgif";
     license = with licenses; [ mit asl20 cc-by-nc-sa-40 ];
     maintainers = with maintainers; [ ajs124 ];
+    mainProgram = "gif";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/zgrviewer/default.nix b/nixpkgs/pkgs/applications/graphics/zgrviewer/default.nix
index cf0dd52ee73c..980e631ad41f 100644
--- a/nixpkgs/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/zgrviewer/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl21Plus;
     description = "GraphViz graph viewer/navigator";
     platforms = with lib.platforms; unix;
+    mainProgram = "zgrviewer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/graphics/zgv/default.nix b/nixpkgs/pkgs/applications/graphics/zgv/default.nix
index a4e5e725490f..0b63f4673190 100644
--- a/nixpkgs/pkgs/applications/graphics/zgv/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/zgv/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.vrthra ];
     platforms = platforms.linux;
+    mainProgram = "zgv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/kde/angelfish.nix b/nixpkgs/pkgs/applications/kde/angelfish.nix
index 6983d3eb14a5..1bd6084a1883 100644
--- a/nixpkgs/pkgs/applications/kde/angelfish.nix
+++ b/nixpkgs/pkgs/applications/kde/angelfish.nix
@@ -24,7 +24,7 @@
 , srcs
 
 # provided as callPackage input to enable easier overrides through overlays
-, cargoSha256 ? "sha256-EXsAvI8dKgCGmLbGr9fdk/F9UwtSfd/aIyqAy5tvFSI="
+, cargoSha256 ? "sha256-PSrTo7nGgH0KxA82RlBEwtOu80WMCBeaCxHj3n7SgEE="
 }:
 
 mkDerivation rec {
diff --git a/nixpkgs/pkgs/applications/kde/fetch.sh b/nixpkgs/pkgs/applications/kde/fetch.sh
index 2d6455fad777..de4f09e09a0c 100644
--- a/nixpkgs/pkgs/applications/kde/fetch.sh
+++ b/nixpkgs/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.4/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.5/src -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/applications/kde/itinerary.nix b/nixpkgs/pkgs/applications/kde/itinerary.nix
index c08aa346cde0..7ac03f0800ff 100644
--- a/nixpkgs/pkgs/applications/kde/itinerary.nix
+++ b/nixpkgs/pkgs/applications/kde/itinerary.nix
@@ -19,6 +19,7 @@
 , kunitconversion
 , libquotient
 , networkmanager-qt
+, prison
 , qqc2-desktop-style
 , qtpositioning
 , qtquickcontrols2
@@ -53,6 +54,7 @@ mkDerivation {
     kunitconversion
     libquotient
     networkmanager-qt
+    prison
     qqc2-desktop-style
     qtpositioning
     qtquickcontrols2
diff --git a/nixpkgs/pkgs/applications/kde/srcs.nix b/nixpkgs/pkgs/applications/kde/srcs.nix
index c88723d9c909..af83cc951be8 100644
--- a/nixpkgs/pkgs/applications/kde/srcs.nix
+++ b/nixpkgs/pkgs/applications/kde/srcs.nix
@@ -4,1955 +4,1955 @@
 
 {
   akonadi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-23.08.4.tar.xz";
-      sha256 = "0dj9xn0bpcq409kfd61zh5wdhbh4yrlviwhlmxawrm1mx5r07yv3";
-      name = "akonadi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-23.08.5.tar.xz";
+      sha256 = "0f2gkifli8aslcrcqclai6kv9vrimmsj2afp378nljh8q4ldpnxb";
+      name = "akonadi-23.08.5.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-23.08.4.tar.xz";
-      sha256 = "0xayrqrragk1vp0rsghdpx482c3f23iri0rd70v86393qdhb59mq";
-      name = "akonadi-calendar-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-calendar-23.08.5.tar.xz";
+      sha256 = "1jirjckcix5ny3dqqk7qf1089kwfvzibk2jaxr437v8jji0ak3fg";
+      name = "akonadi-calendar-23.08.5.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-calendar-tools-23.08.4.tar.xz";
-      sha256 = "17s24ijhk68dw7ailk992a7xkdjl6dj5nwr06zlvdhskxx9z3xrc";
-      name = "akonadi-calendar-tools-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-calendar-tools-23.08.5.tar.xz";
+      sha256 = "1al0b11cln9axh3fhv4hlns73v7z36yq24z1v8i6ka4n81445fw3";
+      name = "akonadi-calendar-tools-23.08.5.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-contacts-23.08.4.tar.xz";
-      sha256 = "1nxm1lwk6jazfv684gb4w1y9r8xaj0y14xvsslljf018l20wqr4q";
-      name = "akonadi-contacts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-contacts-23.08.5.tar.xz";
+      sha256 = "0la2rxcngxffm7pz6xmmv3zv2qzand88194q8c3xpnxlddyb7977";
+      name = "akonadi-contacts-23.08.5.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-import-wizard-23.08.4.tar.xz";
-      sha256 = "08pk36hw9v9bs8scgxzbwlhlcyikbcliybp1p6ga2j7p8mjm6fg2";
-      name = "akonadi-import-wizard-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-import-wizard-23.08.5.tar.xz";
+      sha256 = "19jdk7bcb0cyd28lwzfm1nyzsvh9wm664c27mhfadsin0jy9dj9w";
+      name = "akonadi-import-wizard-23.08.5.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-mime-23.08.4.tar.xz";
-      sha256 = "1bzsddyr784a4dw1fqp57xp8az6dysqy7xmfygm5r5bbbdnlxdpb";
-      name = "akonadi-mime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-mime-23.08.5.tar.xz";
+      sha256 = "0cy8wl6r9arzy6zb4mmzy7nxy7j647kklrwms43q3zkkxacyah7x";
+      name = "akonadi-mime-23.08.5.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-notes-23.08.4.tar.xz";
-      sha256 = "0vlcbb783jj3zx8nsrd0r7si28463rsd2xcxb3z5m4il8xmr0smh";
-      name = "akonadi-notes-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-notes-23.08.5.tar.xz";
+      sha256 = "13l3wnmbips201xpa8wk7gj35m4fnw1aqd8js15sinc7r768wfpy";
+      name = "akonadi-notes-23.08.5.tar.xz";
     };
   };
   akonadi-search = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadi-search-23.08.4.tar.xz";
-      sha256 = "0ipwxa0xv8bwvx9ngpq2i3ivq0s97m0x2kj4n4dw4sil31x2yzq5";
-      name = "akonadi-search-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadi-search-23.08.5.tar.xz";
+      sha256 = "1d5dh5jn1a7l1w0ab0vabrcbhj3sy18g9ya9p50agvk8fh5ka8gg";
+      name = "akonadi-search-23.08.5.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akonadiconsole-23.08.4.tar.xz";
-      sha256 = "1xnvrpd7xy2cz6m8x41lki3gnvfq74gvi9vlyfpf9v85z4ri6jhv";
-      name = "akonadiconsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akonadiconsole-23.08.5.tar.xz";
+      sha256 = "171apc4vdwlg4904am5cnb3rcsv4f9bfcpk4y46ki0dvi3x4vj31";
+      name = "akonadiconsole-23.08.5.tar.xz";
     };
   };
   akregator = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/akregator-23.08.4.tar.xz";
-      sha256 = "1psgzcw84xnh7xgi1s1yxk41sndshy8j1mvvz42gasrpqdfzrpjv";
-      name = "akregator-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/akregator-23.08.5.tar.xz";
+      sha256 = "12q2d3w4jk6mzglabzx8djmsd6y5b5bfx02gnncgpm2n5a3iydsj";
+      name = "akregator-23.08.5.tar.xz";
     };
   };
   alligator = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/alligator-23.08.4.tar.xz";
-      sha256 = "0g8ps4vkrc1wdprand6y8h99zh4flhg4mcqn1552nk5p3kcyvzh1";
-      name = "alligator-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/alligator-23.08.5.tar.xz";
+      sha256 = "17h0h2gl3ybawnnlj1v1mz7izb6vj3rkan3fkdvjb1w63fm7pgaa";
+      name = "alligator-23.08.5.tar.xz";
     };
   };
   analitza = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/analitza-23.08.4.tar.xz";
-      sha256 = "0d0qaz08xaiy1whg9vgd4316fvzfhm1wnmy17b83p8ihd80p8agk";
-      name = "analitza-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/analitza-23.08.5.tar.xz";
+      sha256 = "1h06nr5fclkp6f98pdw45ibn03bv29js294czi0y7n3w729kxzs6";
+      name = "analitza-23.08.5.tar.xz";
     };
   };
   angelfish = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/angelfish-23.08.4.tar.xz";
-      sha256 = "1nggkgwkvgczpn3aq8isphzhykjihdd8a6nfrghfnsbfjmnz1y7s";
-      name = "angelfish-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/angelfish-23.08.5.tar.xz";
+      sha256 = "0rpc4kqvmxmx393vbj92303phzf72k5djgy1c6fmmbx87myj2aic";
+      name = "angelfish-23.08.5.tar.xz";
     };
   };
   arianna = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/arianna-23.08.4.tar.xz";
-      sha256 = "04rj2p1s75na1yac4swlanqh6ijsn4d4wy5vn0f0lkgbbd9pgc0z";
-      name = "arianna-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/arianna-23.08.5.tar.xz";
+      sha256 = "0rf3538940zxkgfsi34zha0k0k1895dj9sbl86kr0bsqjsjvpzgg";
+      name = "arianna-23.08.5.tar.xz";
     };
   };
   ark = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ark-23.08.4.tar.xz";
-      sha256 = "17makvdjycjxxykmxm0kw3amdwp55296zvhrqs3a4fwbg352c912";
-      name = "ark-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ark-23.08.5.tar.xz";
+      sha256 = "1sygmsbrd6ps8zjy29n7nsfilij3737x50qld49m3qnlw9jcb0b0";
+      name = "ark-23.08.5.tar.xz";
     };
   };
   artikulate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/artikulate-23.08.4.tar.xz";
-      sha256 = "1vxd0k30qviz1qp2308dp3d4627dfvl86114d9x2xlwgyf78mmfw";
-      name = "artikulate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/artikulate-23.08.5.tar.xz";
+      sha256 = "18bb67l0hklmyaxciwpfd92n4xyqlmr6qismf7kzsksjv2k9n2d7";
+      name = "artikulate-23.08.5.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/audiocd-kio-23.08.4.tar.xz";
-      sha256 = "011g4g5c5mbhdiqsc9rl8wsjvcbyxn4ikmiz0jcn7v7rjg91z7zc";
-      name = "audiocd-kio-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/audiocd-kio-23.08.5.tar.xz";
+      sha256 = "1ir383qwfcabdc0x3203x60k6vpkzcjmay5dk6vk4ra5hglvrj2m";
+      name = "audiocd-kio-23.08.5.tar.xz";
     };
   };
   audiotube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/audiotube-23.08.4.tar.xz";
-      sha256 = "1jbnwk16awsqg08xarx1gpxix0fjy1jfifhpvd6gww70p6m6d1kr";
-      name = "audiotube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/audiotube-23.08.5.tar.xz";
+      sha256 = "06bx8bsz784z19937vf723dylpfk7xah2w0p4c1vhv47mznqn991";
+      name = "audiotube-23.08.5.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/baloo-widgets-23.08.4.tar.xz";
-      sha256 = "0mqnfavcickq07kz2xiq1j1mn4prv7jhhfbl635zg4s95anz6f7y";
-      name = "baloo-widgets-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/baloo-widgets-23.08.5.tar.xz";
+      sha256 = "1m1q77qagyiv9bnnsyzwi6mh48slwdgb725k1awkisyzfiznq6a9";
+      name = "baloo-widgets-23.08.5.tar.xz";
     };
   };
   blinken = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/blinken-23.08.4.tar.xz";
-      sha256 = "0g85bzm4nx4jialscjxva6438s6q24pr4cbqs52q1c3hkh90qn26";
-      name = "blinken-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/blinken-23.08.5.tar.xz";
+      sha256 = "1im3gci81bdh3il0fyf9d2pxdkdcp1pkn9ib5z8isyy9ffclpl2a";
+      name = "blinken-23.08.5.tar.xz";
     };
   };
   bomber = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/bomber-23.08.4.tar.xz";
-      sha256 = "0zj31z3zkgv34x42378v5l7gcq5k530x2adpi476zxmx0nwmwsmk";
-      name = "bomber-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/bomber-23.08.5.tar.xz";
+      sha256 = "12mk93y3y006n6rm4p1n9xcx6wq84rnxgjc9rnvf46hg99fb37kn";
+      name = "bomber-23.08.5.tar.xz";
     };
   };
   bovo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/bovo-23.08.4.tar.xz";
-      sha256 = "1kk0vkd6vrlnrhxrkdacxvm60rqm5j0rkwm1vnssg6j90405wq22";
-      name = "bovo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/bovo-23.08.5.tar.xz";
+      sha256 = "0jqy3yjq9qjl52bcph3pycslqs7rbw40axzmznr4h4wzj36b6yfv";
+      name = "bovo-23.08.5.tar.xz";
     };
   };
   calendarsupport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/calendarsupport-23.08.4.tar.xz";
-      sha256 = "1r018kcxk90ykwvf7bw6lammx2kkzz6jnqp8fl2cfj36pfc84w3w";
-      name = "calendarsupport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/calendarsupport-23.08.5.tar.xz";
+      sha256 = "1wrydz0nn6k9f8vwcfcsd95dc9b0y5y6xycwaynmsl8rgskmryk5";
+      name = "calendarsupport-23.08.5.tar.xz";
     };
   };
   calindori = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/calindori-23.08.4.tar.xz";
-      sha256 = "1sjxjmpc69l26635wg28cmbif2z3jszanmzgpc93s39fgi47mw97";
-      name = "calindori-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/calindori-23.08.5.tar.xz";
+      sha256 = "03ls91vr495i3qxs49whl4ks7sx8frnfqw4prs9nxpx9gjysn13a";
+      name = "calindori-23.08.5.tar.xz";
     };
   };
   cantor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/cantor-23.08.4.tar.xz";
-      sha256 = "01nihsmjfmiipzh7371a7msb3gc0fiw6wh4a2g800c380nvd4ix9";
-      name = "cantor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/cantor-23.08.5.tar.xz";
+      sha256 = "07fq3zfcd3hxgi1pa6ma7gw852ry4x9fzj1yy7a2bk2lz2b0p5mz";
+      name = "cantor-23.08.5.tar.xz";
     };
   };
   cervisia = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/cervisia-23.08.4.tar.xz";
-      sha256 = "1mlydja8652rk9jg2gz3xzsj09kmgwb6miq9fyifv8p024ml9gj1";
-      name = "cervisia-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/cervisia-23.08.5.tar.xz";
+      sha256 = "07vzn6g87m737nbxb8qqsds3bc5spkn9z060jjwyzdpjj3sld2b0";
+      name = "cervisia-23.08.5.tar.xz";
     };
   };
   colord-kde = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/colord-kde-23.08.4.tar.xz";
-      sha256 = "1a3lx7ahjcl05jkbril7lx6x12qfmh7w7kxm2gplfhfnii9hvmxv";
-      name = "colord-kde-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/colord-kde-23.08.5.tar.xz";
+      sha256 = "1f80dqax0wk4g94140qd0lij2vf9083kbsdl7hkc19ric6y2fss6";
+      name = "colord-kde-23.08.5.tar.xz";
     };
   };
   dolphin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-23.08.4.tar.xz";
-      sha256 = "11c5i2bm33cm84kww4p5jmi64pmfxafjrzri06vl8cwg05w0nqva";
-      name = "dolphin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dolphin-23.08.5.tar.xz";
+      sha256 = "1wziw71xyjz2457hb5l8f9sg5l4f340z341pd87qkzkdavdan2b3";
+      name = "dolphin-23.08.5.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dolphin-plugins-23.08.4.tar.xz";
-      sha256 = "1m1kmdgx6isyff4i9nj6mv16lsg08rzivd0p42avj1pm17giyhcw";
-      name = "dolphin-plugins-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dolphin-plugins-23.08.5.tar.xz";
+      sha256 = "0pf0ddg8dz8l959yd6sig54411gylp8il1wjpfr7ihcd8zm8wi1g";
+      name = "dolphin-plugins-23.08.5.tar.xz";
     };
   };
   dragon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/dragon-23.08.4.tar.xz";
-      sha256 = "1h5c29fkarqcbbhirj9q88v5spsp1l4hkjs0akp21j212b309dd5";
-      name = "dragon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/dragon-23.08.5.tar.xz";
+      sha256 = "0w8ml7087z4vikp92mh6cm2mzxp4zjk0cr8mxzvap745vbxj21j1";
+      name = "dragon-23.08.5.tar.xz";
     };
   };
   elisa = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/elisa-23.08.4.tar.xz";
-      sha256 = "0hsikp4ya26gq0v1f259mbwahl5rv1lfjj3cwh579rwabk8vpj5a";
-      name = "elisa-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/elisa-23.08.5.tar.xz";
+      sha256 = "1hml0bmp1cfqc9x9q2a1lz2f6ab7ygblf6xz0qlwjxripvqw8b47";
+      name = "elisa-23.08.5.tar.xz";
     };
   };
   eventviews = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/eventviews-23.08.4.tar.xz";
-      sha256 = "0zl527fzz9brhk0gqvgfnzmqhqc3phxg97nafadvasrj8fz8nv9h";
-      name = "eventviews-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/eventviews-23.08.5.tar.xz";
+      sha256 = "06qwmzxayfxsyzmg90j1xycvfs6ynyggvk0xkrf7gfp682ckba99";
+      name = "eventviews-23.08.5.tar.xz";
     };
   };
   falkon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/falkon-23.08.4.tar.xz";
-      sha256 = "0qvd53klxfmfm4b3apwvywwzi1k9qv6c2wyljz0cziycd2vq917h";
-      name = "falkon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/falkon-23.08.5.tar.xz";
+      sha256 = "0xxhhdqlxfs97qphfpkb8gfmsi1gk3cbpd2y4rj0zrd668a5y2l0";
+      name = "falkon-23.08.5.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ffmpegthumbs-23.08.4.tar.xz";
-      sha256 = "0jv8fy68fwikn3vlf4hxvnyqv1a1hs18zdj2ds112ymlmw846bsh";
-      name = "ffmpegthumbs-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ffmpegthumbs-23.08.5.tar.xz";
+      sha256 = "1pz5bc52z5lkydl1w9c6bhvbdjn07p3r4qgx36xl3wfc5zi3rn6s";
+      name = "ffmpegthumbs-23.08.5.tar.xz";
     };
   };
   filelight = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/filelight-23.08.4.tar.xz";
-      sha256 = "1irn8kbbka1p9dzh9yl87fc7gz9486bq3wxbiw4gh11pkrm246dg";
-      name = "filelight-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/filelight-23.08.5.tar.xz";
+      sha256 = "08kmy39r6l6akkkl00snjvw5zf5115gc5czf1m5xr189zjp4vz5p";
+      name = "filelight-23.08.5.tar.xz";
     };
   };
   ghostwriter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ghostwriter-23.08.4.tar.xz";
-      sha256 = "0w8cjrvsibhp7q4b2wqhi5pmbvir6p1z283k3pq6qhl72fg9cpd8";
-      name = "ghostwriter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ghostwriter-23.08.5.tar.xz";
+      sha256 = "1nfhnjf627p3qgfamy1nb09dvqavv0qh5cs6czpy4ghz8i4mddx0";
+      name = "ghostwriter-23.08.5.tar.xz";
     };
   };
   granatier = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/granatier-23.08.4.tar.xz";
-      sha256 = "1n6x7nlrxdlj54rwbdv440sf6g5a56mnhlsf5x54z97il3jrvxxm";
-      name = "granatier-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/granatier-23.08.5.tar.xz";
+      sha256 = "1vi9cws499g9962k4hyjzl13sbsrga0qyjqdp9i0v5pr3mi4l1zh";
+      name = "granatier-23.08.5.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/grantlee-editor-23.08.4.tar.xz";
-      sha256 = "0aczzf4bgg9gsh83nzifia2vrmk5xr3y0nxsw0dk061s1g1d04yc";
-      name = "grantlee-editor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/grantlee-editor-23.08.5.tar.xz";
+      sha256 = "130a57bmg6ydcj0jn21i39ilf61prsisz2f2lw9gcq5g1s2xbk9j";
+      name = "grantlee-editor-23.08.5.tar.xz";
     };
   };
   grantleetheme = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/grantleetheme-23.08.4.tar.xz";
-      sha256 = "0bf3llh7y9n7wlgmpb9ydpm4grfhcwgf7nsjz0c84mkgv1a9876q";
-      name = "grantleetheme-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/grantleetheme-23.08.5.tar.xz";
+      sha256 = "1xa2y8zxn6s9hvs6nsf2bzkifg1xcdk9mz7r2pj2h3gvl2rq2qv8";
+      name = "grantleetheme-23.08.5.tar.xz";
     };
   };
   gwenview = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/gwenview-23.08.4.tar.xz";
-      sha256 = "01ddradjrcamkpjzskyiwm53i1iisk9y5v2vjffhgmvldjkrnm28";
-      name = "gwenview-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/gwenview-23.08.5.tar.xz";
+      sha256 = "0f4h2vf8nkz1jcrxw98n52divvdmxh434659m1pd4l5pag0d3z54";
+      name = "gwenview-23.08.5.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/incidenceeditor-23.08.4.tar.xz";
-      sha256 = "0d8y9fvmr1mbi6virz9vsiaz4vhy5v74ngilmy3s488s99mhbm4f";
-      name = "incidenceeditor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/incidenceeditor-23.08.5.tar.xz";
+      sha256 = "153kh0syw4v67sfjfhq45s34mlsz6lz96mvmfrl9lm9dn5bwyq6z";
+      name = "incidenceeditor-23.08.5.tar.xz";
     };
   };
   itinerary = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/itinerary-23.08.4.tar.xz";
-      sha256 = "0jdb2m35r20bc8w2iq5xdjzfmdvaw0di4sp6wxl8vhcj0py1ryhw";
-      name = "itinerary-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/itinerary-23.08.5.tar.xz";
+      sha256 = "19r7k64a4dalarxm7j2jf2p86cnxqxah0iqj68ibazhl1sdqrqs2";
+      name = "itinerary-23.08.5.tar.xz";
     };
   };
   juk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/juk-23.08.4.tar.xz";
-      sha256 = "1ar9418j11sy213nis0i0l4nabqcrbxck7rzkn961cvaflw22par";
-      name = "juk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/juk-23.08.5.tar.xz";
+      sha256 = "0wddl5sp2sbi8c8vxrqikipv2d6b65w28nxzsinz703cliyjcx67";
+      name = "juk-23.08.5.tar.xz";
     };
   };
   k3b = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/k3b-23.08.4.tar.xz";
-      sha256 = "096bv6jphlq3ch32q30d6h9qg5q8iphhkdpgb4hgmgz8pp2qgsrh";
-      name = "k3b-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/k3b-23.08.5.tar.xz";
+      sha256 = "16ihb7xnzjbcywfki6vx932m3wi691n70ribzl85fl688n5m32f7";
+      name = "k3b-23.08.5.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-integration-23.08.4.tar.xz";
-      sha256 = "0ln9f46kbhy7xpbvbbiv3i0kav0w5siqdbhj3s951a6c0mj1dv3v";
-      name = "kaccounts-integration-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaccounts-integration-23.08.5.tar.xz";
+      sha256 = "1f99s7hiix1ccp8zz2z6vb1xf13ffpaan6sqqz4xz1y3jmaf4bn0";
+      name = "kaccounts-integration-23.08.5.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaccounts-providers-23.08.4.tar.xz";
-      sha256 = "11cg52vh6bapim4g2s1h7ds59kffrsidq5xg0w3cn9aqhh8hpi89";
-      name = "kaccounts-providers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaccounts-providers-23.08.5.tar.xz";
+      sha256 = "1ig5k4aalqcq6jjj0y6kg914zj2a0bc3pvws6kjhcyc1kq1q0g88";
+      name = "kaccounts-providers-23.08.5.tar.xz";
     };
   };
   kaddressbook = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kaddressbook-23.08.4.tar.xz";
-      sha256 = "11j2a10xc0hmdmsqc6zqv2bjqj5msf3lqk5qq3dkkcgnwipr4v0d";
-      name = "kaddressbook-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kaddressbook-23.08.5.tar.xz";
+      sha256 = "08lbkbscqaa5ir7knby457zi0ig79280rcan1fak7gapvpipwhd8";
+      name = "kaddressbook-23.08.5.tar.xz";
     };
   };
   kajongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kajongg-23.08.4.tar.xz";
-      sha256 = "0nlhh99nsndjd3gzc95dfmn1gzxnq8gg2l9m1mm90hnp4d655jbm";
-      name = "kajongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kajongg-23.08.5.tar.xz";
+      sha256 = "05ji28lld3y80smj6krwrv5hb74j4wchv65b2q046snk5i5hlf0p";
+      name = "kajongg-23.08.5.tar.xz";
     };
   };
   kalarm = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalarm-23.08.4.tar.xz";
-      sha256 = "0vhjx29i5ikk427md3i8kcf9s6q150hi01gsb64y5lx8jk2hpci1";
-      name = "kalarm-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalarm-23.08.5.tar.xz";
+      sha256 = "1g85pm0l5wjd1hp10klsz8prnic9g7jcbp56a1wkf0f25pzg1pq9";
+      name = "kalarm-23.08.5.tar.xz";
     };
   };
   kalgebra = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalgebra-23.08.4.tar.xz";
-      sha256 = "04wx0ai2xsq8br7hpvm2hcdf5fg0c982bshqsrbxvj1dhrb4mmwd";
-      name = "kalgebra-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalgebra-23.08.5.tar.xz";
+      sha256 = "0fjkx5m34qwgad9amjbgql4awbl8irqhfyrfrxjpwp773lhifbq4";
+      name = "kalgebra-23.08.5.tar.xz";
     };
   };
   kalk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalk-23.08.4.tar.xz";
-      sha256 = "1ngckrp6lsgb6cnp2d6fca0ywqddwacmr9ac4w6zfzyfjpiyxmic";
-      name = "kalk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalk-23.08.5.tar.xz";
+      sha256 = "1q4p6f4xrd73iqw1dqk2z65sly123dh9gwvi07i71dk49r9ykrfr";
+      name = "kalk-23.08.5.tar.xz";
     };
   };
   kalzium = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kalzium-23.08.4.tar.xz";
-      sha256 = "0gkvschn9la909907xa52hkp55rnbjm3rhrb6gjj07xxf1qrq358";
-      name = "kalzium-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kalzium-23.08.5.tar.xz";
+      sha256 = "1134q2z6vx8p244grk8szxnlw942ry50a72j2qfyf96ksrs5bz4v";
+      name = "kalzium-23.08.5.tar.xz";
     };
   };
   kamera = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kamera-23.08.4.tar.xz";
-      sha256 = "148pa22gmcb87hp9mxwchc32zjrc7j0n60np5g46h4czjmcppsca";
-      name = "kamera-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kamera-23.08.5.tar.xz";
+      sha256 = "1chddpy4larjavd2c2blzxk23kay7hbpsm06fxfa052344qqd5j6";
+      name = "kamera-23.08.5.tar.xz";
     };
   };
   kamoso = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kamoso-23.08.4.tar.xz";
-      sha256 = "0ravp92i6q5cn4n6w89991yckjgjp6asm4bsnhnl434gv3q8dj6f";
-      name = "kamoso-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kamoso-23.08.5.tar.xz";
+      sha256 = "00cdy2yyaw3p6vv0hg4zgc70yyggy6v6yzp97m8c21i9v8w4bk44";
+      name = "kamoso-23.08.5.tar.xz";
     };
   };
   kanagram = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kanagram-23.08.4.tar.xz";
-      sha256 = "0whnpy0yib7gdy8fj9gk21vs7q3lgr0il6ghzzykjq8s65xav4mm";
-      name = "kanagram-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kanagram-23.08.5.tar.xz";
+      sha256 = "0163sja60kysny0zbq76q438hxfmv2a9hxrbzhqsniy38w5zr44j";
+      name = "kanagram-23.08.5.tar.xz";
     };
   };
   kapman = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kapman-23.08.4.tar.xz";
-      sha256 = "0cyp29nw0cgri2yw0rsc7y5bg37df331s8m1xajsaq2i2f15yk0y";
-      name = "kapman-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kapman-23.08.5.tar.xz";
+      sha256 = "1rx1rrka76r4y5d71kxin8zb8b4xgfndf8g5875ygfij0l05yxg3";
+      name = "kapman-23.08.5.tar.xz";
     };
   };
   kapptemplate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kapptemplate-23.08.4.tar.xz";
-      sha256 = "1g7r8fj2jyisk1f1fv7q9bfmmhz08xmbs9wx3xk67ijkmzbpszyx";
-      name = "kapptemplate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kapptemplate-23.08.5.tar.xz";
+      sha256 = "0lan9219l29vdg974cpnchndwsl9g59w13kdkz8hmcb1fycxcy4v";
+      name = "kapptemplate-23.08.5.tar.xz";
     };
   };
   kasts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kasts-23.08.4.tar.xz";
-      sha256 = "18vj02zdzi01r004jv8hpkmgjm0m74kypdsk8xcvw54vqzb5krmi";
-      name = "kasts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kasts-23.08.5.tar.xz";
+      sha256 = "1n5n2rlfsp4fn34xsmcsvmacgy3h88md5aynsxaw8hf8mhl7hrwh";
+      name = "kasts-23.08.5.tar.xz";
     };
   };
   kate = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kate-23.08.4.tar.xz";
-      sha256 = "18pvnfzd09ffxrz5g0whd7m342x14zpm0xmic4n7zxh5namaqzr9";
-      name = "kate-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kate-23.08.5.tar.xz";
+      sha256 = "0dsfiwd0v0chmcc0v2s193fdyals4ijpnq0bcssd9axjqkcljg38";
+      name = "kate-23.08.5.tar.xz";
     };
   };
   katomic = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/katomic-23.08.4.tar.xz";
-      sha256 = "1vksy7qpc12r1y6ss42lqbxqigzbvlvlkggcs2jx399bafs6kf0l";
-      name = "katomic-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/katomic-23.08.5.tar.xz";
+      sha256 = "0hmc873kydzgrz0shz53qaii5bqm4rwh2c12w1d9xrml38yxpchd";
+      name = "katomic-23.08.5.tar.xz";
     };
   };
   kbackup = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbackup-23.08.4.tar.xz";
-      sha256 = "12sdg1c3bzyd25vf7z4d9a4z13hjhv7hhdzy9nq2w6v4qmkp28z9";
-      name = "kbackup-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbackup-23.08.5.tar.xz";
+      sha256 = "0pxyqvn2m9q6qh77156vx7spjj53a4shn3sqqyvlqv7acxd4sv51";
+      name = "kbackup-23.08.5.tar.xz";
     };
   };
   kblackbox = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kblackbox-23.08.4.tar.xz";
-      sha256 = "0c7bzkib99xx3gqah4j463rdvl39aq7nxh4wda0glik28s9w21kg";
-      name = "kblackbox-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kblackbox-23.08.5.tar.xz";
+      sha256 = "0n918g1146fpi2h86sphaxjqpad3ff9mawkh8wzr9jqb91bjw200";
+      name = "kblackbox-23.08.5.tar.xz";
     };
   };
   kblocks = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kblocks-23.08.4.tar.xz";
-      sha256 = "0slpkdkwcffq71l4r5vsd0fh73y90zwxfyp0lm69n99p9ni8gjzq";
-      name = "kblocks-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kblocks-23.08.5.tar.xz";
+      sha256 = "09xadysjcxpkab805a4hdg9qsp9wv1jkbrmmy4dmbghv7rl9fjcg";
+      name = "kblocks-23.08.5.tar.xz";
     };
   };
   kbounce = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbounce-23.08.4.tar.xz";
-      sha256 = "0lp4cgjrm80355w4xa15ji91z5dsd55m43fhg8zw5yn6kp2hi2mg";
-      name = "kbounce-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbounce-23.08.5.tar.xz";
+      sha256 = "1yxcy10bkz3wj48dys9ag4nm2r7acn7syfj76ss508mdysxw00gi";
+      name = "kbounce-23.08.5.tar.xz";
     };
   };
   kbreakout = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbreakout-23.08.4.tar.xz";
-      sha256 = "0czgfk93xhy9yhc84x2rdbf54dgyqjlhm71vfi5cs8858nacbwk5";
-      name = "kbreakout-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbreakout-23.08.5.tar.xz";
+      sha256 = "0j5gcqvbpr9973bkzxsl0pcic4rbc3x5f9ry20cqb3z311mkhbyh";
+      name = "kbreakout-23.08.5.tar.xz";
     };
   };
   kbruch = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kbruch-23.08.4.tar.xz";
-      sha256 = "1rnk6k1rs0nf8470mykas7srwyfpkw71sckgwz1mw9vd4v4mkb2w";
-      name = "kbruch-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kbruch-23.08.5.tar.xz";
+      sha256 = "10hiw23kpil059vsscpz0xssxj5x7036jvm84icgzj9vhbklfzfv";
+      name = "kbruch-23.08.5.tar.xz";
     };
   };
   kcachegrind = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcachegrind-23.08.4.tar.xz";
-      sha256 = "011bsb9yxrjmazqs1s6fvzvga4mlhjpdvkifbxblqavwp3ipmwbw";
-      name = "kcachegrind-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcachegrind-23.08.5.tar.xz";
+      sha256 = "1dmpvg1h6zfwg25zl4rkkf43n7q5lyawyf1pa2q9s15hmnvqfrh5";
+      name = "kcachegrind-23.08.5.tar.xz";
     };
   };
   kcalc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcalc-23.08.4.tar.xz";
-      sha256 = "107q804sn2pvvw0l2wjqwaqiyqnn0cgfxxi5i4nbjvbcm28iwjbr";
-      name = "kcalc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcalc-23.08.5.tar.xz";
+      sha256 = "0zj32xipmzq7bipdi5yj2wkig5sfgdhl0b7z9q5lhnzji5rxcig5";
+      name = "kcalc-23.08.5.tar.xz";
     };
   };
   kcalutils = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcalutils-23.08.4.tar.xz";
-      sha256 = "17an9cnlcwgi1yqgy7qzw83y4a7jwkzlf0gd976hk90i6yz4krd4";
-      name = "kcalutils-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcalutils-23.08.5.tar.xz";
+      sha256 = "0gbahhzx14zd0rkwkpxxfhvs6dd9m3ajzajwrqyy6kd9zbfwgdlx";
+      name = "kcalutils-23.08.5.tar.xz";
     };
   };
   kcharselect = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcharselect-23.08.4.tar.xz";
-      sha256 = "15cdm98cx74smkfdwwg5y1pi8wwaavp2088x5r99p8vhdccr782k";
-      name = "kcharselect-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcharselect-23.08.5.tar.xz";
+      sha256 = "11k3x06r9p7jgjl2rpkm10gkqkjj0ysrb7116482d20i09n348mz";
+      name = "kcharselect-23.08.5.tar.xz";
     };
   };
   kclock = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kclock-23.08.4.tar.xz";
-      sha256 = "0ifd04hsjr2rsn7vb94p3yvf5znqij3i6w30w2nvykyrds0yrnsl";
-      name = "kclock-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kclock-23.08.5.tar.xz";
+      sha256 = "1cdqpcngg096vig7q04n0p9blrrxynphmkhq9y13vaywjvq744yx";
+      name = "kclock-23.08.5.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcolorchooser-23.08.4.tar.xz";
-      sha256 = "135289j58pw2gh0vf3sjq4fz38jw9l4n4h7dqn7jm5ibc36f3iqg";
-      name = "kcolorchooser-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcolorchooser-23.08.5.tar.xz";
+      sha256 = "08dvjaczf88kv8ii754v30b6r1p8cm0l4r81jds7ffs23wcphan6";
+      name = "kcolorchooser-23.08.5.tar.xz";
     };
   };
   kcron = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kcron-23.08.4.tar.xz";
-      sha256 = "06w518p82sclwychrzk9y0xmx1ir87yf9irqvvqq62bm479dq92k";
-      name = "kcron-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kcron-23.08.5.tar.xz";
+      sha256 = "0hnwkn2pvmmx9cqfchbwiw1pka893izs9pw7ina2am7x6x0y7s82";
+      name = "kcron-23.08.5.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-scripts-23.08.4.tar.xz";
-      sha256 = "056xymrzb6x7ixj75dcplhr198b0mw78kdfygf9ry0h8ma84gdmb";
-      name = "kde-dev-scripts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-dev-scripts-23.08.5.tar.xz";
+      sha256 = "1wn1g8sgxw2hhc4w2xs0fh45yr6vbfizx5npxsr7qqnl9d2q5c8c";
+      name = "kde-dev-scripts-23.08.5.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-dev-utils-23.08.4.tar.xz";
-      sha256 = "06fzj033lm3jmidkkpywdl2sqymarvy97mhlb5kslsl7g9vkkili";
-      name = "kde-dev-utils-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-dev-utils-23.08.5.tar.xz";
+      sha256 = "10zfdznf0n57q18q9nqn3ckgx200m10laylyl20qv65kh4zzbp96";
+      name = "kde-dev-utils-23.08.5.tar.xz";
     };
   };
   kde-inotify-survey = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kde-inotify-survey-23.08.4.tar.xz";
-      sha256 = "0ym04p4647y9amjypqv24mvgf6n0xmjm3zix8v0ywzmlxyd2fkjw";
-      name = "kde-inotify-survey-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kde-inotify-survey-23.08.5.tar.xz";
+      sha256 = "0qwcwzx25hvvais13bq2mdvhk0lsj8k8mw34h075rkhrbgir5j1q";
+      name = "kde-inotify-survey-23.08.5.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdebugsettings-23.08.4.tar.xz";
-      sha256 = "1nhi0cq195bmg6hj4x4c59crjnpfkwsazz5wf52gdh2dmn4dxsk0";
-      name = "kdebugsettings-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdebugsettings-23.08.5.tar.xz";
+      sha256 = "042bw5jmdg9ahwxv24yg8yzcd7fr2xdnph4r83z4jiz7z8f01ccq";
+      name = "kdebugsettings-23.08.5.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdeconnect-kde-23.08.4.tar.xz";
-      sha256 = "0wgqg3di4s8n43q6znr7lzphidi3mnghac4rjgjx08fs65da9m8b";
-      name = "kdeconnect-kde-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdeconnect-kde-23.08.5.tar.xz";
+      sha256 = "0r0d604nki60g0x06131hsn0fqdy59xi9iq9vlnvmf94z1kcshjb";
+      name = "kdeconnect-kde-23.08.5.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdeedu-data-23.08.4.tar.xz";
-      sha256 = "002b6yvq0f2anr6avpawg8byx78mds0pw550ga5x0dikyp0xwzaj";
-      name = "kdeedu-data-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdeedu-data-23.08.5.tar.xz";
+      sha256 = "0d139xqm3iv5h7ns57wgxxm3rynvb80f991aa1dsc768170nbnli";
+      name = "kdeedu-data-23.08.5.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-mobipocket-23.08.4.tar.xz";
-      sha256 = "1rqx2y9xfqn32xv4vb7j2pp6i0nc9a64llmbp6jzvazbv7yzlw7q";
-      name = "kdegraphics-mobipocket-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdegraphics-mobipocket-23.08.5.tar.xz";
+      sha256 = "1z53132pll7w0z2p4iifcny19ahgvqnk0bm0pdgi815hqwdsjkvi";
+      name = "kdegraphics-mobipocket-23.08.5.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdegraphics-thumbnailers-23.08.4.tar.xz";
-      sha256 = "0i8h3whf4hh8ff0rivbkkr8v58y1jzwh4jpwb47vb1d0hlskzvw6";
-      name = "kdegraphics-thumbnailers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdegraphics-thumbnailers-23.08.5.tar.xz";
+      sha256 = "0c3gk3badbparz327a1d2i78qwg335i2k36y4sh9s1zs74008nmh";
+      name = "kdegraphics-thumbnailers-23.08.5.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdenetwork-filesharing-23.08.4.tar.xz";
-      sha256 = "1v2zvn228jc3s6rf362zbbrxilxqkjvvnjw1y5yhdnk9c3l5nglj";
-      name = "kdenetwork-filesharing-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdenetwork-filesharing-23.08.5.tar.xz";
+      sha256 = "1pkq11dn0gf841am57bg0i3m8dzx8bkbh2n3fp9452qbg0i6319z";
+      name = "kdenetwork-filesharing-23.08.5.tar.xz";
     };
   };
   kdenlive = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdenlive-23.08.4.tar.xz";
-      sha256 = "04yk092z6hwblfn8y61ny72pxb7czd20lw2jmvrs05lf1l4i3ik5";
-      name = "kdenlive-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdenlive-23.08.5.tar.xz";
+      sha256 = "1nw338bfak806p77329z1wk401ql190l2lw4z4iw6mx2wrc69scs";
+      name = "kdenlive-23.08.5.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-addons-23.08.4.tar.xz";
-      sha256 = "1qxbz97gpn6gwqq40bxx6w75bd0slaah0wvf8mrir3x1b1h5kvrv";
-      name = "kdepim-addons-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdepim-addons-23.08.5.tar.xz";
+      sha256 = "1c24vlvqvfk0rfbq7z9mvjywjmf52h8xdziha8drgzk64spyklsq";
+      name = "kdepim-addons-23.08.5.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdepim-runtime-23.08.4.tar.xz";
-      sha256 = "188xgj7g5i76h6d6n8zw3qn965rm64aa8wiza92bq2hxihgj3hn2";
-      name = "kdepim-runtime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdepim-runtime-23.08.5.tar.xz";
+      sha256 = "1xvpqlx1n3hcigdd19q3g1l86wvz1bdr0d9szilc2yqn5zb0f6zy";
+      name = "kdepim-runtime-23.08.5.tar.xz";
     };
   };
   kdesdk-kio = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-kio-23.08.4.tar.xz";
-      sha256 = "1vz44a7261a538qhpn7ria56wa3zabbxgb33dqpzxapmsgnm0q01";
-      name = "kdesdk-kio-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdesdk-kio-23.08.5.tar.xz";
+      sha256 = "0dfgzm8q4raycjwc38g651gkz3m4jfl0hhc3ppvnpq71wapdjdvy";
+      name = "kdesdk-kio-23.08.5.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdesdk-thumbnailers-23.08.4.tar.xz";
-      sha256 = "0ibbfy5l1d5iv8m6sjwbw2f9s0kvzrvbi6k2j3gcf2a41y5hay3a";
-      name = "kdesdk-thumbnailers-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdesdk-thumbnailers-23.08.5.tar.xz";
+      sha256 = "1yz44jf3sm7ja2ifqqjdiipjz4g77dj9ywkzjrcbh0qby56497i5";
+      name = "kdesdk-thumbnailers-23.08.5.tar.xz";
     };
   };
   kdev-php = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdev-php-23.08.4.tar.xz";
-      sha256 = "1l0g6jx3iz6k8vmjziazm4h21myi3qb80nflaydddcrd6bzrgh10";
-      name = "kdev-php-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdev-php-23.08.5.tar.xz";
+      sha256 = "0xrfgrs14mq7dkw4k90srkxxhrwq0r321s006qfpjyd4za7jjqr6";
+      name = "kdev-php-23.08.5.tar.xz";
     };
   };
   kdev-python = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdev-python-23.08.4.tar.xz";
-      sha256 = "14xj96yv24qdsyz9cdiy1b14wp8w72iayyvqyp0w050p4i6cjvm3";
-      name = "kdev-python-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdev-python-23.08.5.tar.xz";
+      sha256 = "02knvrppybs76xmsyyz1q21lacdkxna14ws6mfcmb1rhpghlkgvs";
+      name = "kdev-python-23.08.5.tar.xz";
     };
   };
   kdevelop = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdevelop-23.08.4.tar.xz";
-      sha256 = "1w3s6ncrbldsfm0ca6cryxf0d53d87k4iifcahq12acgrqmjpl4i";
-      name = "kdevelop-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdevelop-23.08.5.tar.xz";
+      sha256 = "1y71rvz19akdzsq7ky6w5aarj65lpbwa47nyyabi0vicyy3z4d6n";
+      name = "kdevelop-23.08.5.tar.xz";
     };
   };
   kdf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdf-23.08.4.tar.xz";
-      sha256 = "038ckjiikiy23gihxnznxlaf8wmni83hi9q2i4dms4956776rlfi";
-      name = "kdf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdf-23.08.5.tar.xz";
+      sha256 = "0zqpxam34s22wv08cd4x49raswyqpvx0pcbszhgng8bb162bi3ma";
+      name = "kdf-23.08.5.tar.xz";
     };
   };
   kdialog = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdialog-23.08.4.tar.xz";
-      sha256 = "0y6dchl3nv183hlkmwkmj654mhm3dvad3mkq8d2622jl73w9byld";
-      name = "kdialog-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdialog-23.08.5.tar.xz";
+      sha256 = "1p56dmndvaqbm9mw6hki5k4jr4p5w9sg26wvr13s7jcnyca21hqj";
+      name = "kdialog-23.08.5.tar.xz";
     };
   };
   kdiamond = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kdiamond-23.08.4.tar.xz";
-      sha256 = "02ws8wr7adwcm3rl70zchl3kgc5jgr6j5wz07hswdwwl2nl2pd69";
-      name = "kdiamond-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kdiamond-23.08.5.tar.xz";
+      sha256 = "19kjg5r0260rim4gl5d1bi547p4mm2ac56pn6w423my8cjzdrgri";
+      name = "kdiamond-23.08.5.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/keditbookmarks-23.08.4.tar.xz";
-      sha256 = "14xzjlyaqvg6qkjmw4d6540f5xawkd7sjxrvfa5bas623c1888ks";
-      name = "keditbookmarks-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/keditbookmarks-23.08.5.tar.xz";
+      sha256 = "1h8al2kryvfm7a45axxg0n72nr5myampbqyjgfqm1ibzkfgf4skd";
+      name = "keditbookmarks-23.08.5.tar.xz";
     };
   };
   keysmith = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/keysmith-23.08.4.tar.xz";
-      sha256 = "11fm64h7pzsm63hw3cji033m9xk2hcnc0d74rzyvpn1ql3whn43n";
-      name = "keysmith-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/keysmith-23.08.5.tar.xz";
+      sha256 = "0nix18xvy3kdz1kw9a7annl8yy43f1x9a50him85dbkk9bn7731g";
+      name = "keysmith-23.08.5.tar.xz";
     };
   };
   kfind = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kfind-23.08.4.tar.xz";
-      sha256 = "1psf1lwbnpnqp8snm4880awnxapv27b42nax6b8nxzf7mb5lqlkh";
-      name = "kfind-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kfind-23.08.5.tar.xz";
+      sha256 = "1j1fihfhdg1x5glayfz57xz2k9j54lyrnkj3i9x8pzvrkznfj55s";
+      name = "kfind-23.08.5.tar.xz";
     };
   };
   kfourinline = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kfourinline-23.08.4.tar.xz";
-      sha256 = "0g5hml3jzz7p1jacxqqb2llvhv5p2g4j9wdvrplxf8cycwwd941n";
-      name = "kfourinline-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kfourinline-23.08.5.tar.xz";
+      sha256 = "1fnprcpm6jpdl0kzwjq2jq36swv3z3vvmxcnz5mzjl5gnh51223d";
+      name = "kfourinline-23.08.5.tar.xz";
     };
   };
   kgeography = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgeography-23.08.4.tar.xz";
-      sha256 = "06nvqn9mrpk1i14xwh9qv6g22hs2s64ip7lxjms4j3js304606wg";
-      name = "kgeography-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgeography-23.08.5.tar.xz";
+      sha256 = "1wcy2fxrj73sa283n0xbj6zyrbgmhkxw4dn01w7kqix2afwa1wdm";
+      name = "kgeography-23.08.5.tar.xz";
     };
   };
   kget = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kget-23.08.4.tar.xz";
-      sha256 = "0gmkizhgi2fwvvkycpcvj46ws3w5hgsz5ajy58857y1nam23293r";
-      name = "kget-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kget-23.08.5.tar.xz";
+      sha256 = "13pkvcp8sfl23l34lwnrgl80d8wcg7k5rvvzvzyafvkjy1xjpaif";
+      name = "kget-23.08.5.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgoldrunner-23.08.4.tar.xz";
-      sha256 = "02nslz7fz4d6d8gg4qb2flsciirqq0yxfgc0rp8r677gv2nfarmk";
-      name = "kgoldrunner-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgoldrunner-23.08.5.tar.xz";
+      sha256 = "032v02z825d363yhbbyb6blaff7zwrg41k2jlzhhqldcnd814qpc";
+      name = "kgoldrunner-23.08.5.tar.xz";
     };
   };
   kgpg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kgpg-23.08.4.tar.xz";
-      sha256 = "12x2vyn63agqryjzk9dm9jdgxiaw685nv86ysbmmnf621qcvl13m";
-      name = "kgpg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kgpg-23.08.5.tar.xz";
+      sha256 = "14l51g4m9vfwzmja3qknb6jdx43sqhgrdy5xnng401gfjhir2b1q";
+      name = "kgpg-23.08.5.tar.xz";
     };
   };
   khangman = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/khangman-23.08.4.tar.xz";
-      sha256 = "1jj2ahaw9i5xv8jkqd8s9vrxnaz5aamq86ryq43jssrppm11r88x";
-      name = "khangman-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/khangman-23.08.5.tar.xz";
+      sha256 = "1xjnrlgwpccgjf0cawy7vh554l6jpnp4b2x3lp6s226s39y021s3";
+      name = "khangman-23.08.5.tar.xz";
     };
   };
   khelpcenter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/khelpcenter-23.08.4.tar.xz";
-      sha256 = "0j7dlnc5yn0bjvcc5811chy74rdkj1431lrl1czmyb1xl66bp52i";
-      name = "khelpcenter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/khelpcenter-23.08.5.tar.xz";
+      sha256 = "1mvzflhiqgpvgk7a1av9hf6x2halxb32ppcy7f34q3m8apxnj3sc";
+      name = "khelpcenter-23.08.5.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kidentitymanagement-23.08.4.tar.xz";
-      sha256 = "16z86wi9n7l4ly4l3l0yzirqyrsqz1fngmad0cjcfhjkd29ncwwj";
-      name = "kidentitymanagement-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kidentitymanagement-23.08.5.tar.xz";
+      sha256 = "00bjswh55aciphzifmakw118v1pknk4bsfbpi8cjsjx24vpzgmxw";
+      name = "kidentitymanagement-23.08.5.tar.xz";
     };
   };
   kig = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kig-23.08.4.tar.xz";
-      sha256 = "1bykhflf9xr408c9z7g76q5kczi4ara7wbv4hy6abwmn4qsaw52k";
-      name = "kig-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kig-23.08.5.tar.xz";
+      sha256 = "0pkh5l5nn70ag5fcld30n43i6mwfk9wxdq1bpm741pa0ji6vsq5g";
+      name = "kig-23.08.5.tar.xz";
     };
   };
   kigo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kigo-23.08.4.tar.xz";
-      sha256 = "1clb12pjlsqb2l4n7zp292gv7nd8bh543x75cz41d2l6zv59jlnd";
-      name = "kigo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kigo-23.08.5.tar.xz";
+      sha256 = "1x4anmxcgd7jb39cmfc1klg1vqmp9lxpbwlab1m60542r5s7rh0a";
+      name = "kigo-23.08.5.tar.xz";
     };
   };
   killbots = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/killbots-23.08.4.tar.xz";
-      sha256 = "1crcv5pr2avadrzv4vh9gls0gwflqvz8w2cjan7hb2xfnszphhp4";
-      name = "killbots-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/killbots-23.08.5.tar.xz";
+      sha256 = "0j1m8f3zmskk7m47i9vqfvrf3c7fd6bi23pwhlhraabixpd9wv9i";
+      name = "killbots-23.08.5.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kimagemapeditor-23.08.4.tar.xz";
-      sha256 = "1c3yclj7rrvkc3pis06h00i9cwll9grqvadrdfixmzfcdg7glf1w";
-      name = "kimagemapeditor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kimagemapeditor-23.08.5.tar.xz";
+      sha256 = "036zj278mpfnh35h0qvwcjgb7661xkxnqccib3v55w0vdpn8y9hg";
+      name = "kimagemapeditor-23.08.5.tar.xz";
     };
   };
   kimap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kimap-23.08.4.tar.xz";
-      sha256 = "036liwpz7yzl192lbkhmasi5irw5884vrhj7qnnp6ihmh400b8as";
-      name = "kimap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kimap-23.08.5.tar.xz";
+      sha256 = "0gbq8pc91a1ak0yg55m4xpi4zgz2dfajvxgwq0simnm7mhcj1za2";
+      name = "kimap-23.08.5.tar.xz";
     };
   };
   kio-admin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-admin-23.08.4.tar.xz";
-      sha256 = "1xlr94p6yh65v8spdp80hrjbw74iazzpwvxz94sizfv7vl64i3q5";
-      name = "kio-admin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-admin-23.08.5.tar.xz";
+      sha256 = "0bksn8vpqwp0qfwyapbm33karf46hlmcmkhsybn6d8wljb44cq48";
+      name = "kio-admin-23.08.5.tar.xz";
     };
   };
   kio-extras = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-extras-23.08.4.tar.xz";
-      sha256 = "0qfd92di1z59i8258640vsgrikkij73bjdxkfpp495cyrlhvr37n";
-      name = "kio-extras-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-extras-23.08.5.tar.xz";
+      sha256 = "0gr63gmnivxz5rfhfmky1skx8r5krqljdjyq8vxd97r3qwffrq0s";
+      name = "kio-extras-23.08.5.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-gdrive-23.08.4.tar.xz";
-      sha256 = "17ihwp04ips0gyvvwyhkwilad47c2qxkik5bsi6gxafh8f0jb0d8";
-      name = "kio-gdrive-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-gdrive-23.08.5.tar.xz";
+      sha256 = "19pdspi0ysx9589zqrdlkj3hly9rxl80pgqvas1iwhw4aahkx66m";
+      name = "kio-gdrive-23.08.5.tar.xz";
     };
   };
   kio-zeroconf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kio-zeroconf-23.08.4.tar.xz";
-      sha256 = "1p2h6v9ymcdc0szb0cy35c6jwp71arr4h8b8mr5hdwgyrg0zrfa9";
-      name = "kio-zeroconf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kio-zeroconf-23.08.5.tar.xz";
+      sha256 = "0d0an6i63gkrr2gxpi6xdzdpzwav9wvghcy299dc1xqipdk939h9";
+      name = "kio-zeroconf-23.08.5.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kipi-plugins-23.08.4.tar.xz";
-      sha256 = "12mzclfmi4vj5rl39dmj6qqp1g3008kpn1vr8f0qsyphjpr82syv";
-      name = "kipi-plugins-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kipi-plugins-23.08.5.tar.xz";
+      sha256 = "0sjkxsaxhns0d21n36zlzhxzysr3y3675z9vbc4ji10gjlskxq10";
+      name = "kipi-plugins-23.08.5.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kirigami-gallery-23.08.4.tar.xz";
-      sha256 = "0fxw9c0543qxqsaibkxjmhsgvyhny6yy5krbfk73fs6a7klvbqma";
-      name = "kirigami-gallery-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kirigami-gallery-23.08.5.tar.xz";
+      sha256 = "0my44hmjgn551bm1j3ij6dynmxag7pxlkxvvvdizr1imcd0p1qy4";
+      name = "kirigami-gallery-23.08.5.tar.xz";
     };
   };
   kiriki = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kiriki-23.08.4.tar.xz";
-      sha256 = "1rh4ypql69rgwj7cn166qgr5irp8mdm7757r08gi065kz0lxhfgw";
-      name = "kiriki-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kiriki-23.08.5.tar.xz";
+      sha256 = "1mnyd9w5cf0sm4m8fg6fhg1cxrwmhmbjhn2k8h7zxp1k80k4gcy6";
+      name = "kiriki-23.08.5.tar.xz";
     };
   };
   kiten = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kiten-23.08.4.tar.xz";
-      sha256 = "142rmapzybmzqmnx6j4j8vgxmzs8y00rp18ax7s8kfs7gn03ad39";
-      name = "kiten-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kiten-23.08.5.tar.xz";
+      sha256 = "0fk264sm6yfiwikrjpva8ybxh2bnwh42mqsyryng76vwxdmm3s0y";
+      name = "kiten-23.08.5.tar.xz";
     };
   };
   kitinerary = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kitinerary-23.08.4.tar.xz";
-      sha256 = "090q9mlf7i8ydi458gvbgvmxm77ys97az7lknl16pz4gfmf0ld71";
-      name = "kitinerary-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kitinerary-23.08.5.tar.xz";
+      sha256 = "1a3qw7s5qwd4x4f4phxwis0y13yf5j463wjai2awr641zq121gdf";
+      name = "kitinerary-23.08.5.tar.xz";
     };
   };
   kjournald = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kjournald-23.08.4.tar.xz";
-      sha256 = "0b1gv5yypkk3vhgvw2g4clk8mipz3bv5pdnqidzjwhl5z2lisgzl";
-      name = "kjournald-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kjournald-23.08.5.tar.xz";
+      sha256 = "1l7d4zqsxak2c2yvsqx1x1mw8b6sxx54svg0lxznjrk4va1h55zp";
+      name = "kjournald-23.08.5.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kjumpingcube-23.08.4.tar.xz";
-      sha256 = "17km7y89b637f7r9g90a684fsc4lsdnwqm7m3w6qy89h3r74kd2x";
-      name = "kjumpingcube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kjumpingcube-23.08.5.tar.xz";
+      sha256 = "0w4wsc1n6qlz8m3kjdqbjw6ccfqzc3fpa2n11k5vhb1vysxa3vld";
+      name = "kjumpingcube-23.08.5.tar.xz";
     };
   };
   kldap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kldap-23.08.4.tar.xz";
-      sha256 = "0gh5sg11qcg40wns7i3g7bwwdkmqzb1kqrfrgdg08j7vqjwhwj30";
-      name = "kldap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kldap-23.08.5.tar.xz";
+      sha256 = "1gkc31028fqdvf5yf7nwhyqii1zy3sxggnid74xxwfknr0pxqacx";
+      name = "kldap-23.08.5.tar.xz";
     };
   };
   kleopatra = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kleopatra-23.08.4.tar.xz";
-      sha256 = "0mwicqry4h3q2bq138flxag5x5l8qpwlbg97jifjc32yqlxpg3jm";
-      name = "kleopatra-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kleopatra-23.08.5.tar.xz";
+      sha256 = "19pivdjnq6b0m79gy4mfqyrl604mnlhd41c3zr432xnkkrcidi59";
+      name = "kleopatra-23.08.5.tar.xz";
     };
   };
   klettres = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klettres-23.08.4.tar.xz";
-      sha256 = "16304hdzz78nyqqpcq3sf4f6wlk26imffag17cap3fs9l0qpq5pn";
-      name = "klettres-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klettres-23.08.5.tar.xz";
+      sha256 = "0zl1r4b84a5yq593lbla6wfw823l1qnqg9zxpzip10vrzji2gjga";
+      name = "klettres-23.08.5.tar.xz";
     };
   };
   klickety = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klickety-23.08.4.tar.xz";
-      sha256 = "0vhf069mlv6xkdzyj4dp251k0rinslaai6kkm7kjim0dal7ykk37";
-      name = "klickety-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klickety-23.08.5.tar.xz";
+      sha256 = "11wir03ci5x4s2m4j14qbmid5m9grgd4n7zqrvjrsr9mipbm5p39";
+      name = "klickety-23.08.5.tar.xz";
     };
   };
   klines = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/klines-23.08.4.tar.xz";
-      sha256 = "0f2a8vgnpg2mf9hc4gbz4ld5lw5jwbw1vyais6c9djykp552rjx9";
-      name = "klines-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/klines-23.08.5.tar.xz";
+      sha256 = "07ipifmjpfszifi8jy8g1rmbi0jx4l4jqf81wvhv80llbna48ypx";
+      name = "klines-23.08.5.tar.xz";
     };
   };
   kmag = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmag-23.08.4.tar.xz";
-      sha256 = "12djnbl0l9z2vilndchx4z4mznrkwqvjdlgdj2gynj2wa08flprd";
-      name = "kmag-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmag-23.08.5.tar.xz";
+      sha256 = "1jaf97dyc8lcdmmlva11ivkylkcpbim48lrrm08cvsvs3iw66vr5";
+      name = "kmag-23.08.5.tar.xz";
     };
   };
   kmahjongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmahjongg-23.08.4.tar.xz";
-      sha256 = "17gnl34x5dq8lqws19m2cqf7k3sc8hs3290pnjmnxcgb29fy0mv0";
-      name = "kmahjongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmahjongg-23.08.5.tar.xz";
+      sha256 = "0id838z75xppc7lwg94w1a7xy5jzy331xz2x80nsdn425fhgyhw7";
+      name = "kmahjongg-23.08.5.tar.xz";
     };
   };
   kmail = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmail-23.08.4.tar.xz";
-      sha256 = "10p5diprnhmgji4k9vm4bfhvjllah75j728cljvacdbmcqw879jv";
-      name = "kmail-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmail-23.08.5.tar.xz";
+      sha256 = "0mdp5ax7215x3mfi90cspp181l1cmhdwlhpijcnqq842gdjaqf3i";
+      name = "kmail-23.08.5.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmail-account-wizard-23.08.4.tar.xz";
-      sha256 = "05n1c0piblrr3032hpy4zcqw3kkp4shy08qbq3rw1kdzaibmc86a";
-      name = "kmail-account-wizard-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmail-account-wizard-23.08.5.tar.xz";
+      sha256 = "1fjxzyg8sb16kd85nqrw6xql143mmm4wz463flc0hsjdpcnfb297";
+      name = "kmail-account-wizard-23.08.5.tar.xz";
     };
   };
   kmailtransport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmailtransport-23.08.4.tar.xz";
-      sha256 = "18kkm56q336hh0j0lfnk871bzjsjfii0r69v9b6gsh1nni2lygks";
-      name = "kmailtransport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmailtransport-23.08.5.tar.xz";
+      sha256 = "05f4kp4rwb4lk82av4aqzllbcizam25994wsvyxcpddfv37jpd63";
+      name = "kmailtransport-23.08.5.tar.xz";
     };
   };
   kmbox = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmbox-23.08.4.tar.xz";
-      sha256 = "1n9243aw9wvg1zr89djk98k14pik1h0z182jksb8mw8vv7xqqafm";
-      name = "kmbox-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmbox-23.08.5.tar.xz";
+      sha256 = "007lrmzbm44mrp46n7j510hqgg9wq947g0b7zbxfp5dr1rxvi0z5";
+      name = "kmbox-23.08.5.tar.xz";
     };
   };
   kmime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmime-23.08.4.tar.xz";
-      sha256 = "04qgr8lws48m56lffbdqxkas7p97jm9scq2ccdksrq05dh6jl5hd";
-      name = "kmime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmime-23.08.5.tar.xz";
+      sha256 = "1nizvbjn3prbcgzgg03vfgffpjqmpxy7pqvxzjs8yfmz79rlx2dn";
+      name = "kmime-23.08.5.tar.xz";
     };
   };
   kmines = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmines-23.08.4.tar.xz";
-      sha256 = "0wym7v9cmd4y2z3i7rqwvvpcm1hdkwi8rqwzhqcmh5i3xk3j5pmv";
-      name = "kmines-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmines-23.08.5.tar.xz";
+      sha256 = "0lwkiq5vcw10h8lvqsb4jri8pghdsp3b8jp4c5ihwawjzwl29cyb";
+      name = "kmines-23.08.5.tar.xz";
     };
   };
   kmix = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmix-23.08.4.tar.xz";
-      sha256 = "0i2ywcipcprxmi23f501jjzic00nri0ss20dfcicgf0bpc8ybh71";
-      name = "kmix-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmix-23.08.5.tar.xz";
+      sha256 = "10415kj94d63fpx2i5xhbrj93i4d91hn8d1bbj484375vflsqwc6";
+      name = "kmix-23.08.5.tar.xz";
     };
   };
   kmousetool = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmousetool-23.08.4.tar.xz";
-      sha256 = "12i73smzx3kjj75hza424cr5nnq80xvgfv2kwmf32a3k9436jx15";
-      name = "kmousetool-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmousetool-23.08.5.tar.xz";
+      sha256 = "01wmhd0kb0xbyg5lr0vbj8nrk1ri5nllq5fd9pyq9whxvsar4fyz";
+      name = "kmousetool-23.08.5.tar.xz";
     };
   };
   kmouth = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmouth-23.08.4.tar.xz";
-      sha256 = "08f1yb7m3c3pyp6glwwg9lya3a6j30wvxga2j2ik9hwfs9jx5x9j";
-      name = "kmouth-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmouth-23.08.5.tar.xz";
+      sha256 = "15sa5q37fd9228m78d7w7xdfsy18hyd43snvrngiiw4317x9km4n";
+      name = "kmouth-23.08.5.tar.xz";
     };
   };
   kmplot = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kmplot-23.08.4.tar.xz";
-      sha256 = "1zmxaahpj6k5fk5fzrxqzrkki080mkxgz2a73ajsfjs387qvxg92";
-      name = "kmplot-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kmplot-23.08.5.tar.xz";
+      sha256 = "05rdpjc7hlwkh2klhvybjjq73g15apysk31wph2pljg46mwh9sc4";
+      name = "kmplot-23.08.5.tar.xz";
     };
   };
   knavalbattle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knavalbattle-23.08.4.tar.xz";
-      sha256 = "106hjf4ji4c9gvly916dbslvpxgc04qwp403srknqgrbx8ixsacg";
-      name = "knavalbattle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knavalbattle-23.08.5.tar.xz";
+      sha256 = "09s7lax3yd4vx6rp29540vzy555b2yp1m7lq5pd8ighiww78pznb";
+      name = "knavalbattle-23.08.5.tar.xz";
     };
   };
   knetwalk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knetwalk-23.08.4.tar.xz";
-      sha256 = "1vk1z9jk77qn8abckdj3mv3a4xyaz9r44b5hxzsf79870p4ss2ix";
-      name = "knetwalk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knetwalk-23.08.5.tar.xz";
+      sha256 = "0d47650cc4cabycilhbc6zbrbbbsn4awiswsk91lzkp47jpvjfqb";
+      name = "knetwalk-23.08.5.tar.xz";
     };
   };
   knights = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knights-23.08.4.tar.xz";
-      sha256 = "08flarcc72hrv59ahiwh6c9cfyrjr1lhk42xv0arnvf87w0a6dr9";
-      name = "knights-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knights-23.08.5.tar.xz";
+      sha256 = "10xy3cr2z10l6zp2fp5kv8s94wbizz39afcg2i7n30w1r9pj6csn";
+      name = "knights-23.08.5.tar.xz";
     };
   };
   knotes = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/knotes-23.08.4.tar.xz";
-      sha256 = "1xm9sjm0kqsyj8ah3mhb66hb80icfs45byz0lvbw7idridv22bpd";
-      name = "knotes-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/knotes-23.08.5.tar.xz";
+      sha256 = "1bh2f10z2djvf77rsdlrwg0s4crkirjqaw0cwjapv2d2y03blgx6";
+      name = "knotes-23.08.5.tar.xz";
     };
   };
   koko = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/koko-23.08.4.tar.xz";
-      sha256 = "12inpjdbf4xa569wb4rc0qckkm6g2wy3ggls2wdf2pr3k36yhx9m";
-      name = "koko-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/koko-23.08.5.tar.xz";
+      sha256 = "0drs0yj7r5qm762x2y5ixczvcnlk8gy7qsh3h88k0cb95wxgz7dq";
+      name = "koko-23.08.5.tar.xz";
     };
   };
   kolf = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kolf-23.08.4.tar.xz";
-      sha256 = "0mxs7vif7zwgbmrm3h20km9pf2cl129zbc4fvxzkwvksa982b92w";
-      name = "kolf-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kolf-23.08.5.tar.xz";
+      sha256 = "1cfmdbplhabaz62zs0jrf0p146rm688riiapckg19mcqzcvqq8cq";
+      name = "kolf-23.08.5.tar.xz";
     };
   };
   kollision = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kollision-23.08.4.tar.xz";
-      sha256 = "1ywl689cr0673xs5aflg689k5n9rnmgp0ggwmv56czrm8fkp015a";
-      name = "kollision-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kollision-23.08.5.tar.xz";
+      sha256 = "15amfmyma1p0gpq0xx3yix6n0wj469gws8pydpynmn75z89r61zz";
+      name = "kollision-23.08.5.tar.xz";
     };
   };
   kolourpaint = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kolourpaint-23.08.4.tar.xz";
-      sha256 = "1rpq355q2ghhxx3hvqqygr92vwlrm5vcpgvl422xr456ljn7jarc";
-      name = "kolourpaint-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kolourpaint-23.08.5.tar.xz";
+      sha256 = "1kjaxab9iasszgn7zfq5lhb2nkxrkd42x16y6pqs9ar4ixc6nbwl";
+      name = "kolourpaint-23.08.5.tar.xz";
     };
   };
   kompare = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kompare-23.08.4.tar.xz";
-      sha256 = "14rwav520s95zf83jaa1xqbskaj74pqx7di8i5f36fw0ap5llgvr";
-      name = "kompare-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kompare-23.08.5.tar.xz";
+      sha256 = "0yajvzm98rqs214lp2rfrzz925ddgqgjmdxq7zm74qarixq3kyic";
+      name = "kompare-23.08.5.tar.xz";
     };
   };
   kongress = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kongress-23.08.4.tar.xz";
-      sha256 = "03qn8cqnsm6267p5yk86z22k6j2mwdnf31v93v6x496yfmhg89xa";
-      name = "kongress-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kongress-23.08.5.tar.xz";
+      sha256 = "04mb4siivza5gjcyb68cv34vlkd9xsk79nv0z6g7f2l7ir7q9l42";
+      name = "kongress-23.08.5.tar.xz";
     };
   };
   konqueror = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konqueror-23.08.4.tar.xz";
-      sha256 = "1bz6v320kwv9sz86zv1icqi6la4pml79mq0hya43x0i709nqdrli";
-      name = "konqueror-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konqueror-23.08.5.tar.xz";
+      sha256 = "1yhc6yyw8549qmask70rqja1p70wcwbkg8hiln16bxsb6ngl9aw4";
+      name = "konqueror-23.08.5.tar.xz";
     };
   };
   konquest = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konquest-23.08.4.tar.xz";
-      sha256 = "08wal5q84nbdlnb7f850bkfypk09dbw467416038p340fnjyvxzq";
-      name = "konquest-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konquest-23.08.5.tar.xz";
+      sha256 = "0c04lzmacmx5ch5awsxn2wx0vyv632qazypak0vp45jm885fg059";
+      name = "konquest-23.08.5.tar.xz";
     };
   };
   konsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konsole-23.08.4.tar.xz";
-      sha256 = "1dwg4x8xmzy5kh4szzl814hgjpvn4vi6pwfz1abmnqa9qz85n2vc";
-      name = "konsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konsole-23.08.5.tar.xz";
+      sha256 = "1jn1c01cc6xsgd5b6c2q0fbr9fdn0nqzfc9fwsy4cyn279sj1yy6";
+      name = "konsole-23.08.5.tar.xz";
     };
   };
   kontact = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontact-23.08.4.tar.xz";
-      sha256 = "12bk6rr1lj3b036l341lh5na2cw6r6khd4dq220pyrf1i75fnizp";
-      name = "kontact-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontact-23.08.5.tar.xz";
+      sha256 = "1p205y9z0y7khvpbl9lq9yl1z6pvnpl98yj8baj42rfynnvj5sx6";
+      name = "kontact-23.08.5.tar.xz";
     };
   };
   kontactinterface = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontactinterface-23.08.4.tar.xz";
-      sha256 = "0ar57i4cdmpqsqsgnpavs3rs4hfj39wnddacvxpcj33ifzq40dln";
-      name = "kontactinterface-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontactinterface-23.08.5.tar.xz";
+      sha256 = "1gxjb3g3a2prbiki6f980vm9jdkiicnw138p8clvarw1zqr6vwgd";
+      name = "kontactinterface-23.08.5.tar.xz";
     };
   };
   kontrast = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kontrast-23.08.4.tar.xz";
-      sha256 = "1c4z9kh38njvb06i47gfyz85hai7kcvfrrz1ab6ipnx73ci2j7fp";
-      name = "kontrast-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kontrast-23.08.5.tar.xz";
+      sha256 = "1azx1x3136z2qzf3drw52k9l8g8vffc0jx0pvfpqhgkpi471l4vy";
+      name = "kontrast-23.08.5.tar.xz";
     };
   };
   konversation = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/konversation-23.08.4.tar.xz";
-      sha256 = "1wl7rnipv7spnlkcz5fcc272m5h8q9q0s56ln04wdybvqnwmvk2g";
-      name = "konversation-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/konversation-23.08.5.tar.xz";
+      sha256 = "1gi57pk10cs8cnaw26xjp8ffyqi77azvns99c5mmk29pfwb6ymv0";
+      name = "konversation-23.08.5.tar.xz";
     };
   };
   kopeninghours = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kopeninghours-23.08.4.tar.xz";
-      sha256 = "0w6nflzhhasdm2sbgx8nlqp95y1yklwrpvm5q6njivxwfi68abwg";
-      name = "kopeninghours-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kopeninghours-23.08.5.tar.xz";
+      sha256 = "0ihrjdyxaw5a5wvyjx6n0gl5l37djrqlc30mwaf9ihwrbvvlqb16";
+      name = "kopeninghours-23.08.5.tar.xz";
     };
   };
   kopete = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kopete-23.08.4.tar.xz";
-      sha256 = "0lp58zribmp6iaia97m6a2p8bizxy1wan7f9k968gpg8ykpv7vhx";
-      name = "kopete-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kopete-23.08.5.tar.xz";
+      sha256 = "0ccf3flphc1zh59np8y0pl6rvq0ff9qfrqqmaqzfqmn2y02piy0a";
+      name = "kopete-23.08.5.tar.xz";
     };
   };
   korganizer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/korganizer-23.08.4.tar.xz";
-      sha256 = "10rbrdv55cjac5hv94k0dp82dnd0176ykw1df4lnzccmk047kxsk";
-      name = "korganizer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/korganizer-23.08.5.tar.xz";
+      sha256 = "1hgdrnax7m5ngjh8qcxsxr2aq3cdx56bkzl747byh08klrmbx9n4";
+      name = "korganizer-23.08.5.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kosmindoormap-23.08.4.tar.xz";
-      sha256 = "1w7wa0ma8gnyawiaidcwa5hm5zx9pd8vfh18srwb2f1dffx0hzic";
-      name = "kosmindoormap-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kosmindoormap-23.08.5.tar.xz";
+      sha256 = "00xb91x3d3r3wmlyw83975f4h2igmbybi3ac951jal1nfpix8yv4";
+      name = "kosmindoormap-23.08.5.tar.xz";
     };
   };
   kpat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpat-23.08.4.tar.xz";
-      sha256 = "0r7krvl4cm1vzaprm5vzyw8wx04idqssv6p606avsvp39jcv4g24";
-      name = "kpat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpat-23.08.5.tar.xz";
+      sha256 = "1grilk4jdaygfi63h7km8q1iv82sz2azsmgzbzz67alg4add1k6m";
+      name = "kpat-23.08.5.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpimtextedit-23.08.4.tar.xz";
-      sha256 = "1r8df5qyhq8r30i2p55q8wsm1znnvmzif06axzazxhl2x0n94mfs";
-      name = "kpimtextedit-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpimtextedit-23.08.5.tar.xz";
+      sha256 = "1ir7wxlbfmagnnmh15b0k7gqhvlrl2mzmin9nf9c20l21hmrdp2f";
+      name = "kpimtextedit-23.08.5.tar.xz";
     };
   };
   kpkpass = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpkpass-23.08.4.tar.xz";
-      sha256 = "17wsgmanim8ab8hya3vihwwry4s6zl6s24mqplhax79jng9lcp52";
-      name = "kpkpass-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpkpass-23.08.5.tar.xz";
+      sha256 = "1cfsgky40zszyjbil7xjf12dbg1aymza2db70ghkvjjsp2xn17nn";
+      name = "kpkpass-23.08.5.tar.xz";
     };
   };
   kpmcore = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpmcore-23.08.4.tar.xz";
-      sha256 = "0kmnvwilvc3nysi9dywkfkdxxh5fynxm29knxahw1a9xgr4dha6i";
-      name = "kpmcore-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpmcore-23.08.5.tar.xz";
+      sha256 = "0yj1hpg53w3rfahhchslhgiw7yakxc99jyf59kzdv4z55mql0jml";
+      name = "kpmcore-23.08.5.tar.xz";
     };
   };
   kpublictransport = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kpublictransport-23.08.4.tar.xz";
-      sha256 = "178l4skgx44zilpggrlcmn3v8a8bqs9f0j6qmkx4mrif52lvy8w1";
-      name = "kpublictransport-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kpublictransport-23.08.5.tar.xz";
+      sha256 = "0n2s4l5vrsnmyj0p2icqrjc8qc3g5cm8nkhq4q6k29lbkrpfbxz3";
+      name = "kpublictransport-23.08.5.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kqtquickcharts-23.08.4.tar.xz";
-      sha256 = "1qfsjc414nxzl3rvzizxxg7kbi16v0mxpabj1sy6scz24x8ff68v";
-      name = "kqtquickcharts-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kqtquickcharts-23.08.5.tar.xz";
+      sha256 = "1zikypr3v8kqs2qxc1x09acr25i6blcqfhqlgy65k26gb9qk1xk2";
+      name = "kqtquickcharts-23.08.5.tar.xz";
     };
   };
   krdc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krdc-23.08.4.tar.xz";
-      sha256 = "0ka8m8yz6485vi1sqbr7n5pg67i1csk9yqjvv5fni9g2z5m6ynlq";
-      name = "krdc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krdc-23.08.5.tar.xz";
+      sha256 = "1x2ry209mqazv2l9cx51x86ivpw5wia5cc3cbp7034ianbmprif2";
+      name = "krdc-23.08.5.tar.xz";
     };
   };
   krecorder = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krecorder-23.08.4.tar.xz";
-      sha256 = "0wsn7kjk73619w24233s0and2q0li8yy7zlpfx4v8h9c926431di";
-      name = "krecorder-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krecorder-23.08.5.tar.xz";
+      sha256 = "0198wy6pa9nc1lly4szfxyma2np693pkg408iljxx3pxxi8vvvn8";
+      name = "krecorder-23.08.5.tar.xz";
     };
   };
   kreversi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kreversi-23.08.4.tar.xz";
-      sha256 = "13lf6hbg0a4ni119j3c21x72n7wpjb9g1f6dbdazrjmjvz5bfql5";
-      name = "kreversi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kreversi-23.08.5.tar.xz";
+      sha256 = "1mddxiawjyzjpwvb72jrh10012kq3q7nlvi33v02xs4qlw1npyy0";
+      name = "kreversi-23.08.5.tar.xz";
     };
   };
   krfb = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/krfb-23.08.4.tar.xz";
-      sha256 = "1139rgd77k53i0gglbjb5lwcnrs3fik19a953lrzhicc881a65dv";
-      name = "krfb-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/krfb-23.08.5.tar.xz";
+      sha256 = "0xmkzrg408qab1nrv48kkpghxds6vm981iipqrfc2fv8b2khmr46";
+      name = "krfb-23.08.5.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kross-interpreters-23.08.4.tar.xz";
-      sha256 = "1f0vqj1yl5knw55cy2ldxz090n7gxw3m7lwb5z7mr6mazaf06l4z";
-      name = "kross-interpreters-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kross-interpreters-23.08.5.tar.xz";
+      sha256 = "0yzs6y42m9dx02ig9i2m932q6qcclg0r67sd4k53c038giri0y1m";
+      name = "kross-interpreters-23.08.5.tar.xz";
     };
   };
   kruler = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kruler-23.08.4.tar.xz";
-      sha256 = "08q5pnwiprnj4rwl9brw2r28gaxl9acfd61dkl9kigcasijwz75m";
-      name = "kruler-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kruler-23.08.5.tar.xz";
+      sha256 = "0gilrz96yidqx698vs42gymb552d16vjwynmnpxs8hsr2z8snsqs";
+      name = "kruler-23.08.5.tar.xz";
     };
   };
   ksanecore = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksanecore-23.08.4.tar.xz";
-      sha256 = "1r00sl09cn4vryv11cc080f6r9qrh0q6va66d2a9sdkqfa8idlap";
-      name = "ksanecore-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksanecore-23.08.5.tar.xz";
+      sha256 = "18lv3lvh4cx4jwsdwa2ip9qngf7bd1vdf62xhfyb969py75c869x";
+      name = "ksanecore-23.08.5.tar.xz";
     };
   };
   kshisen = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kshisen-23.08.4.tar.xz";
-      sha256 = "1pdjy5zx7q4ajk00y5mgm6kxq17qmf0rwnakwfi938lzlvv06cir";
-      name = "kshisen-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kshisen-23.08.5.tar.xz";
+      sha256 = "1xa6nmgcavxxsiw0igjqfkzlr6qv5d620mp606afi890qw2firzj";
+      name = "kshisen-23.08.5.tar.xz";
     };
   };
   ksirk = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksirk-23.08.4.tar.xz";
-      sha256 = "05cy7iv80zfqa44gi0w29i5njbp7idjli5699b15as2nadmzbfxv";
-      name = "ksirk-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksirk-23.08.5.tar.xz";
+      sha256 = "0rggnzv6kaabqb6nhr6ldxfbn4lndr60vfch34lhwwgpb5f06d3a";
+      name = "ksirk-23.08.5.tar.xz";
     };
   };
   ksmtp = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksmtp-23.08.4.tar.xz";
-      sha256 = "1hwyf1idk0a9a77gk7l2d7k3l6jy34pz6j7vcw1a7wfniz3ri8wz";
-      name = "ksmtp-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksmtp-23.08.5.tar.xz";
+      sha256 = "1i8vmk1cmill8arglq1af0ck2r0j3bzx4sfz8r94bh0ybfarh1nx";
+      name = "ksmtp-23.08.5.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksnakeduel-23.08.4.tar.xz";
-      sha256 = "0ydsplqw4sijq2rfdyhzdzf95bnp3mpflwk8p4r3iahay3kcihk3";
-      name = "ksnakeduel-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksnakeduel-23.08.5.tar.xz";
+      sha256 = "1whqx45pg8kzhwvip20i408j6qk622cvisbpv91kfd0ab76p2k4b";
+      name = "ksnakeduel-23.08.5.tar.xz";
     };
   };
   kspaceduel = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kspaceduel-23.08.4.tar.xz";
-      sha256 = "01fqs6izbm34ypjrlbsqwvac7kqrc4vjkx6i04kq5zsaybawzy1i";
-      name = "kspaceduel-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kspaceduel-23.08.5.tar.xz";
+      sha256 = "0cf1yi05l0s05p8p38m6ygqjxb9zyiijf89raw8y2kjhp30cnjsn";
+      name = "kspaceduel-23.08.5.tar.xz";
     };
   };
   ksquares = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksquares-23.08.4.tar.xz";
-      sha256 = "0j3vivk6ci1k7pfv441rq915zdpzrf9a6fsh06igci34v1vm9yni";
-      name = "ksquares-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksquares-23.08.5.tar.xz";
+      sha256 = "055wkwr7nhwlzzqbz8m34yi4zgsnnw8pbxdn30d2rndra9kxmmx0";
+      name = "ksquares-23.08.5.tar.xz";
     };
   };
   ksudoku = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksudoku-23.08.4.tar.xz";
-      sha256 = "05zklr7mm81xz3m5lriyll1vkphwq5hz8ry423733ryaqqyjsdzs";
-      name = "ksudoku-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksudoku-23.08.5.tar.xz";
+      sha256 = "0rhpjhmqk4xhcjxi2l0v7yzhsa8b8mmgsylmxl4hw4lsvp7vx5lj";
+      name = "ksudoku-23.08.5.tar.xz";
     };
   };
   ksystemlog = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ksystemlog-23.08.4.tar.xz";
-      sha256 = "1fgnyi8aqr8b6zw91k049ljvs6jgl5frjw6zrz0jnc75lijc9zzc";
-      name = "ksystemlog-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ksystemlog-23.08.5.tar.xz";
+      sha256 = "0mn36n3g5g7sihw2r2y1a79ggmxpwikvxkh1rlhpavx721jh7rl0";
+      name = "ksystemlog-23.08.5.tar.xz";
     };
   };
   kteatime = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kteatime-23.08.4.tar.xz";
-      sha256 = "194c4q5pc9h5v1v6k80xchd3ysj42khwaq912dinvy43py1rw8sw";
-      name = "kteatime-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kteatime-23.08.5.tar.xz";
+      sha256 = "1rn23hlnn9grjrx5kh2c9dsx8pm3gd0rg6i49wwrml2hvmkmg1af";
+      name = "kteatime-23.08.5.tar.xz";
     };
   };
   ktimer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktimer-23.08.4.tar.xz";
-      sha256 = "08bcs3xh1yr2p2nnklb72jkfdxlrqp47pva4f886micanqfxhhjb";
-      name = "ktimer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktimer-23.08.5.tar.xz";
+      sha256 = "05nxbzh4ka0w8f40q15wm7lj0vpgq70q2qb3vfliv7xdz4b59yjm";
+      name = "ktimer-23.08.5.tar.xz";
     };
   };
   ktnef = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktnef-23.08.4.tar.xz";
-      sha256 = "0ffg2qc5nlnhmdhnq9ry2b34kis0z0bsk0iqp1mk5fs8ksasli75";
-      name = "ktnef-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktnef-23.08.5.tar.xz";
+      sha256 = "0a5ld53az9k8csb6psb622xx4nm96f6wz96z5rfdbnamqmyci7rp";
+      name = "ktnef-23.08.5.tar.xz";
     };
   };
   ktorrent = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktorrent-23.08.4.tar.xz";
-      sha256 = "0q8a3xsxk1sxaa90vj4fpq35xlmjwj86kki46w572dsx7bmcpwym";
-      name = "ktorrent-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktorrent-23.08.5.tar.xz";
+      sha256 = "10npi12qdibzpxjx102fh8fxiv5gk89xlp1s43aq01mckcnsvf0n";
+      name = "ktorrent-23.08.5.tar.xz";
     };
   };
   ktouch = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktouch-23.08.4.tar.xz";
-      sha256 = "18zfmmanz1f8jqhckb23pspsmprl1ran6vbxdqcfl4pb928b63fr";
-      name = "ktouch-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktouch-23.08.5.tar.xz";
+      sha256 = "0pcwypzfn5kh1byvj902vcsxsiyqqbp8w4xv51k6g90darrjl41d";
+      name = "ktouch-23.08.5.tar.xz";
     };
   };
   ktrip = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktrip-23.08.4.tar.xz";
-      sha256 = "1c9j0hqhq6hpsacm05qmkbiyr3bq57llqsvq1a9qy6yd1fldn4xg";
-      name = "ktrip-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktrip-23.08.5.tar.xz";
+      sha256 = "17kn0jqhraxp5anj18lhv4v6xwjx3qybnsvz47biwbfiy8b715yl";
+      name = "ktrip-23.08.5.tar.xz";
     };
   };
   ktuberling = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/ktuberling-23.08.4.tar.xz";
-      sha256 = "12q07w5s3bv3rx1irypzw83l4y47j1zqk67akkrhcgf9f69jz71w";
-      name = "ktuberling-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/ktuberling-23.08.5.tar.xz";
+      sha256 = "1263qkjvbg0dcrrr7w847vm9mq249glwgvxn9i5yck5qdk3cb4wm";
+      name = "ktuberling-23.08.5.tar.xz";
     };
   };
   kturtle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kturtle-23.08.4.tar.xz";
-      sha256 = "1782pnybvjqpzdppsz5284dibasz7rk03pbz6il7dz86l701phlz";
-      name = "kturtle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kturtle-23.08.5.tar.xz";
+      sha256 = "1mhd8b4rdysvvcjh37vr36ykg2avzdl3sgdsn5svzdga808vc8z4";
+      name = "kturtle-23.08.5.tar.xz";
     };
   };
   kubrick = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kubrick-23.08.4.tar.xz";
-      sha256 = "12p6k800chp7qhj6shj1xp2pvfxm0cw50598s95c8jxhv44d4fg2";
-      name = "kubrick-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kubrick-23.08.5.tar.xz";
+      sha256 = "000cc8rf63y2km0zzykpdxv24d5jp83p71kf4f3jxqr1lan2gxbm";
+      name = "kubrick-23.08.5.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwalletmanager-23.08.4.tar.xz";
-      sha256 = "0p62nl2y1fdlgzinzafhd1xgndn93c4qcl0gn6gicjfi9a37qjd1";
-      name = "kwalletmanager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwalletmanager-23.08.5.tar.xz";
+      sha256 = "1f45jqzn5j23adxb8p7z468klbn42kg2idcjqjm616kia348l7rr";
+      name = "kwalletmanager-23.08.5.tar.xz";
     };
   };
   kwave = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwave-23.08.4.tar.xz";
-      sha256 = "0wicp8zpk1q45aqx1zhwq8v9yh173zvmz5ncv4nr3dm1jgvh4l4q";
-      name = "kwave-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwave-23.08.5.tar.xz";
+      sha256 = "0264rz92198pa6rdjiim95z50wlp0myyr2f56m82cig5x69kl666";
+      name = "kwave-23.08.5.tar.xz";
     };
   };
   kweather = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kweather-23.08.4.tar.xz";
-      sha256 = "1fr19q59577pml6wj1di72yvdk0q6brd637vqn7xwbdvjhhk6vvn";
-      name = "kweather-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kweather-23.08.5.tar.xz";
+      sha256 = "04qab954y4mlz7ng1giyc20ndmihi0plli4wqjl6clzip7wi99l7";
+      name = "kweather-23.08.5.tar.xz";
     };
   };
   kwordquiz = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/kwordquiz-23.08.4.tar.xz";
-      sha256 = "1gnwmba6b08a1wgw40c71h7qgqk7sknj495hh66rxgm03injnpj0";
-      name = "kwordquiz-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/kwordquiz-23.08.5.tar.xz";
+      sha256 = "1w5hczhn0cv7r89s5kq1smwc1kkpsxrd7bqan4v26jd0d4r28jjy";
+      name = "kwordquiz-23.08.5.tar.xz";
     };
   };
   libgravatar = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libgravatar-23.08.4.tar.xz";
-      sha256 = "1w9z0d85gdkghx7k9506rg0fzgzvah9wfvyq16hhjgfb4cv0292w";
-      name = "libgravatar-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libgravatar-23.08.5.tar.xz";
+      sha256 = "15ynbjn2lrz08iriqf2il2b7hqwvypb758p24z1d6hj68hjgl9dc";
+      name = "libgravatar-23.08.5.tar.xz";
     };
   };
   libkcddb = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkcddb-23.08.4.tar.xz";
-      sha256 = "130ajnb4k1i48r015xfw5yp8ys72hgz5gqgvpa4vfqy71hbhndr9";
-      name = "libkcddb-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkcddb-23.08.5.tar.xz";
+      sha256 = "1igrrhzvs1rvn8p1cmiwl68h3bza4wc1pkllphksq5vjb9w9plj3";
+      name = "libkcddb-23.08.5.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkcompactdisc-23.08.4.tar.xz";
-      sha256 = "166nj97pars5anx1k8dc7f92cfnbb0mvwgi9cpsz138bxpqvn3zi";
-      name = "libkcompactdisc-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkcompactdisc-23.08.5.tar.xz";
+      sha256 = "1zwn9nic6fm2wkyhdc8ssyq0jjc6jrvc7aym422fzkmhr104llkg";
+      name = "libkcompactdisc-23.08.5.tar.xz";
     };
   };
   libkdcraw = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdcraw-23.08.4.tar.xz";
-      sha256 = "1mm3gsp7lfqxb9irk59hrzaxdqjv28iwaa1xmpazw4q62nmlj7mi";
-      name = "libkdcraw-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdcraw-23.08.5.tar.xz";
+      sha256 = "04cgjz0f580v8nszki2qk6ms7p0wp8zj0pxsnwr80ipz97j8045b";
+      name = "libkdcraw-23.08.5.tar.xz";
     };
   };
   libkdegames = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdegames-23.08.4.tar.xz";
-      sha256 = "1v4xskpclyr7qv94xrmw33zvcff1ymb2y6b658rdxari1gjpamja";
-      name = "libkdegames-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdegames-23.08.5.tar.xz";
+      sha256 = "1vggyamhr15k29zkyyjp0kgvq8n9a4yyxaal41w06q3x6bs87i8a";
+      name = "libkdegames-23.08.5.tar.xz";
     };
   };
   libkdepim = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkdepim-23.08.4.tar.xz";
-      sha256 = "0rga1s5y3lsq8awgdpd3yaqjczgjakhf12v553hg0nz8b1cl4s7z";
-      name = "libkdepim-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkdepim-23.08.5.tar.xz";
+      sha256 = "17yvnpgrmwi23b3ia3c73nzma2n46jh7n9a1vjgivjx32rs2w7kf";
+      name = "libkdepim-23.08.5.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkeduvocdocument-23.08.4.tar.xz";
-      sha256 = "1jvbkyb2gnh8a47724m95nb30g58jnzlwja5p9gx1rwjha28jkcp";
-      name = "libkeduvocdocument-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkeduvocdocument-23.08.5.tar.xz";
+      sha256 = "05lyycpx6yz6xg0z88fmlf1zzlxwiy9nkk1ma88p8f06kz1qkbmx";
+      name = "libkeduvocdocument-23.08.5.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkexiv2-23.08.4.tar.xz";
-      sha256 = "1xpki1b3007wm17pnjvfrqb2qlx7wkps5bzhn1m4k30i6vxa2q50";
-      name = "libkexiv2-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkexiv2-23.08.5.tar.xz";
+      sha256 = "1wlv3byg8lkc57mr1mf1ymc1ghg49im6xr6bgvqzlrchg4q30h9i";
+      name = "libkexiv2-23.08.5.tar.xz";
     };
   };
   libkgapi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkgapi-23.08.4.tar.xz";
-      sha256 = "1dvfj1pgfw2sysr2x06fzfxbr2xb949kgy0b52aq0akq5534qrfc";
-      name = "libkgapi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkgapi-23.08.5.tar.xz";
+      sha256 = "18yp81mbq0dvpmi1yiab6nnjg65n89fl3l2iw9rnm8m8lcr9y90h";
+      name = "libkgapi-23.08.5.tar.xz";
     };
   };
   libkipi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkipi-23.08.4.tar.xz";
-      sha256 = "0z3xlsyms58l84fvgjxf6y83a82p81s6gk8757y9aiidjihzih88";
-      name = "libkipi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkipi-23.08.5.tar.xz";
+      sha256 = "11b2c3qwb47ijr7q04hcc50kwdclig9n72injadw7df6fnp18h3j";
+      name = "libkipi-23.08.5.tar.xz";
     };
   };
   libkleo = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkleo-23.08.4.tar.xz";
-      sha256 = "01sspgd1sf3dzds05jbvylif4vza3zb0fz2hfrrvmjvflswgbazi";
-      name = "libkleo-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkleo-23.08.5.tar.xz";
+      sha256 = "09a6ihlia4wpj5lwwih94w92xw277fk6bdj1ngbzix8cnzjd6c23";
+      name = "libkleo-23.08.5.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkmahjongg-23.08.4.tar.xz";
-      sha256 = "0cp2zpk0444jf1rr6jnn0v62sbx1baf646ki8g2hpmsmvqwvslih";
-      name = "libkmahjongg-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkmahjongg-23.08.5.tar.xz";
+      sha256 = "0rf37nbxr6m2l7dgj8alfh57zmp39d76swrvv98k9hn5dh5v923s";
+      name = "libkmahjongg-23.08.5.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libkomparediff2-23.08.4.tar.xz";
-      sha256 = "07kfsnijj7xm4mvz95dzn3xmmczxl6bqzdr7d5jcv33kvp46mdbn";
-      name = "libkomparediff2-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libkomparediff2-23.08.5.tar.xz";
+      sha256 = "1l2awsm0ikf1kba72j67k0x5jfc48398pw406saq86l1mcfl23fr";
+      name = "libkomparediff2-23.08.5.tar.xz";
     };
   };
   libksane = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libksane-23.08.4.tar.xz";
-      sha256 = "1gsd5wlvh9c8xaprp0sjxknjc8yzz2f04kla5012a0a2761ym7d0";
-      name = "libksane-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libksane-23.08.5.tar.xz";
+      sha256 = "0vig4iws3c1kl1749gfig9g7fjz31g35lysb9ijdbzck46czzpfy";
+      name = "libksane-23.08.5.tar.xz";
     };
   };
   libksieve = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libksieve-23.08.4.tar.xz";
-      sha256 = "0ixriyls3ynwkyfjyvax4r851nh5xb1hvvcyphjd6apzy9zci08f";
-      name = "libksieve-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libksieve-23.08.5.tar.xz";
+      sha256 = "0p422lvgvm1ma0vm4wf24d1bhjj4jns7qaxp8nkhwhsvs0nlh1js";
+      name = "libksieve-23.08.5.tar.xz";
     };
   };
   libktorrent = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/libktorrent-23.08.4.tar.xz";
-      sha256 = "0vyv8m2s37zmhs145n8lk1p8npxcrd2xvw1aciyjc0nrxrx46z1v";
-      name = "libktorrent-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/libktorrent-23.08.5.tar.xz";
+      sha256 = "1gcpsa49g35jymy9162pjanx8ih0q7viygqwdvvylslfb8zkr8hg";
+      name = "libktorrent-23.08.5.tar.xz";
     };
   };
   lokalize = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/lokalize-23.08.4.tar.xz";
-      sha256 = "0ca52y67sqcjmzmxz3s6vpdlycr9k8sm8v07xmkxw6m77l97f5rq";
-      name = "lokalize-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/lokalize-23.08.5.tar.xz";
+      sha256 = "0v1yhcljbzlm4jgk5bc7d6bp13s6si7issi7h4mz92awpp0a6fc5";
+      name = "lokalize-23.08.5.tar.xz";
     };
   };
   lskat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/lskat-23.08.4.tar.xz";
-      sha256 = "1qcp2mxwddqxv8pzzaqq6sq8qyvxfy55k3pz8x7zml0iswspbv3r";
-      name = "lskat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/lskat-23.08.5.tar.xz";
+      sha256 = "1qg1y9lhk9x573gwzs6c84bcx7nsmn80il29w5gxf88hkngznlsd";
+      name = "lskat-23.08.5.tar.xz";
     };
   };
   mailcommon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mailcommon-23.08.4.tar.xz";
-      sha256 = "11z9zvwlqiylrkmw1hfsvqjwgiil7g2gzfh3avrrf3p4d8mc3y3g";
-      name = "mailcommon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mailcommon-23.08.5.tar.xz";
+      sha256 = "1h0gsrgxxvyhjy7vsh21wch1j1lwadjnyvssvvdzncw2ky63ppb5";
+      name = "mailcommon-23.08.5.tar.xz";
     };
   };
   mailimporter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mailimporter-23.08.4.tar.xz";
-      sha256 = "14w82drnf5vzjcqwhs34i82ismmbbkmp6ryw64xvv70idi64gyid";
-      name = "mailimporter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mailimporter-23.08.5.tar.xz";
+      sha256 = "0njkw27ag6z21n6sp1395mv4khf9r6qi5333nfspqw690gfjp5wl";
+      name = "mailimporter-23.08.5.tar.xz";
     };
   };
   marble = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/marble-23.08.4.tar.xz";
-      sha256 = "13vsrfzcff64wxgi0rfsmlca62kbbny4c8rn7j90jbzdrjw5aafg";
-      name = "marble-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/marble-23.08.5.tar.xz";
+      sha256 = "120b987irps4i80amri7d7ci28vi6zjd74nc0m5n9y954wqzyv45";
+      name = "marble-23.08.5.tar.xz";
     };
   };
   markdownpart = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/markdownpart-23.08.4.tar.xz";
-      sha256 = "0gr2hd7jnx6s3fsssasf7c2hl6mk3j2ccb6552k6bpdvl1ianmfc";
-      name = "markdownpart-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/markdownpart-23.08.5.tar.xz";
+      sha256 = "1wpbspb5xhxqybanc5ckwrb2h5fqa3ivj564i31jbxlkwdvmp41j";
+      name = "markdownpart-23.08.5.tar.xz";
     };
   };
   mbox-importer = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/mbox-importer-23.08.4.tar.xz";
-      sha256 = "1pninrlpwpakpc3a50aqfjvm1y828xsqm51vbblx41yrs9sfkbmz";
-      name = "mbox-importer-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/mbox-importer-23.08.5.tar.xz";
+      sha256 = "1ar06iz73qs81k6bd2n77qj4390ql37j37w50jvjpbysbxk2knjz";
+      name = "mbox-importer-23.08.5.tar.xz";
     };
   };
   merkuro = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/merkuro-23.08.4.tar.xz";
-      sha256 = "1rdfbvir3aadgkpqnh5j3b2snwkfgay130qnr2w0lhfs3dx3q4pj";
-      name = "merkuro-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/merkuro-23.08.5.tar.xz";
+      sha256 = "15s2hwwh9b4jf11am6v7llsgvix11y6qnlwdspyzpq45378hwpcs";
+      name = "merkuro-23.08.5.tar.xz";
     };
   };
   messagelib = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/messagelib-23.08.4.tar.xz";
-      sha256 = "1nahb2zhwi6scx5pc2abgjxz13m5rnsaknvcmiarih4zald5vncs";
-      name = "messagelib-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/messagelib-23.08.5.tar.xz";
+      sha256 = "1y6xa3z6j04gxdwcfk3y4pskx7blvpxwrixxgjadba51x4lsydys";
+      name = "messagelib-23.08.5.tar.xz";
     };
   };
   minuet = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/minuet-23.08.4.tar.xz";
-      sha256 = "1wrqwgcibqifgwzz0q40rmasykxilknx9rv60yzqjlc1bh1611xg";
-      name = "minuet-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/minuet-23.08.5.tar.xz";
+      sha256 = "1bk5y99gb1qmvyf48vk6gfwyqi6nk535868k3jm375bvd956sd3m";
+      name = "minuet-23.08.5.tar.xz";
     };
   };
   neochat = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/neochat-23.08.4.tar.xz";
-      sha256 = "1sdcg24s0gvim8s6mzqn6s5cjf8sag52w0wnicm2y15w0210763d";
-      name = "neochat-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/neochat-23.08.5.tar.xz";
+      sha256 = "0cj6j08g5ng1vifpb49rks9kp4mfb3h466n6afw9dk0xxgccc06k";
+      name = "neochat-23.08.5.tar.xz";
     };
   };
   okular = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/okular-23.08.4.tar.xz";
-      sha256 = "04dga15sj8gm2l1j6qpqcm3scc5awap63g5jqbfdr1z2i8bp7z9p";
-      name = "okular-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/okular-23.08.5.tar.xz";
+      sha256 = "0r73ki98lv3293s7zvz3rq2xgj9z2jbqy3p7gs8518knn5lizmfm";
+      name = "okular-23.08.5.tar.xz";
     };
   };
   palapeli = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/palapeli-23.08.4.tar.xz";
-      sha256 = "0cb63gazax3ii78n5bir061aw20s4vkm6pgahz75kvwhfsyky4qa";
-      name = "palapeli-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/palapeli-23.08.5.tar.xz";
+      sha256 = "1lc9dc25bbagqz6iklwvk81pknwvc2a7kjicmyj8zz5432d7psps";
+      name = "palapeli-23.08.5.tar.xz";
     };
   };
   parley = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/parley-23.08.4.tar.xz";
-      sha256 = "1y6mb5k3nhra4p35dml9x5nw40b21cnz7nkirxf3wjrg7jjx0iac";
-      name = "parley-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/parley-23.08.5.tar.xz";
+      sha256 = "0rr0dn714khrrgda0lmsd81l0fyc84q3f3xc4fhblz6icj37b5an";
+      name = "parley-23.08.5.tar.xz";
     };
   };
   partitionmanager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/partitionmanager-23.08.4.tar.xz";
-      sha256 = "1mj6pbrv9lj7jg3rfj4jncaclm70nzxw6dqbd52m48fa8vz0xpy5";
-      name = "partitionmanager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/partitionmanager-23.08.5.tar.xz";
+      sha256 = "0d08sgml90minr2y1k8niz6d74hh5lavaaa1j0bvyj8gfgkdwflq";
+      name = "partitionmanager-23.08.5.tar.xz";
     };
   };
   picmi = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/picmi-23.08.4.tar.xz";
-      sha256 = "1dbygyydawp6982asn015l20c4g479nl63a4yvs1hlv0vs261ry6";
-      name = "picmi-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/picmi-23.08.5.tar.xz";
+      sha256 = "0f1zvl7sidpaw1y93xrqg704s44l8wg405c5pas4yahl6nrs1i1x";
+      name = "picmi-23.08.5.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pim-data-exporter-23.08.4.tar.xz";
-      sha256 = "0nhwvg2wp25nkwgizc9zp4b5zww4ap8clfbm4s6n9c851dslh3s3";
-      name = "pim-data-exporter-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pim-data-exporter-23.08.5.tar.xz";
+      sha256 = "0axzlzam82c70868dc93lwljbc5rllkrslyn4cnc33fvz1xf41kc";
+      name = "pim-data-exporter-23.08.5.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pim-sieve-editor-23.08.4.tar.xz";
-      sha256 = "1bkll224v8pqcph33qnvi0sk5zymdz6jy5s4rqdd13nqzzv6cyhb";
-      name = "pim-sieve-editor-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pim-sieve-editor-23.08.5.tar.xz";
+      sha256 = "1r756987lwzl27mcdsb0k2wa8crm2lw1xvr197f73j3bnd4a3njx";
+      name = "pim-sieve-editor-23.08.5.tar.xz";
     };
   };
   pimcommon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/pimcommon-23.08.4.tar.xz";
-      sha256 = "0lfxd76rg4gx98xiwhzvv6bi97rqpxppc0qs1zgzd94hnar7kafl";
-      name = "pimcommon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/pimcommon-23.08.5.tar.xz";
+      sha256 = "0bjdbz89141rh1895c4ghx3s2v93wpdghpymi50203rark1iqnsz";
+      name = "pimcommon-23.08.5.tar.xz";
     };
   };
   plasmatube = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/plasmatube-23.08.4.tar.xz";
-      sha256 = "0mdljamssq8609mxfm1whdpf0jd3lvyrd5cf7rhnq35hvrncm4b1";
-      name = "plasmatube-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/plasmatube-23.08.5.tar.xz";
+      sha256 = "178vgir5j2535q6gh2p11c7gjsm61f368lmysr8jdmsr43f4zjk6";
+      name = "plasmatube-23.08.5.tar.xz";
     };
   };
   poxml = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/poxml-23.08.4.tar.xz";
-      sha256 = "0irp4ns0p25navasgdpgi35xxa1n5jf9aly32604dddx2mrh1w0r";
-      name = "poxml-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/poxml-23.08.5.tar.xz";
+      sha256 = "1i371b4x4a1ciklxicpwghajzzg7qnvssqgzr6lqnfy9gi8p4p3s";
+      name = "poxml-23.08.5.tar.xz";
     };
   };
   print-manager = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/print-manager-23.08.4.tar.xz";
-      sha256 = "0hsxawswgpaidm2wg5s8mzzh46cascr1pfjiqplqndzixff77grd";
-      name = "print-manager-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/print-manager-23.08.5.tar.xz";
+      sha256 = "0jssp0nczr928v1dz9fg5ycsr5s1f0x9yr60lpxa33mgmyrrkvgp";
+      name = "print-manager-23.08.5.tar.xz";
     };
   };
   qmlkonsole = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/qmlkonsole-23.08.4.tar.xz";
-      sha256 = "1qjszxh9wxpl1is2k065s9w18frvpnz2x6sk36r3c87xaxn7pzxi";
-      name = "qmlkonsole-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/qmlkonsole-23.08.5.tar.xz";
+      sha256 = "0fjw7781a5qzfbkamcvfz3dl1sf793phmjlcp8bdgj3ha4kk9ffl";
+      name = "qmlkonsole-23.08.5.tar.xz";
     };
   };
   rocs = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/rocs-23.08.4.tar.xz";
-      sha256 = "0182szpicdg353gapjsghg35sw638kcddwaycn3jkc50mwfy9jg1";
-      name = "rocs-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/rocs-23.08.5.tar.xz";
+      sha256 = "1c9yrn42bs3r50nzdmib3v6z80kykd271paqbgj4isi2hamw3g7r";
+      name = "rocs-23.08.5.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/signon-kwallet-extension-23.08.4.tar.xz";
-      sha256 = "1fpqjzpj7dhcp1km5fg65jpa1v78hsgpgrriyvpqpvaxfn0ylifi";
-      name = "signon-kwallet-extension-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/signon-kwallet-extension-23.08.5.tar.xz";
+      sha256 = "1z4vwmgh102jxbacf40sp9x1bjy2bvnamhi6lv387rpx7snwlmp5";
+      name = "signon-kwallet-extension-23.08.5.tar.xz";
     };
   };
   skanlite = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/skanlite-23.08.4.tar.xz";
-      sha256 = "0wh5c3w8sbggpcln6arqagfxffyjns4v2v1d8drawfn66q5pqzvk";
-      name = "skanlite-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/skanlite-23.08.5.tar.xz";
+      sha256 = "1fhd10gr7pya08l98cylc4dkh0hisa0zgj32djkzb64pr16wlyk6";
+      name = "skanlite-23.08.5.tar.xz";
     };
   };
   skanpage = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/skanpage-23.08.4.tar.xz";
-      sha256 = "1mdvh7qknlfrcq8v7hbjdbns7327czch95dh5w6w86r1a5by2mxn";
-      name = "skanpage-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/skanpage-23.08.5.tar.xz";
+      sha256 = "1fvj1ckh67sch4m0dfz8wficmsr12b8jk74q66skpi362h731qiq";
+      name = "skanpage-23.08.5.tar.xz";
     };
   };
   spectacle = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/spectacle-23.08.4.tar.xz";
-      sha256 = "04yd00p0rkpswrcj13ckp38ii185g1dab82vm58inm8i8cyyarbq";
-      name = "spectacle-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/spectacle-23.08.5.tar.xz";
+      sha256 = "0g3n3n42jp2vi1jv3d8j8rf9362axf9pfpsphbsag15jdppk1y2l";
+      name = "spectacle-23.08.5.tar.xz";
     };
   };
   step = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/step-23.08.4.tar.xz";
-      sha256 = "0dmnc9kvg2hxi2mf4d55k4sm82lfb4xs6apq4m8fxqd3zh0jxr9n";
-      name = "step-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/step-23.08.5.tar.xz";
+      sha256 = "0lafzlnjaiqvkz4jcyc6nghiv182x5rlwrn5qrhhvmf5r4qlxnxm";
+      name = "step-23.08.5.tar.xz";
     };
   };
   svgpart = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/svgpart-23.08.4.tar.xz";
-      sha256 = "111zdzp5knm1x13d1mhhn48l72lfa28jwn69023skgav35fa50wh";
-      name = "svgpart-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/svgpart-23.08.5.tar.xz";
+      sha256 = "1fbqfzn9nppvx51kvam08w9kcfz9y3l86bddvlmyj1j0v26kf6ll";
+      name = "svgpart-23.08.5.tar.xz";
     };
   };
   sweeper = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/sweeper-23.08.4.tar.xz";
-      sha256 = "0csqrkbx86ppfddqc5qvzp0svw0ngf9129p3xz5birhcdvq3bpic";
-      name = "sweeper-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/sweeper-23.08.5.tar.xz";
+      sha256 = "1mf1s8725pfbh4s6cl4nmi6dk0kl5l9ldjkwgb7dh15dli37gpss";
+      name = "sweeper-23.08.5.tar.xz";
     };
   };
   telly-skout = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/telly-skout-23.08.4.tar.xz";
-      sha256 = "1ipy5vl9vj800cy7axag4y1gnnszgbyvw22ns1j2x1z7m3rhp5vi";
-      name = "telly-skout-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/telly-skout-23.08.5.tar.xz";
+      sha256 = "1a196ychw81k1m5kql3nnzkzhz98cpn35d257sa8qah0hz3ad4bx";
+      name = "telly-skout-23.08.5.tar.xz";
     };
   };
   tokodon = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/tokodon-23.08.4.tar.xz";
-      sha256 = "1hsdwmnrsqm5mi1c7lsa6p7r29w8iz27129yf6j1491yw3cv9lqw";
-      name = "tokodon-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/tokodon-23.08.5.tar.xz";
+      sha256 = "0r8jx2k5znv6pi3wnss0rng870ky3d1c8bd7lhd7fakihsjpm22b";
+      name = "tokodon-23.08.5.tar.xz";
     };
   };
   umbrello = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/umbrello-23.08.4.tar.xz";
-      sha256 = "0vms6wflbybpaxwng29hsw5mcjrxw24kp8b6i1chavqryhci7s0k";
-      name = "umbrello-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/umbrello-23.08.5.tar.xz";
+      sha256 = "1067chdyxfb6h5ma628dia1fjrs8yz3204jn5iprfhasxqi44h2c";
+      name = "umbrello-23.08.5.tar.xz";
     };
   };
   yakuake = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/yakuake-23.08.4.tar.xz";
-      sha256 = "1igzc110fvzwa9817hclv7whwmfvp4hvcn636a6l4s5vsajm940y";
-      name = "yakuake-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/yakuake-23.08.5.tar.xz";
+      sha256 = "097bl6rjs5pj7arypcmncwb8ji9jfd8gli0y65454b0aafa5hnac";
+      name = "yakuake-23.08.5.tar.xz";
     };
   };
   zanshin = {
-    version = "23.08.4";
+    version = "23.08.5";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/23.08.4/src/zanshin-23.08.4.tar.xz";
-      sha256 = "0axrh9g6drxp5sjmcbv7vqbi0n7q6qpnlgs546186z25kwq80xm0";
-      name = "zanshin-23.08.4.tar.xz";
+      url = "${mirror}/stable/release-service/23.08.5/src/zanshin-23.08.5.tar.xz";
+      sha256 = "0vpmcmik362b6i232awd0f695w5q82bi4x2lq3x3plnh0wf5xyf0";
+      name = "zanshin-23.08.5.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/applications/logging/humioctl/default.nix b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
index b0744505d09e..d9f780c0b3a2 100644
--- a/nixpkgs/pkgs/applications/logging/humioctl/default.nix
+++ b/nixpkgs/pkgs/applications/logging/humioctl/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     description = "A CLI for managing and sending data to Humio";
     license = licenses.asl20;
     maintainers = with maintainers; [ lucperkins ];
+    mainProgram = "humioctl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/HentaiAtHome/default.nix b/nixpkgs/pkgs/applications/misc/HentaiAtHome/default.nix
index d5023c64fd1b..e34c2434a4f5 100644
--- a/nixpkgs/pkgs/applications/misc/HentaiAtHome/default.nix
+++ b/nixpkgs/pkgs/applications/misc/HentaiAtHome/default.nix
@@ -52,5 +52,6 @@ stdenvNoCC.mkDerivation rec {
       "Hentai@Home is an open-source P2P gallery distribution system which reduces the load on the E-Hentai Galleries";
     license = licenses.gpl3;
     maintainers = with maintainers; [ terrorjack ];
+    mainProgram = "HentaiAtHome";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/abook/default.nix b/nixpkgs/pkgs/applications/misc/abook/default.nix
index e822f869619b..358ecbcef39b 100644
--- a/nixpkgs/pkgs/applications/misc/abook/default.nix
+++ b/nixpkgs/pkgs/applications/misc/abook/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.edwtjo ];
     platforms = with lib.platforms; unix;
+    mainProgram = "abook";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/anup/default.nix b/nixpkgs/pkgs/applications/misc/anup/default.nix
index f7e560a32c52..94c21164184d 100644
--- a/nixpkgs/pkgs/applications/misc/anup/default.nix
+++ b/nixpkgs/pkgs/applications/misc/anup/default.nix
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
     description = "An anime tracker for AniList featuring a TUI";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ natto1784 ];
+    mainProgram = "anup";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ape/default.nix b/nixpkgs/pkgs/applications/misc/ape/default.nix
index c359d606a859..e50d766a88b2 100644
--- a/nixpkgs/pkgs/applications/misc/ape/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ape/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = license;
     platforms = platforms.unix;
     maintainers = with maintainers; [ yrashk ];
+    mainProgram = "ape";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/artha/default.nix b/nixpkgs/pkgs/applications/misc/artha/default.nix
index ac3e9c7c5a1d..0dfc3285c061 100644
--- a/nixpkgs/pkgs/applications/misc/artha/default.nix
+++ b/nixpkgs/pkgs/applications/misc/artha/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
+    mainProgram = "artha";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
index 4133fd8e5a29..af12e6b2f4b8 100644
--- a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
+++ b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "avrdudess";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchurl {
-    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.16/AVRDUDESS-2.16-portable.zip";
-    sha256 = "sha256-Ow6WYdQfEDldI9q9CTpd13wtLZGTEkcHxz0Zg7QIZIs=";
+    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.17/AVRDUDESS-2.17-portable.zip";
+    sha256 = "sha256-TcXXGDs75Q2ew+m2B/p00Y24O5aJQlp+3FcAn7GSVyI=";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -41,5 +41,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "avrdudess";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix b/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
index f90bed6390f2..ff441f672a50 100644
--- a/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
+++ b/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
@@ -193,5 +193,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     license = lib.licenses.unfreeRedistributable;
     platforms = [ "x86_64-linux" ];
+    mainProgram = "azuredatastudio";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/base16-universal-manager/default.nix b/nixpkgs/pkgs/applications/misc/base16-universal-manager/default.nix
index 2ecbc5f41809..98a255f87398 100644
--- a/nixpkgs/pkgs/applications/misc/base16-universal-manager/default.nix
+++ b/nixpkgs/pkgs/applications/misc/base16-universal-manager/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/pinpox/base16-universal-manager";
     license = licenses.mit;
     maintainers = with maintainers; [ jo1gi ];
+    mainProgram = "base16-universal-manager";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/bb/default.nix b/nixpkgs/pkgs/applications/misc/bb/default.nix
index 97bd2a1f21ca..89a0d75fc2b5 100644
--- a/nixpkgs/pkgs/applications/misc/bb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bb/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     maintainers = [ maintainers.rnhmjoj ];
     platforms   = platforms.unix;
+    mainProgram = "bb";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/bklk/default.nix b/nixpkgs/pkgs/applications/misc/bklk/default.nix
index 62aeb7c91a5f..a62eed5f8e1b 100644
--- a/nixpkgs/pkgs/applications/misc/bklk/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bklk/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ j0hax ];
     platforms = platforms.all;
+    mainProgram = "bklk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/blugon/default.nix b/nixpkgs/pkgs/applications/misc/blugon/default.nix
index d11a61e440fb..5aab73ef1467 100644
--- a/nixpkgs/pkgs/applications/misc/blugon/default.nix
+++ b/nixpkgs/pkgs/applications/misc/blugon/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/jumper149/blugon";
     platforms = platforms.unix;
     maintainers = with maintainers; [ jumper149 ];
+    mainProgram = "blugon";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/camunda-modeler/default.nix b/nixpkgs/pkgs/applications/misc/camunda-modeler/default.nix
index bf9c06efb54f..3469e8eeb446 100644
--- a/nixpkgs/pkgs/applications/misc/camunda-modeler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/camunda-modeler/default.nix
@@ -66,6 +66,7 @@ stdenvNoCC.mkDerivation rec {
     maintainers = teams.wdz.members;
     license = licenses.mit;
     inherit (electron.meta) platforms;
+    mainProgram = "camunda-modeler";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/cardpeek/default.nix b/nixpkgs/pkgs/applications/misc/cardpeek/default.nix
index adabcdac9542..4cf13498be94 100644
--- a/nixpkgs/pkgs/applications/misc/cardpeek/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cardpeek/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ embr ];
+    mainProgram = "cardpeek";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/charm/default.nix b/nixpkgs/pkgs/applications/misc/charm/default.nix
index eac305bd399e..bf3520d4634e 100644
--- a/nixpkgs/pkgs/applications/misc/charm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/charm/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/charm/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
+    mainProgram = "charm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cheat/default.nix b/nixpkgs/pkgs/applications/misc/cheat/default.nix
index da39da86ef7b..ef8780f1e88b 100644
--- a/nixpkgs/pkgs/applications/misc/cheat/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cheat/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ mic92 ];
     license = with licenses; [ gpl3 mit ];
     inherit (src.meta) homepage;
+    mainProgram = "cheat";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/clight/default.nix b/nixpkgs/pkgs/applications/misc/clight/default.nix
index e198bdc9fc72..3adff5c62887 100644
--- a/nixpkgs/pkgs/applications/misc/clight/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clight/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [
       eadwu
     ];
+    mainProgram = "clight";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/clipqr/default.nix b/nixpkgs/pkgs/applications/misc/clipqr/default.nix
index d9265b2d1135..8bbfcc6d4209 100644
--- a/nixpkgs/pkgs/applications/misc/clipqr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/clipqr/default.nix
@@ -68,5 +68,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ MatthieuBarthel ];
     homepage = "https://gitlab.com/imatt-foss/clipqr";
     broken = stdenv.isDarwin;
+    mainProgram = "clipqr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cloak/default.nix b/nixpkgs/pkgs/applications/misc/cloak/default.nix
index 7c362961b4be..bf3dd3c4a081 100644
--- a/nixpkgs/pkgs/applications/misc/cloak/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cloak/default.nix
@@ -20,5 +20,6 @@ rustPlatform.buildRustPackage rec {
     description = "Command-line OTP authenticator application";
     license = licenses.mit;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "cloak";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cmatrix/default.nix b/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
index 8008edf09969..7aca6851df21 100644
--- a/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cmatrix/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/abishekvashok/cmatrix";
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.AndersonTorres ];
+    mainProgram = "cmatrix";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cobalt/default.nix b/nixpkgs/pkgs/applications/misc/cobalt/default.nix
index 0cdd77b4293c..feb6a2c80be4 100644
--- a/nixpkgs/pkgs/applications/misc/cobalt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cobalt/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ethancedwards8 ];
     platforms = platforms.unix;
+    mainProgram = "cobalt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/cointop/default.nix b/nixpkgs/pkgs/applications/misc/cointop/default.nix
index 6e22b443a573..16a59b2fdb71 100644
--- a/nixpkgs/pkgs/applications/misc/cointop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cointop/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     homepage = "https://cointop.sh";
     maintainers = [ maintainers.marsam ];
     license = licenses.asl20;
+    mainProgram = "cointop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/colorstorm/default.nix b/nixpkgs/pkgs/applications/misc/colorstorm/default.nix
index 0f78510aa2f6..ddb429dae33f 100644
--- a/nixpkgs/pkgs/applications/misc/colorstorm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/colorstorm/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ];
     inherit (zig_0_9.meta) platforms;
+    mainProgram = "colorstorm";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/colort/default.nix b/nixpkgs/pkgs/applications/misc/colort/default.nix
index 7a1ae7a9e2f4..2716e2d464bc 100644
--- a/nixpkgs/pkgs/applications/misc/colort/default.nix
+++ b/nixpkgs/pkgs/applications/misc/colort/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = [ maintainers.neeasade ];
+    mainProgram = "colort";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/coltrane/default.nix b/nixpkgs/pkgs/applications/misc/coltrane/default.nix
index 81d095160e07..5d77f8dd6d56 100644
--- a/nixpkgs/pkgs/applications/misc/coltrane/default.nix
+++ b/nixpkgs/pkgs/applications/misc/coltrane/default.nix
@@ -19,5 +19,6 @@ bundlerApp rec {
     '';
     license = licenses.mit;
     maintainers = [ maintainers.panaeon ];
+    mainProgram = "coltrane";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/comodoro/default.nix b/nixpkgs/pkgs/applications/misc/comodoro/default.nix
index f03b27ea51ca..2d780d5d514b 100644
--- a/nixpkgs/pkgs/applications/misc/comodoro/default.nix
+++ b/nixpkgs/pkgs/applications/misc/comodoro/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/soywod/comodoro/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ soywod ];
+    mainProgram = "comodoro";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/confetty/default.nix b/nixpkgs/pkgs/applications/misc/confetty/default.nix
index 77269ef85354..a9e838c84b01 100644
--- a/nixpkgs/pkgs/applications/misc/confetty/default.nix
+++ b/nixpkgs/pkgs/applications/misc/confetty/default.nix
@@ -23,5 +23,6 @@ buildGoModule {
     homepage = "https://github.com/maaslalani/confetty";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "confetty";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/corectrl/default.nix b/nixpkgs/pkgs/applications/misc/corectrl/default.nix
index 2600e10b7014..2b17ea756878 100644
--- a/nixpkgs/pkgs/applications/misc/corectrl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/corectrl/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec{
   pname = "corectrl";
-  version = "1.3.9";
+  version = "1.3.10";
 
   src = fetchFromGitLab {
     owner = "corectrl";
     repo = "corectrl";
     rev = "v${version}";
-    sha256 = "sha256-6CjN3GXkb7tSzWhphiiB+9bR5bcr0bjtJCEkJldD7Fk=";
+    sha256 = "sha256-fN4dX0Ya2DvPEkuwtKIw1zT+JEbC2zyJKtcGwLVdAUs=";
   };
   patches = [
     ./polkit-dir.patch
diff --git a/nixpkgs/pkgs/applications/misc/cotp/default.nix b/nixpkgs/pkgs/applications/misc/cotp/default.nix
index 054823b86f2a..71d1c4a81bd6 100644
--- a/nixpkgs/pkgs/applications/misc/cotp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/cotp/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cotp";
-  version = "1.3.0";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "replydev";
     repo = "cotp";
     rev = "v${version}";
-    hash = "sha256-IGk7akmHGQXLHfCCq6GXOIUnh63/sE2Ds+8H91uMKnw=";
+    hash = "sha256-S2658xkaDshQBYfy8mwuuBAKWGF4j+UYtapqPEf1wP4=";
   };
 
-  cargoHash = "sha256-2SD62zlWck+DPFs8bQipd8G09134L6LotrzfAiM1Pc8=";
+  cargoHash = "sha256-DGx/LsKzoITA4extStjULiuiHJx0sTlPloE8h8MvnXQ=";
 
   buildInputs = lib.optionals stdenv.isLinux [ libxcb ]
     ++ lib.optionals stdenv.isDarwin [ AppKit ];
@@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
     description = "Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ davsanchez ];
+    mainProgram = "cotp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/crumbs/default.nix b/nixpkgs/pkgs/applications/misc/crumbs/default.nix
index 5bb422058168..7dbcf74faf7e 100644
--- a/nixpkgs/pkgs/applications/misc/crumbs/default.nix
+++ b/nixpkgs/pkgs/applications/misc/crumbs/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
       license     = licenses.wtfpl;
       platforms   = platforms.all;
       maintainers = with maintainers; [ thesola10 ];
+      mainProgram = "crumbs";
     };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ctodo/default.nix b/nixpkgs/pkgs/applications/misc/ctodo/default.nix
index 224a79881e04..315d5ffc34cf 100644
--- a/nixpkgs/pkgs/applications/misc/ctodo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ctodo/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "ctodo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/curaengine/default.nix b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
index 2abe82913a4e..1155ce8e8e8e 100644
--- a/nixpkgs/pkgs/applications/misc/curaengine/default.nix
+++ b/nixpkgs/pkgs/applications/misc/curaengine/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar gebner ];
+    mainProgram = "CuraEngine";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/dasel/default.nix b/nixpkgs/pkgs/applications/misc/dasel/default.nix
index fb954cef5c65..75ffbb9080bd 100644
--- a/nixpkgs/pkgs/applications/misc/dasel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dasel/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    hash = "sha256-frd4jNn5uruz9oX40ly/AR5I/uKRIfQ8IjOlIvlsOlY=";
+    hash = "sha256-4SINZXjTILJDmjv6ubuAhBzBmrXY0gJ0huNM3Y0O7Go=";
   };
 
-  vendorHash = "sha256-B3d+pbk0smBXqcJnac5he0TZPLiT1cLtz02OAGfqhC0=";
+  vendorHash = "sha256-G9IdTMF5Lnwq38rdJtuvUjD4RBaSmCYs3g+ETz29Mec=";
 
   ldflags = [
     "-s" "-w" "-X github.com/tomwright/dasel/v2/internal.Version=${version}"
diff --git a/nixpkgs/pkgs/applications/misc/ddgr/default.nix b/nixpkgs/pkgs/applications/misc/ddgr/default.nix
index 0e7800b9bbb3..04f27117f8e2 100644
--- a/nixpkgs/pkgs/applications/misc/ddgr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ddgr/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ ceedubs markus1189 ];
     platforms = python3.meta.platforms;
+    mainProgram = "ddgr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/deadd-notification-center/default.nix b/nixpkgs/pkgs/applications/misc/deadd-notification-center/default.nix
index edc1f8ba9e1c..5551ebe1750f 100644
--- a/nixpkgs/pkgs/applications/misc/deadd-notification-center/default.nix
+++ b/nixpkgs/pkgs/applications/misc/deadd-notification-center/default.nix
@@ -60,4 +60,5 @@ in mkDerivation rec {
   license = lib.licenses.bsd3;
   maintainers = with lib.maintainers; [ melkor333 sna ];
   platforms = lib.platforms.linux;
+  mainProgram = "deadd-notification-center";
 }
diff --git a/nixpkgs/pkgs/applications/misc/deco/default.nix b/nixpkgs/pkgs/applications/misc/deco/default.nix
index b19f3f38dac7..a39f6b4f0bad 100644
--- a/nixpkgs/pkgs/applications/misc/deco/default.nix
+++ b/nixpkgs/pkgs/applications/misc/deco/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "deco";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/misc/devdocs-desktop/default.nix b/nixpkgs/pkgs/applications/misc/devdocs-desktop/default.nix
index 97ed9ed72962..55fe2b9e2cf7 100644
--- a/nixpkgs/pkgs/applications/misc/devdocs-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -35,5 +35,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ymarkus ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "devdocs-desktop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/devilspie2/default.nix b/nixpkgs/pkgs/applications/misc/devilspie2/default.nix
index 581a8126cada..8ea982f6059f 100644
--- a/nixpkgs/pkgs/applications/misc/devilspie2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/devilspie2/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.linux;
+    mainProgram = "devilspie2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/diebahn/default.nix b/nixpkgs/pkgs/applications/misc/diebahn/default.nix
index d8ac3cac8b5b..7e07a05748ca 100644
--- a/nixpkgs/pkgs/applications/misc/diebahn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/diebahn/default.nix
@@ -21,19 +21,19 @@
 
 stdenv.mkDerivation rec {
   pname = "diebahn";
-  version = "2.1.0";
+  version = "2.3.0";
 
   src = fetchFromGitLab {
     owner = "schmiddi-on-mobile";
-    repo = "diebahn";
+    repo = "railway";
     rev = version;
-    hash = "sha256-IKQaCdUpLbZwySpaywGbbLtBGljNR+ltQkbCcJwQ/K4=";
+    hash = "sha256-o1WJJslZLg3UlMLmHDeEozsP8CmMU9e7MqONpIKuq80=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     name = "${pname}-${src}";
     inherit src;
-    hash = "sha256-FlXAWMHrWnYXIWuG0wXDkxiJfNHlZmJFkYRfOxzIg1g=";
+    hash = "sha256-/DSbkZev9A7TqRgnCop3PDd8vzSvyOevvl+pBCk1ri0=";
   };
 
   nativeBuildInputs = [
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
   meta = {
     changelog = "https://gitlab.com/schmiddi-on-mobile/railway/-/blob/${src.rev}/CHANGELOG.md";
     description = "Travel with all your train information in one place";
-    homepage = "https://gitlab.com/schmiddi-on-mobile/diebahn";
+    homepage = "https://gitlab.com/schmiddi-on-mobile/railway";
     license = lib.licenses.gpl3Plus;
     mainProgram = "diebahn";
     maintainers = with lib.maintainers; [ dotlambda ];
diff --git a/nixpkgs/pkgs/applications/misc/diff-pdf/default.nix b/nixpkgs/pkgs/applications/misc/diff-pdf/default.nix
index f88af3be2721..1d54b57c9b2f 100644
--- a/nixpkgs/pkgs/applications/misc/diff-pdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/diff-pdf/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "diff-pdf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/dmenu/wayland.nix b/nixpkgs/pkgs/applications/misc/dmenu/wayland.nix
index 08e9d9422459..35a50481bea7 100644
--- a/nixpkgs/pkgs/applications/misc/dmenu/wayland.nix
+++ b/nixpkgs/pkgs/applications/misc/dmenu/wayland.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     description = "An efficient dynamic menu for wayland (wlroots)";
     homepage = "https://github.com/nyyManni/dmenu-wayland";
     maintainers = with maintainers; [ rewine ];
+    mainProgram = "dmenu-wl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/doctave/default.nix b/nixpkgs/pkgs/applications/misc/doctave/default.nix
index 454c6bea3315..3ebe50311d57 100644
--- a/nixpkgs/pkgs/applications/misc/doctave/default.nix
+++ b/nixpkgs/pkgs/applications/misc/doctave/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/doctave/doctave/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "doctave";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/doing/default.nix b/nixpkgs/pkgs/applications/misc/doing/default.nix
index e539cf3ae19e..c5114eccc77f 100644
--- a/nixpkgs/pkgs/applications/misc/doing/default.nix
+++ b/nixpkgs/pkgs/applications/misc/doing/default.nix
@@ -21,5 +21,6 @@ bundlerEnv {
     license     = licenses.mit;
     maintainers = with maintainers; [ ktf nicknovitski ];
     platforms   = platforms.unix;
+    mainProgram = "doing";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/downonspot/default.nix b/nixpkgs/pkgs/applications/misc/downonspot/default.nix
index 23747102fecb..5a7c6ce6933b 100644
--- a/nixpkgs/pkgs/applications/misc/downonspot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/downonspot/default.nix
@@ -41,5 +41,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ onny ];
+    mainProgram = "down_on_spot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/dwmbar/default.nix b/nixpkgs/pkgs/applications/misc/dwmbar/default.nix
index 5559f4a6e5af..0d942eff73d7 100644
--- a/nixpkgs/pkgs/applications/misc/dwmbar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dwmbar/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ baitinq ];
     platforms = platforms.linux;
+    mainProgram = "dwmbar";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/dwmblocks/default.nix b/nixpkgs/pkgs/applications/misc/dwmblocks/default.nix
index c31a1a4b0630..0b7abc7e3dfc 100644
--- a/nixpkgs/pkgs/applications/misc/dwmblocks/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dwmblocks/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation {
     license = licenses.isc;
     maintainers = with maintainers; [ sophrosyne ];
     platforms = platforms.linux;
+    mainProgram = "dwmblocks";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/effitask/default.nix b/nixpkgs/pkgs/applications/misc/effitask/default.nix
index 50172b9d1cb4..345f87d84a1c 100644
--- a/nixpkgs/pkgs/applications/misc/effitask/default.nix
+++ b/nixpkgs/pkgs/applications/misc/effitask/default.nix
@@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sanpii/effitask";
     maintainers = with maintainers; [ davidak ];
     license = with licenses; [ mit ];
+    mainProgram = "effitask";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/electrum/ltc.nix b/nixpkgs/pkgs/applications/misc/electrum/ltc.nix
index 844a49974b8f..9b0c63834cfb 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/ltc.nix
+++ b/nixpkgs/pkgs/applications/misc/electrum/ltc.nix
@@ -136,6 +136,6 @@ python3.pkgs.buildPythonApplication {
     homepage = "https://electrum-ltc.org/";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/elfx86exts/default.nix b/nixpkgs/pkgs/applications/misc/elfx86exts/default.nix
index cf0711ca64e8..7e11d90f5d2e 100644
--- a/nixpkgs/pkgs/applications/misc/elfx86exts/default.nix
+++ b/nixpkgs/pkgs/applications/misc/elfx86exts/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/pkgw/elfx86exts";
     maintainers = with maintainers; [ rmcgibbo ];
     license = with licenses; [ mit ];
+    mainProgram = "elfx86exts";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/emem/default.nix b/nixpkgs/pkgs/applications/misc/emem/default.nix
index 77a8adc69257..ef429ac4c084 100644
--- a/nixpkgs/pkgs/applications/misc/emem/default.nix
+++ b/nixpkgs/pkgs/applications/misc/emem/default.nix
@@ -35,5 +35,6 @@ EOF
     license = licenses.epl10;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "emem";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/epdfview/default.nix b/nixpkgs/pkgs/applications/misc/epdfview/default.nix
index 9eea30e74f86..840165dcedee 100644
--- a/nixpkgs/pkgs/applications/misc/epdfview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/epdfview/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.astsmtl ];
     platforms = platforms.linux;
+    mainProgram = "epdfview";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/evtest/default.nix b/nixpkgs/pkgs/applications/misc/evtest/default.nix
index 0e4a0f5be00e..39f8ea8c0f83 100644
--- a/nixpkgs/pkgs/applications/misc/evtest/default.nix
+++ b/nixpkgs/pkgs/applications/misc/evtest/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "evtest";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/exercism/default.nix b/nixpkgs/pkgs/applications/misc/exercism/default.nix
index aa54b29dab1c..d91f35980404 100644
--- a/nixpkgs/pkgs/applications/misc/exercism/default.nix
+++ b/nixpkgs/pkgs/applications/misc/exercism/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "exercism";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "exercism";
     repo  = "cli";
     rev   = "refs/tags/v${version}";
-    hash  = "sha256-+DXmbbs9oo667o5P0OVcfBMMIvyBzEAdbrq9i+U7p0k=";
+    hash  = "sha256-Mtb5c1/k8kp7bETOSE0X969BV176jpoprr1/mQ3E4Vg=";
   };
 
-  vendorHash = "sha256-wQGnGshsRJLe3niHDoyr3BTxbwrV3L66EjJ8x633uHY=";
+  vendorHash = "sha256-fnsSvbuVGRAndU88su2Ck7mV8QBDhxozdmwI3XGtxcA=";
 
   doCheck = false;
 
@@ -24,5 +24,6 @@ buildGoModule rec {
    description = "A Go based command line tool for exercism.io";
    license     = licenses.mit;
    maintainers = [ maintainers.rbasso maintainers.nobbz ];
+   mainProgram = "exercism";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/expenses/default.nix b/nixpkgs/pkgs/applications/misc/expenses/default.nix
index 220cd1178564..0bca959b8b04 100644
--- a/nixpkgs/pkgs/applications/misc/expenses/default.nix
+++ b/nixpkgs/pkgs/applications/misc/expenses/default.nix
@@ -40,5 +40,6 @@ buildGoModule rec {
    description = "An interactive command line expense logger";
    license = licenses.mit;
    maintainers = [ maintainers.manojkarthick ];
+   mainProgram = "expenses";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/faircamp/Cargo.lock b/nixpkgs/pkgs/applications/misc/faircamp/Cargo.lock
index 0eb6211e4287..4371f7dc12c9 100644
--- a/nixpkgs/pkgs/applications/misc/faircamp/Cargo.lock
+++ b/nixpkgs/pkgs/applications/misc/faircamp/Cargo.lock
@@ -810,8 +810,8 @@ dependencies = [
 
 [[package]]
 name = "enolib"
-version = "0.3.0"
-source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.3.0#e5739943579f23d43300f83a06988c47e9719f1a"
+version = "0.4.0"
+source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.4.0#dc22b9114b210a6f3e16815c0d1d43bcbed551d5"
 
 [[package]]
 name = "equivalent"
@@ -837,7 +837,7 @@ dependencies = [
 
 [[package]]
 name = "faircamp"
-version = "0.11.0"
+version = "0.12.0"
 dependencies = [
  "actix-files",
  "actix-web",
diff --git a/nixpkgs/pkgs/applications/misc/faircamp/default.nix b/nixpkgs/pkgs/applications/misc/faircamp/default.nix
index a617494c1be1..497c6e7d58fc 100644
--- a/nixpkgs/pkgs/applications/misc/faircamp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/faircamp/default.nix
@@ -16,20 +16,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "faircamp";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "simonrepp";
     repo = "faircamp";
     rev = version;
-    hash = "sha256-CD5wCvONlgNTXpFcCHCLdJ/lJsC2VTleKt9+ZX5znZo=";
+    hash = "sha256-AYvykiPdVeWMEoDgPHlTHDcPrk3VgNQJFXulbO/3Ars=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "enolib-0.3.0" = "sha256-nw1nnIh2r4JFcUb3D21BcjeieDTYRIza8Lrq1yD+ZYQ=";
+      "enolib-0.4.0" = "sha256-lfvQHdQSHAzeOULrvIj7MIYtNaIwc0bXC5q1KK9UGvU=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/fead/default.nix b/nixpkgs/pkgs/applications/misc/fead/default.nix
index bfd645c43313..73907a175881 100644
--- a/nixpkgs/pkgs/applications/misc/fead/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fead/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Plus;
     changelog = "https://git.sr.ht/~cnx/fead/refs/${version}";
     maintainers = with maintainers; [ McSinyx ];
+    mainProgram = "fead";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/fehlstart/default.nix b/nixpkgs/pkgs/applications/misc/fehlstart/default.nix
index 69050ca661f9..4d3903bbb6ec 100644
--- a/nixpkgs/pkgs/applications/misc/fehlstart/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fehlstart/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.mounium ];
     platforms = platforms.all;
+    mainProgram = "fehlstart";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ff2mpv/default.nix b/nixpkgs/pkgs/applications/misc/ff2mpv/default.nix
index 2a1ff0458a5d..a87e84ea3892 100644
--- a/nixpkgs/pkgs/applications/misc/ff2mpv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ff2mpv/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/woodruffw/ff2mpv";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ Enzime ];
+    mainProgram = "ff2mpv.py";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/filet/default.nix b/nixpkgs/pkgs/applications/misc/filet/default.nix
index 0ee3f6fb221a..b13f24be307d 100644
--- a/nixpkgs/pkgs/applications/misc/filet/default.nix
+++ b/nixpkgs/pkgs/applications/misc/filet/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ buffet ];
+    mainProgram = "filet";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix b/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix
index f039a31a9eb9..9df2118b02fb 100644
--- a/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/firefly-desktop/default.nix
@@ -30,5 +30,6 @@ in appimageTools.wrapType2 {
     license = licenses.asl20;
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "firefly-desktop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/firestarter/default.nix b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
index 4e8e4ff61306..a8372b643bd3 100644
--- a/nixpkgs/pkgs/applications/misc/firestarter/default.nix
+++ b/nixpkgs/pkgs/applications/misc/firestarter/default.nix
@@ -105,5 +105,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ astro marenz ];
     license = licenses.gpl3;
+    mainProgram = "FIRESTARTER";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/flamerobin/default.nix b/nixpkgs/pkgs/applications/misc/flamerobin/default.nix
index 5fd805994a6e..de0f06fa5a00 100644
--- a/nixpkgs/pkgs/applications/misc/flamerobin/default.nix
+++ b/nixpkgs/pkgs/applications/misc/flamerobin/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ uralbash ];
     platforms = platforms.unix;
+    mainProgram = "flamerobin";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/flavours/default.nix b/nixpkgs/pkgs/applications/misc/flavours/default.nix
index db625793adc7..ca3c5956e3c2 100644
--- a/nixpkgs/pkgs/applications/misc/flavours/default.nix
+++ b/nixpkgs/pkgs/applications/misc/flavours/default.nix
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ moni misterio77 ];
+    mainProgram = "flavours";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/freeplane/default.nix b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
index 4c790c5e814f..77918baff376 100644
--- a/nixpkgs/pkgs/applications/misc/freeplane/default.nix
+++ b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
@@ -147,5 +147,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ chaduffy ];
+    mainProgram = "freeplane";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/fsv/default.nix b/nixpkgs/pkgs/applications/misc/fsv/default.nix
index 9ffd520a7d56..e49610116f71 100644
--- a/nixpkgs/pkgs/applications/misc/fsv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/fsv/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license     = licenses.lgpl2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ rnhmjoj ];
+    mainProgram = "fsv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/galculator/default.nix b/nixpkgs/pkgs/applications/misc/galculator/default.nix
index a96cbb566106..9128906fe9c5 100644
--- a/nixpkgs/pkgs/applications/misc/galculator/default.nix
+++ b/nixpkgs/pkgs/applications/misc/galculator/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
+    mainProgram = "galculator";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index 772bd2d7a77b..09c0cdd0d1c4 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "gallery-dl";
-  version = "1.26.7";
+  version = "1.26.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "gallery_dl";
-    sha256 = "sha256-+aoXcxJVBp9nXKS+3+CG7XkDMemSgvExMXtnR2FDhYs=";
+    sha256 = "sha256-tfNmKgWKr2TGQNgvC/qo2+Dvij4LUL0Zy77mfTcci2k=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix b/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
index 985a67ab963f..abf63bece807 100644
--- a/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.vidbina ];
+    mainProgram = "ganttproject";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gcfflasher/default.nix b/nixpkgs/pkgs/applications/misc/gcfflasher/default.nix
index 917a66576017..076b8c4b1f6d 100644
--- a/nixpkgs/pkgs/applications/misc/gcfflasher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gcfflasher/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dresden-elektronik/gcfflasher";
     maintainers = with maintainers; [ fleaz ];
     platforms = platforms.all;
+    mainProgram = "GCFFlasher";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/geek-life/default.nix b/nixpkgs/pkgs/applications/misc/geek-life/default.nix
index ae0fa298594d..0e8e3899bb2a 100644
--- a/nixpkgs/pkgs/applications/misc/geek-life/default.nix
+++ b/nixpkgs/pkgs/applications/misc/geek-life/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     description = "The Todo List / Task Manager for Geeks in command line";
     maintainers = with maintainers; [ noisersup ];
     license = licenses.mit;
+    mainProgram = "geek-life";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/genact/default.nix b/nixpkgs/pkgs/applications/misc/genact/default.nix
index c508b3400e24..1d5c11063c00 100644
--- a/nixpkgs/pkgs/applications/misc/genact/default.nix
+++ b/nixpkgs/pkgs/applications/misc/genact/default.nix
@@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/svenstaro/genact/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "genact";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix b/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
index 2d0bd2ca594c..939205017fe7 100644
--- a/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/geoipupdate/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/maxmind/geoipupdate";
     license = with licenses; [ asl20 ];
     maintainers = teams.helsinki-systems.members;
+    mainProgram = "geoipupdate";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ghosttohugo/default.nix b/nixpkgs/pkgs/applications/misc/ghosttohugo/default.nix
index 29091a8447c2..5ec5cc6870ca 100644
--- a/nixpkgs/pkgs/applications/misc/ghosttohugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ghosttohugo/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/jbarone/ghostToHugo";
     license = licenses.mit;
     maintainers = with maintainers; [ clerie ];
+    mainProgram = "ghostToHugo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gmnitohtml/default.nix b/nixpkgs/pkgs/applications/misc/gmnitohtml/default.nix
index 463d1d50ab54..837379890b4c 100644
--- a/nixpkgs/pkgs/applications/misc/gmnitohtml/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gmnitohtml/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ jk sikmir ];
+    mainProgram = "gmnitohtml";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gmrun/default.nix b/nixpkgs/pkgs/applications/misc/gmrun/default.nix
index bd99adf94359..e71b1a6484d3 100644
--- a/nixpkgs/pkgs/applications/misc/gmrun/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gmrun/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [];
     platforms = platforms.all;
+    mainProgram = "gmrun";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/go-org/default.nix b/nixpkgs/pkgs/applications/misc/go-org/default.nix
index 6ab70d0fe307..8aa5a3be717b 100644
--- a/nixpkgs/pkgs/applications/misc/go-org/default.nix
+++ b/nixpkgs/pkgs/applications/misc/go-org/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://niklasfasching.github.io/go-org";
     license = licenses.mit;
     maintainers = with maintainers; [ payas ];
+    mainProgram = "go-org";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gollum/default.nix b/nixpkgs/pkgs/applications/misc/gollum/default.nix
index cafebfad39a2..a345896ca8d9 100644
--- a/nixpkgs/pkgs/applications/misc/gollum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gollum/default.nix
@@ -19,5 +19,6 @@ bundlerApp rec {
     license = licenses.mit;
     maintainers = with maintainers; [ erictapen jgillich nicknovitski bbenno ];
     platforms = platforms.unix;
+    mainProgram = "gollum";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gomatrix/default.nix b/nixpkgs/pkgs/applications/misc/gomatrix/default.nix
index 2b9ee3a15553..001b57d06eec 100644
--- a/nixpkgs/pkgs/applications/misc/gomatrix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gomatrix/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ skykanin ];
     homepage = "https://github.com/GeertJohan/gomatrix";
+    mainProgram = "gomatrix";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/googler/default.nix b/nixpkgs/pkgs/applications/misc/googler/default.nix
index a7cd5ec64abd..9e204ed636f3 100644
--- a/nixpkgs/pkgs/applications/misc/googler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/googler/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ koral Br1ght0ne ];
     platforms = python.meta.platforms;
+    mainProgram = "googler";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gostatic/default.nix b/nixpkgs/pkgs/applications/misc/gostatic/default.nix
index 240df1a91363..b7967f6f4e4f 100644
--- a/nixpkgs/pkgs/applications/misc/gostatic/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gostatic/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/piranha/gostatic";
     license = licenses.isc;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "gostatic";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpa/default.nix b/nixpkgs/pkgs/applications/misc/gpa/default.nix
index 0d567dd79a10..cf6a915e29c1 100644
--- a/nixpkgs/pkgs/applications/misc/gpa/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpa/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.gnupg.org/related_software/gpa/";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
+    mainProgram = "gpa";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gphoto2/default.nix b/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
index b65904006751..96eca30a4f49 100644
--- a/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gphoto2/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.jcumming ];
+    mainProgram = "gphoto2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpsbabel/default.nix b/nixpkgs/pkgs/applications/misc/gpsbabel/default.nix
index 0898c3ccee9a..fbacfb6984c6 100644
--- a/nixpkgs/pkgs/applications/misc/gpsbabel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpsbabel/default.nix
@@ -114,5 +114,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "gpsbabel";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpsprune/default.nix b/nixpkgs/pkgs/applications/misc/gpsprune/default.nix
index 8ea6091894e8..293c3c5691ec 100644
--- a/nixpkgs/pkgs/applications/misc/gpsprune/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpsprune/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rycee ];
     platforms = platforms.all;
+    mainProgram = "gpsprune";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix b/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix
index 4d6abb585c30..fe7bcf3dcb71 100644
--- a/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpu-burn/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = with maintainers; [ elohmeier ];
     license = licenses.bsd2;
+    mainProgram = "gpu_burn";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpu-viewer/default.nix b/nixpkgs/pkgs/applications/misc/gpu-viewer/default.nix
index 03ca5ee9ec17..5d703f7d6e37 100644
--- a/nixpkgs/pkgs/applications/misc/gpu-viewer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpu-viewer/default.nix
@@ -71,5 +71,6 @@ python3.pkgs.buildPythonApplication rec {
     maintainers = with maintainers; [ GaetanLepage ];
     license = licenses.gpl3;
     platforms = platforms.linux;
+    mainProgram = "gpu-viewer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index fc756f7cd747..896cf02dc887 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.15";
+  version = "13.16";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-+JxxJKHOCz1Ccii27II4L4owo/qvb7RQ6STqJ+PEEBA=";
+    hash = "sha256-rw+I7Re1hqZ1k1flIAr7kW8Wst7pVdmFcqtQTg6L/9Y=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/grb/default.nix b/nixpkgs/pkgs/applications/misc/grb/default.nix
index 0a3d3dfd83b9..9d4774b42a2c 100644
--- a/nixpkgs/pkgs/applications/misc/grb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/grb/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LukeSmithxyz/grb";
     license = licenses.publicDomain;
     maintainers = [ maintainers.cafkafk ];
+    mainProgram = "grb";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/green-pdfviewer/default.nix b/nixpkgs/pkgs/applications/misc/green-pdfviewer/default.nix
index fe21631c0d67..9f649b07ff8c 100644
--- a/nixpkgs/pkgs/applications/misc/green-pdfviewer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/green-pdfviewer/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "green";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix b/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix
index 367387f54ec8..ee7d7d3a95b9 100644
--- a/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gremlin-console/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.lewo ];
     platforms = platforms.all;
+    mainProgram = "gremlin-console";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix b/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix
index 82b7bf1e9fe0..00cd3bf79091 100644
--- a/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gremlin-server/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = [ maintainers.jrpotter ];
     platforms = platforms.all;
+    mainProgram = "gremlin-server";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/grip/default.nix b/nixpkgs/pkgs/applications/misc/grip/default.nix
index 281f8dec2272..f993cb387b74 100644
--- a/nixpkgs/pkgs/applications/misc/grip/default.nix
+++ b/nixpkgs/pkgs/applications/misc/grip/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
 
     maintainers = with lib.maintainers; [ marcweber ];
     platforms = lib.platforms.linux;
+    mainProgram = "grip";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gsctl/default.nix b/nixpkgs/pkgs/applications/misc/gsctl/default.nix
index 31f8881127d1..1e88b837f4a8 100644
--- a/nixpkgs/pkgs/applications/misc/gsctl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gsctl/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     homepage = "https://github.com/giantswarm/gsctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ joesalisbury ];
+    mainProgram = "gsctl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gsimplecal/default.nix b/nixpkgs/pkgs/applications/misc/gsimplecal/default.nix
index 2cb72575a4bf..224f2f359d77 100644
--- a/nixpkgs/pkgs/applications/misc/gsimplecal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gsimplecal/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.romildo ];
     platforms = lib.platforms.linux;
+    mainProgram = "gsimplecal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gtk2fontsel/default.nix b/nixpkgs/pkgs/applications/misc/gtk2fontsel/default.nix
index 53344338bd03..83be4fe82393 100644
--- a/nixpkgs/pkgs/applications/misc/gtk2fontsel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gtk2fontsel/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.prikhi ];
     platforms = platforms.linux;
+    mainProgram = "gtk2fontsel";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gxkb/default.nix b/nixpkgs/pkgs/applications/misc/gxkb/default.nix
index 350e33144760..201cbdb0a11a 100644
--- a/nixpkgs/pkgs/applications/misc/gxkb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxkb/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.omgbebebe ];
     platforms = platforms.linux;
+    mainProgram = "gxkb";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
index fb172eb22b01..ae5c7d1d07a4 100644
--- a/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxmessage/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [jfb];
     platforms = with lib.platforms; linux;
+    mainProgram = "gxmessage";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/gxneur/default.nix b/nixpkgs/pkgs/applications/misc/gxneur/default.nix
index 53873af2b07a..0bfc3ce91f65 100644
--- a/nixpkgs/pkgs/applications/misc/gxneur/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gxneur/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     description = "GUI for XNEUR keyboard layout switcher";
     platforms = platforms.linux;
     license = with licenses; [ gpl2 gpl3 ];
+    mainProgram = "gxneur";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/harsh/default.nix b/nixpkgs/pkgs/applications/misc/harsh/default.nix
index 068a03d41cfb..449b154cb8b6 100644
--- a/nixpkgs/pkgs/applications/misc/harsh/default.nix
+++ b/nixpkgs/pkgs/applications/misc/harsh/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/wakatara/harsh/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ laurailway ];
+    mainProgram = "harsh";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/has/default.nix b/nixpkgs/pkgs/applications/misc/has/default.nix
index 144d8073ff0e..a18a996f92aa 100644
--- a/nixpkgs/pkgs/applications/misc/has/default.nix
+++ b/nixpkgs/pkgs/applications/misc/has/default.nix
@@ -25,5 +25,6 @@ stdenvNoCC.mkDerivation (finalAttrs: rec {
     license = licenses.mit;
     maintainers = with maintainers; [ Freed-Wu ];
     platforms = platforms.unix;
+    mainProgram = "has";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/hcl2json/default.nix b/nixpkgs/pkgs/applications/misc/hcl2json/default.nix
index d2c2bb319f8b..be6da03f1708 100644
--- a/nixpkgs/pkgs/applications/misc/hcl2json/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hcl2json/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/tmccombs/hcl2json";
     license = licenses.asl20;
     maintainers = with maintainers; [ jonringer ];
+    mainProgram = "hcl2json";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix b/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
index 5c9a507fc071..6fae0eca1399 100644
--- a/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hello-unfree/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     description = "An example package with unfree license (for testing)";
     license = lib.licenses.unfree;
     maintainers = [ lib.maintainers.oxij ];
+    mainProgram = "hello-unfree";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/herbe/default.nix b/nixpkgs/pkgs/applications/misc/herbe/default.nix
index 0d05228b63eb..9ea08f0dc83c 100644
--- a/nixpkgs/pkgs/applications/misc/herbe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/herbe/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     # NOTE: Could also work on 'unix'.
     platforms = platforms.linux;
     maintainers = with maintainers; [ wishfort36 ];
+    mainProgram = "herbe";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/hivemind/default.nix b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
index adc6aa3642ef..589c6fa80736 100644
--- a/nixpkgs/pkgs/applications/misc/hivemind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hivemind/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     description = "Process manager for Procfile-based applications";
     license = with licenses; [ mit ];
     maintainers = [ maintainers.sveitser ];
+    mainProgram = "hivemind";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/hr/default.nix b/nixpkgs/pkgs/applications/misc/hr/default.nix
index 7435d02c99c8..f0a43de700fc 100644
--- a/nixpkgs/pkgs/applications/misc/hr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hr/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "hr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/inlyne/default.nix b/nixpkgs/pkgs/applications/misc/inlyne/default.nix
index 01ce66abc7fb..d9698c04aed5 100644
--- a/nixpkgs/pkgs/applications/misc/inlyne/default.nix
+++ b/nixpkgs/pkgs/applications/misc/inlyne/default.nix
@@ -65,5 +65,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/trimental/inlyne/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "inlyne";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/insulator2/default.nix b/nixpkgs/pkgs/applications/misc/insulator2/default.nix
index 456ca5d2448e..65b8cb505f72 100644
--- a/nixpkgs/pkgs/applications/misc/insulator2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/insulator2/default.nix
@@ -94,6 +94,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/andrewinci/insulator2";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ tc-kaluza ];
+    mainProgram = "insulator-2";
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/misc/ipatool/default.nix b/nixpkgs/pkgs/applications/misc/ipatool/default.nix
index 6c3ffc5455e5..0b9e7f8a9415 100644
--- a/nixpkgs/pkgs/applications/misc/ipatool/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ipatool/default.nix
@@ -47,5 +47,6 @@ buildGoModule rec {
     changelog = "https://github.com/majd/ipatool/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ gaelreyrol ];
+    mainProgram = "ipatool";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ipmiview/default.nix b/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
index d1162052cebb..ff8db5339f65 100644
--- a/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ipmiview/default.nix
@@ -79,5 +79,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ vlaci ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "IPMIView";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/jekyll/default.nix b/nixpkgs/pkgs/applications/misc/jekyll/default.nix
index 510e06ab53bf..2b9f1497b765 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jekyll/default.nix
@@ -53,5 +53,6 @@ in bundlerApp {
     license     = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms   = platforms.unix;
+    mainProgram = "jekyll";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/jetbrains-toolbox/default.nix b/nixpkgs/pkgs/applications/misc/jetbrains-toolbox/default.nix
index ca8394e0dbdb..aae85f1e4384 100644
--- a/nixpkgs/pkgs/applications/misc/jetbrains-toolbox/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jetbrains-toolbox/default.nix
@@ -10,11 +10,11 @@
 }:
 let
   pname = "jetbrains-toolbox";
-  version = "2.1.3.18901";
+  version = "2.2.1.19765";
 
   src = fetchzip {
     url = "https://download.jetbrains.com/toolbox/jetbrains-toolbox-${version}.tar.gz";
-    sha256 = "sha256-XZEpzzFm0DA6iiPGOKbmsuNlpIlt7Qa2A+jEqU6GqgE=";
+    sha256 = "sha256-53CsE1hmtys5hNY2V+tskgwKg9jDLrEsYF6iY2fJGHU=";
     stripRoot = false;
   };
 
@@ -72,5 +72,6 @@ stdenv.mkDerivation {
     license = licenses.unfree;
     maintainers = with maintainers; [ AnatolyPopov ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "jetbrains-toolbox";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/josm/default.nix b/nixpkgs/pkgs/applications/misc/josm/default.nix
index 41521f2d7c57..3c3fc200c114 100644
--- a/nixpkgs/pkgs/applications/misc/josm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/josm/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rycee sikmir ];
     platforms = platforms.all;
+    mainProgram = "josm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/jp2a/default.nix b/nixpkgs/pkgs/applications/misc/jp2a/default.nix
index bebccc6c1c4c..5ae33e8264f9 100644
--- a/nixpkgs/pkgs/applications/misc/jp2a/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jp2a/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = [ maintainers.FlorianFranzen ];
     platforms = platforms.unix;
+    mainProgram = "jp2a";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/jquake/default.nix b/nixpkgs/pkgs/applications/misc/jquake/default.nix
index ce0ea2ec1c5f..916a12db3150 100644
--- a/nixpkgs/pkgs/applications/misc/jquake/default.nix
+++ b/nixpkgs/pkgs/applications/misc/jquake/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.unfree;
     platforms = platforms.linux;
+    mainProgram = "JQuake";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/kaufkauflist/default.nix b/nixpkgs/pkgs/applications/misc/kaufkauflist/default.nix
index b6a99ee0b84f..e7e462caf791 100644
--- a/nixpkgs/pkgs/applications/misc/kaufkauflist/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kaufkauflist/default.nix
@@ -48,5 +48,6 @@ in buildNpmPackage rec {
     description = "A to-do list for shopping or other use cases";
     license = licenses.mit;
     maintainers = with maintainers; [ annaaurora ];
+    mainProgram = "kaufdbclean";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/kbt/default.nix b/nixpkgs/pkgs/applications/misc/kbt/default.nix
index 3960556f4d8e..c59b5e62c433 100644
--- a/nixpkgs/pkgs/applications/misc/kbt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kbt/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/bloznelis/kbt";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "kbt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/keepass-diff/default.nix b/nixpkgs/pkgs/applications/misc/keepass-diff/default.nix
index 5e03c0f2cac4..5cee712ae0c6 100644
--- a/nixpkgs/pkgs/applications/misc/keepass-diff/default.nix
+++ b/nixpkgs/pkgs/applications/misc/keepass-diff/default.nix
@@ -16,5 +16,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://keepass-diff.narigo.dev/";
     license = licenses.mit;
     maintainers = with maintainers; [ wamserma ];
+    mainProgram = "keepass-diff";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix b/nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
index 9d70e59202e8..5a9afb42dd15 100644
--- a/nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
+++ b/nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
@@ -42,6 +42,7 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://github.com/mschneider82/keylight-control";
     maintainers = with maintainers; [ ];
+    mainProgram = "keylight-control";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/khal/default.nix b/nixpkgs/pkgs/applications/misc/khal/default.nix
index ef5f0cbb9242..83de3e517d78 100644
--- a/nixpkgs/pkgs/applications/misc/khal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/khal/default.nix
@@ -6,46 +6,28 @@
 , python3
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-
-      # Doesn't work with latest urwid
-      urwid = super.urwid.overridePythonAttrs (oldAttrs: rec {
-        version = "2.1.2";
-        src = fetchFromGitHub {
-          owner = "urwid";
-          repo = "urwid";
-          rev = "refs/tags/${version}";
-          hash = "sha256-oPb2h/+gaqkZTXIiESjExMfBNnOzDvoMkXvkZ/+KVwo=";
-        };
-        doCheck = false;
-      });
-    };
-  };
-in
-py.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "khal";
-  version = "0.11.2";
+  version = "0.11.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pimutils";
     repo = "khal";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yI33pB/t+UISvSbLUzmsZqBxLF6r8R3j9iPNeosKcYw=";
+    hash = "sha256-YP2kQ/qXPDwvFvlHf+A2Ymvk49dmt5tAnTaOhrOV92M=";
   };
 
   nativeBuildInputs = [
     glibcLocales
     installShellFiles
-  ] ++ (with py.pkgs; [
+  ] ++ (with python3.pkgs; [
     setuptools-scm
     sphinx
     sphinxcontrib-newsfeed
   ]);
 
-  propagatedBuildInputs = with py.pkgs;[
+  propagatedBuildInputs = with python3.pkgs;[
     atomicwrites
     click
     click-log
@@ -63,7 +45,7 @@ py.pkgs.buildPythonApplication rec {
     urwid
   ];
 
-  nativeCheckInputs = with py.pkgs;[
+  nativeCheckInputs = with python3.pkgs;[
     freezegun
     hypothesis
     packaging
diff --git a/nixpkgs/pkgs/applications/misc/kiln/default.nix b/nixpkgs/pkgs/applications/misc/kiln/default.nix
index ed9575ffa0ba..cafa43fa4f8c 100644
--- a/nixpkgs/pkgs/applications/misc/kiln/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kiln/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     homepage = "https://kiln.adnano.co/";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "kiln";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/klipperscreen/default.nix b/nixpkgs/pkgs/applications/misc/klipperscreen/default.nix
index e970c2572548..8589991ff522 100644
--- a/nixpkgs/pkgs/applications/misc/klipperscreen/default.nix
+++ b/nixpkgs/pkgs/applications/misc/klipperscreen/default.nix
@@ -50,5 +50,6 @@
     homepage = "https://github.com/jordanruthe/KlipperScreen";
     license = licenses.agpl3;
     maintainers = with maintainers; [ cab404 ];
+    mainProgram = "KlipperScreen";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/kondo/default.nix b/nixpkgs/pkgs/applications/misc/kondo/default.nix
index c210c257cc53..eba5799a9172 100644
--- a/nixpkgs/pkgs/applications/misc/kondo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kondo/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/tbillington/kondo";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne ];
+    mainProgram = "kondo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/krabby/default.nix b/nixpkgs/pkgs/applications/misc/krabby/default.nix
index 31880f99a0cb..d006ec00b918 100644
--- a/nixpkgs/pkgs/applications/misc/krabby/default.nix
+++ b/nixpkgs/pkgs/applications/misc/krabby/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/yannjor/krabby/releases/tag/v${version}";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ruby0b ];
+    mainProgram = "krabby";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/kratos/default.nix b/nixpkgs/pkgs/applications/misc/kratos/default.nix
index 9031b7d6d566..961e2289d21b 100644
--- a/nixpkgs/pkgs/applications/misc/kratos/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kratos/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     homepage = "https://www.ory.sh/kratos/";
     license = licenses.asl20;
     description = "An API-first Identity and User Management system that is built according to cloud architecture best practices";
+    mainProgram = "kratos";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lavalauncher/default.nix b/nixpkgs/pkgs/applications/misc/lavalauncher/default.nix
index 1e8cb505f4a0..d4556402e21b 100644
--- a/nixpkgs/pkgs/applications/misc/lavalauncher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lavalauncher/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; unix;
+    mainProgram = "lavalauncher";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lemonade/default.nix b/nixpkgs/pkgs/applications/misc/lemonade/default.nix
index 68622718e048..c9ca92d364e1 100644
--- a/nixpkgs/pkgs/applications/misc/lemonade/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lemonade/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/lemonade-command/lemonade/";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "lemonade";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lenmus/default.nix b/nixpkgs/pkgs/applications/misc/lenmus/default.nix
index 80da168cdafe..6736f342e89a 100644
--- a/nixpkgs/pkgs/applications/misc/lenmus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lenmus/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers;  [ ramkromberg ];
     platforms = with platforms; unix;
+    mainProgram = "lenmus";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/limesctl/default.nix b/nixpkgs/pkgs/applications/misc/limesctl/default.nix
index 119d8488ed47..00323a259db2 100644
--- a/nixpkgs/pkgs/applications/misc/limesctl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/limesctl/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/sapcc/limesctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "limesctl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/logseq/default.nix b/nixpkgs/pkgs/applications/misc/logseq/default.nix
index 0877b3169014..ed4a07ec97ae 100644
--- a/nixpkgs/pkgs/applications/misc/logseq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/logseq/default.nix
@@ -74,5 +74,6 @@ in {
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "logseq";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/lscolors/default.nix b/nixpkgs/pkgs/applications/misc/lscolors/default.nix
index d61499ed0737..104f1baa037d 100644
--- a/nixpkgs/pkgs/applications/misc/lscolors/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lscolors/default.nix
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/sharkdp/lscolors/releases/tag/v${version}";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "lscolors";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lswt/default.nix b/nixpkgs/pkgs/applications/misc/lswt/default.nix
index 59315ec9b7fd..98f36028dbc2 100644
--- a/nixpkgs/pkgs/applications/misc/lswt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lswt/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ edrex ];
     platforms = platforms.linux;
+    mainProgram = "lswt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ltwheelconf/default.nix b/nixpkgs/pkgs/applications/misc/ltwheelconf/default.nix
index 52fac4941562..b9c53a58b03d 100644
--- a/nixpkgs/pkgs/applications/misc/ltwheelconf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ltwheelconf/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.linux;
+    mainProgram = "ltwheelconf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/lunatask/default.nix b/nixpkgs/pkgs/applications/misc/lunatask/default.nix
index b298992fbf83..017eb17a40ad 100644
--- a/nixpkgs/pkgs/applications/misc/lunatask/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lunatask/default.nix
@@ -37,5 +37,6 @@ appimageTools.wrapType2 rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ henkery ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "lunatask";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/madonctl/default.nix b/nixpkgs/pkgs/applications/misc/madonctl/default.nix
index 0e204ea83854..203d71a6cc48 100644
--- a/nixpkgs/pkgs/applications/misc/madonctl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/madonctl/default.nix
@@ -33,5 +33,6 @@ buildGoModule rec {
     homepage = "https://github.com/McKael/madonctl";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "madonctl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mainsail/default.nix b/nixpkgs/pkgs/applications/misc/mainsail/default.nix
index cb9ce043e9ce..4f4c91505027 100644
--- a/nixpkgs/pkgs/applications/misc/mainsail/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mainsail/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mainsail";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchzip {
     url = "https://github.com/mainsail-crew/mainsail/releases/download/v${version}/mainsail.zip";
-    hash = "sha256-OrCS+0zfXs72vJbrqjvEaHJWD0ndozfCcHs1N9Gqios=";
+    hash = "sha256-5bRmM/BXI0Afe7UK6avh5aWFXkYF4MsUG71uYUc5JlA=";
     stripRoot = false;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/makeself/default.nix b/nixpkgs/pkgs/applications/misc/makeself/default.nix
index 3226797ca4be..7c2d33aebc00 100644
--- a/nixpkgs/pkgs/applications/misc/makeself/default.nix
+++ b/nixpkgs/pkgs/applications/misc/makeself/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.wmertens ];
     platforms = platforms.all;
+    mainProgram = "makeself";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mangal/default.nix b/nixpkgs/pkgs/applications/misc/mangal/default.nix
index 6edc9da4f602..cc485d84e8e0 100644
--- a/nixpkgs/pkgs/applications/misc/mangal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mangal/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     homepage = "https://github.com/metafates/mangal";
     license = licenses.mit;
     maintainers = [ maintainers.bertof ];
+    mainProgram = "mangal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mdp/default.nix b/nixpkgs/pkgs/applications/misc/mdp/default.nix
index 2c13ed4ecc9e..fd3ab88ff4c8 100644
--- a/nixpkgs/pkgs/applications/misc/mdp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mdp/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ matthiasbeyer vrthra ];
     license = licenses.gpl3;
     platforms = with platforms; unix;
+    mainProgram = "mdp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mdzk/default.nix b/nixpkgs/pkgs/applications/misc/mdzk/default.nix
index 98bcda9943fc..e4093295df68 100644
--- a/nixpkgs/pkgs/applications/misc/mdzk/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mdzk/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/mdzk-rs/mdzk/blob/main/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = with maintainers; [ bryanasdev000 ratsclub ];
+    mainProgram = "mdzk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/memo/default.nix b/nixpkgs/pkgs/applications/misc/memo/default.nix
index 885e5466f8b3..93ef8192f54b 100644
--- a/nixpkgs/pkgs/applications/misc/memo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/memo/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.mrVanDalo ];
     platforms = lib.platforms.all;
+    mainProgram = "memo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mencal/default.nix b/nixpkgs/pkgs/applications/misc/mencal/default.nix
index c4973b275534..011db7455fcf 100644
--- a/nixpkgs/pkgs/applications/misc/mencal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mencal/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.mmahut ];
     platforms = platforms.all;
+    mainProgram = "mencal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix b/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix
index 9b2b7bdde881..c5950e2e9df0 100644
--- a/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/metamorphose2/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation {
     license     = with licenses; gpl3Plus;
     maintainers = with maintainers; [ ramkromberg ];
     platforms   = with platforms; linux;
+    mainProgram = "metamorphose2";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/metar/default.nix b/nixpkgs/pkgs/applications/misc/metar/default.nix
index 07ac41f7281e..d1edfb6a761f 100644
--- a/nixpkgs/pkgs/applications/misc/metar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/metar/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
     '';
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ zalakain ];
+    mainProgram = "metar";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/milu/default.nix b/nixpkgs/pkgs/applications/misc/milu/default.nix
index a941f6251498..b05a1c815baa 100644
--- a/nixpkgs/pkgs/applications/misc/milu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/milu/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
     license = lib.licenses.bsd2;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.vrthra ];
+    mainProgram = "milu";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/minder/default.nix b/nixpkgs/pkgs/applications/misc/minder/default.nix
index 9987f7b96dba..a6f3130f9f1e 100644
--- a/nixpkgs/pkgs/applications/misc/minder/default.nix
+++ b/nixpkgs/pkgs/applications/misc/minder/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/XtJCj1ratUTNXRp7zsBp10tQjyiaDN9623/UChBu9c=";
+    sha256 = "sha256-YDsWWC4exh+9V87WyjdMdCH1arjBct3oEXbvaFyAaMY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
index 298aa2ef40f4..5648e34d8461 100644
--- a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
@@ -15,12 +15,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4916";
+  version = "4917";
 
   src = fetchsvn {
     url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
     rev = version;
-    sha256 = "sha256-Ok6s1DaTZBcYtkHA7WAxjGz0HycvFqBpkwZIirc+dFU=";
+    sha256 = "sha256-7VCEbsvcT7iaJ3MZz4CthJEE9FSJCowAO7PJ9UqmzPA=";
   };
 
   patches = [
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.all;
+    mainProgram = "mkgmap";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mop/default.nix b/nixpkgs/pkgs/applications/misc/mop/default.nix
index ddd02d45df0c..301b5302b022 100644
--- a/nixpkgs/pkgs/applications/misc/mop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mop/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     description = "Simple stock tracker implemented in go";
     homepage = "https://github.com/mop-tracker/mop";
     license = licenses.mit;
+    mainProgram = "mop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mystem/default.nix b/nixpkgs/pkgs/applications/misc/mystem/default.nix
index 198d170bd89c..50c2c35749e0 100644
--- a/nixpkgs/pkgs/applications/misc/mystem/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mystem/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ abbradar ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "mystem";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/natural-docs/default.nix b/nixpkgs/pkgs/applications/misc/natural-docs/default.nix
index be4bd5f430fa..2995eba5787b 100644
--- a/nixpkgs/pkgs/applications/misc/natural-docs/default.nix
+++ b/nixpkgs/pkgs/applications/misc/natural-docs/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://naturaldocs.org";
     license = licenses.agpl3Only;
     maintainers = [ maintainers.nkpvk ];
+    mainProgram = "NaturalDocs";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/neo/default.nix b/nixpkgs/pkgs/applications/misc/neo/default.nix
index e091a572c272..27216c381db6 100644
--- a/nixpkgs/pkgs/applications/misc/neo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/neo/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/st3w/neo";
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.abbe ];
+    mainProgram = "neo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix b/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
index d3058dbf1834..42cd8067fe32 100644
--- a/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -29,5 +29,6 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     maintainers = [ maintainers.bobvanderlinden ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "neo4j-desktop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
index b7485255b8a8..bff2a40e5370 100644
--- a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://nixcloud.io/tour";
     license = licenses.gpl2;
     maintainers = with maintainers; [ qknight yuu ];
+    mainProgram = "nix-tour";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/notesnook/default.nix b/nixpkgs/pkgs/applications/misc/notesnook/default.nix
index cb39e26994f5..62788b5a7f13 100644
--- a/nixpkgs/pkgs/applications/misc/notesnook/default.nix
+++ b/nixpkgs/pkgs/applications/misc/notesnook/default.nix
@@ -38,6 +38,7 @@ let
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ j0lol ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "notesnook";
   };
 
   linux = appimageTools.wrapType2 rec {
diff --git a/nixpkgs/pkgs/applications/misc/nrsc5/default.nix b/nixpkgs/pkgs/applications/misc/nrsc5/default.nix
index e55438f0eb11..2b1a2ff22188 100644
--- a/nixpkgs/pkgs/applications/misc/nrsc5/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nrsc5/default.nix
@@ -48,6 +48,7 @@ in stdenv.mkDerivation {
     platforms = lib.platforms.linux;
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ markuskowa ];
+    mainProgram = "nrsc5";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/ns-usbloader/default.nix b/nixpkgs/pkgs/applications/misc/ns-usbloader/default.nix
index ff16debee7ef..2a08b24435a2 100644
--- a/nixpkgs/pkgs/applications/misc/ns-usbloader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ns-usbloader/default.nix
@@ -100,5 +100,6 @@ maven.buildMavenPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ soupglasses ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
+    mainProgram = "ns-usbloader";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/nwg-dock/default.nix b/nixpkgs/pkgs/applications/misc/nwg-dock/default.nix
index b2154db0d794..f32873e21a06 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-dock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-dock/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "nwg-dock";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
index 67eb8cc314c4..47f234cc30f3 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nwg-panel/default.nix
@@ -7,7 +7,7 @@
 , systemd          # systemctl
 , wlr-randr        # wlr-randr
 , nwg-menu         # nwg-menu
-, light            # light
+, brightnessctl    # brightnessctl
 , pamixer          # pamixer
 , pulseaudio       # pactl
 , libdbusmenu-gtk3 # tray
@@ -16,13 +16,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.9.20";
+  version = "0.9.23";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    hash = "sha256-Cq/kj61OmnHLd8EQK6QF67ALv3lMXKPGYUvTIeh90zQ=";
+    hash = "sha256-NCMGqKRcwqy4e3gF9y2oykiAoL8X3IZbcGzq6N3CAMU=";
   };
 
   # No tests
@@ -49,7 +49,7 @@ python3Packages.buildPythonApplication rec {
     makeWrapperArgs+=(
       "''${gappsWrapperArgs[@]}"
       --prefix XDG_DATA_DIRS : "$out/share"
-      --prefix PATH : "${lib.makeBinPath [ hyprland light nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
+      --prefix PATH : "${lib.makeBinPath [ brightnessctl hyprland nwg-menu pamixer pulseaudio sway systemd wlr-randr ]}"
     )
   '';
 
diff --git a/nixpkgs/pkgs/applications/misc/obs-cli/default.nix b/nixpkgs/pkgs/applications/misc/obs-cli/default.nix
index f62fa6a84013..8ff7e7a48157 100644
--- a/nixpkgs/pkgs/applications/misc/obs-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/obs-cli/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ flexiondotorg ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "obs-cli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/onagre/default.nix b/nixpkgs/pkgs/applications/misc/onagre/default.nix
index 1b39cf45eeae..b6375e6b5955 100644
--- a/nixpkgs/pkgs/applications/misc/onagre/default.nix
+++ b/nixpkgs/pkgs/applications/misc/onagre/default.nix
@@ -36,5 +36,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.jfvillablanca ];
     platforms = platforms.linux;
+    mainProgram = "onagre";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/oneko/default.nix b/nixpkgs/pkgs/applications/misc/oneko/default.nix
index 17a94511e3fc..a67bedd42912 100644
--- a/nixpkgs/pkgs/applications/misc/oneko/default.nix
+++ b/nixpkgs/pkgs/applications/misc/oneko/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ publicDomain ];
     maintainers = with maintainers; [ xaverdh irenes ];
     platforms = platforms.unix;
+    mainProgram = "oneko";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/openbox-menu/default.nix b/nixpkgs/pkgs/applications/misc/openbox-menu/default.nix
index e9646b9c21d4..de3fc6cd0acc 100644
--- a/nixpkgs/pkgs/applications/misc/openbox-menu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openbox-menu/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.romildo ];
     platforms   = platforms.unix;
+    mainProgram = "openbox-menu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/openjump/default.nix b/nixpkgs/pkgs/applications/misc/openjump/default.nix
index d6b20a7f01e5..e1eceab49647 100644
--- a/nixpkgs/pkgs/applications/misc/openjump/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openjump/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.marcweber];
     platforms = lib.platforms.linux;
+    mainProgram = "OpenJump";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/openring/default.nix b/nixpkgs/pkgs/applications/misc/openring/default.nix
index e311dfbb3b7c..2f72b8b41cc0 100644
--- a/nixpkgs/pkgs/applications/misc/openring/default.nix
+++ b/nixpkgs/pkgs/applications/misc/openring/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://sr.ht/~sircmpwn/openring";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ sumnerevans ];
+    mainProgram = "openring";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/oranda/default.nix b/nixpkgs/pkgs/applications/misc/oranda/default.nix
index 9e1ff27f651b..bf84c0782da6 100644
--- a/nixpkgs/pkgs/applications/misc/oranda/default.nix
+++ b/nixpkgs/pkgs/applications/misc/oranda/default.nix
@@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/axodotdev/oranda/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "oranda";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/organicmaps/default.nix b/nixpkgs/pkgs/applications/misc/organicmaps/default.nix
index ec6fbca5d1d0..de12a1cb44a2 100644
--- a/nixpkgs/pkgs/applications/misc/organicmaps/default.nix
+++ b/nixpkgs/pkgs/applications/misc/organicmaps/default.nix
@@ -29,13 +29,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "organicmaps";
-  version = "2024.01.09-5";
+  version = "2024.02.06-11";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
     rev = "${version}-android";
-    hash = "sha256-VIznPMr+XKIobR4eFUVx880MND+EGAHKCYAkdDfgLDA=";
+    hash = "sha256-/taXiJvVP2WCg/F6I6WiZuPKl+Mhwvex/1JNXqrs0mA=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix b/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
index 545ea498002a..bca60b14a34d 100644
--- a/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
+++ b/nixpkgs/pkgs/applications/misc/osm2xmap/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.mpickering ];
     platforms = with lib.platforms; linux;
+    mainProgram = "osm2xmap";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix b/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
index cf7c419e40de..061d57952153 100644
--- a/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
+++ b/nixpkgs/pkgs/applications/misc/osmium-tool/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/osmcode/osmium-tool/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ gpl3Plus mit bsd3 ];
     maintainers = with maintainers; [ das-g ];
+    mainProgram = "osmium";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/osmtogeojson/default.nix b/nixpkgs/pkgs/applications/misc/osmtogeojson/default.nix
index 5854d36b1e7a..07d989d2cc83 100644
--- a/nixpkgs/pkgs/applications/misc/osmtogeojson/default.nix
+++ b/nixpkgs/pkgs/applications/misc/osmtogeojson/default.nix
@@ -23,5 +23,6 @@ buildNpmPackage rec {
     homepage = "https://tyrasd.github.io/osmtogeojson/";
     maintainers = with maintainers; [ thibautmarty ];
     license = licenses.mit;
+    mainProgram = "osmtogeojson";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/otf2bdf/default.nix b/nixpkgs/pkgs/applications/misc/otf2bdf/default.nix
index 947957df284c..6653225b7f44 100644
--- a/nixpkgs/pkgs/applications/misc/otf2bdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/otf2bdf/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit0;
     platforms = platforms.all;
     maintainers = with maintainers; [ hzeller ];
+    mainProgram = "otf2bdf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/owmods-cli/default.nix b/nixpkgs/pkgs/applications/misc/owmods-cli/default.nix
index 4dd5a67aa995..44a711dfeec1 100644
--- a/nixpkgs/pkgs/applications/misc/owmods-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/owmods-cli/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "owmods-cli";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "ow-mods";
     repo = "ow-mod-man";
     rev = "cli_v${version}";
-    hash = "sha256-hvzKTJKjO7MafvnrpG9ZkCz1ePr9NCo54zaRRkRCc60=";
+    hash = "sha256-AfqpLL3cGZLKW5/BE6SaBe4S8GzYM2GKUZU8mFH5uX4=";
   };
 
-  cargoHash = "sha256-db6wZs7OVPoESl4RnvOtmaM07FgKmko3nyf1CXzyJHA=";
+  cargoHash = "sha256-PhdfpiUgeOB13ROgzPBYM+sBLGMP+RtV9j9ebo8PpJU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/applications/misc/oxker/default.nix b/nixpkgs/pkgs/applications/misc/oxker/default.nix
index 7974466a1c2c..5952345ec1c7 100644
--- a/nixpkgs/pkgs/applications/misc/oxker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxker";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-s1PVm5RBqHe5XVHt5Wgm05+6xXJYnMU9QO7Z8567oKk=";
+    sha256 = "sha256-cUM9+6BZcsrb850fm5mFWpo7/JmxwNDh+upHeE7+DU8=";
   };
 
-  cargoHash = "sha256-zZFys59vEiGfB9NlAY5yjHBeXf8zQ3npFF7sg2SQTwU=";
+  cargoHash = "sha256-sFBI/+7oGjjUyr3PBkkqdgprGdcaYHtOvqFpkrF4Qx8=";
 
   meta = with lib; {
     description = "A simple tui to view & control docker containers";
@@ -17,5 +17,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/mrjackwills/oxker/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ siph ];
+    mainProgram = "oxker";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/p2pool/default.nix b/nixpkgs/pkgs/applications/misc/p2pool/default.nix
index 53a05157b996..9265543ff8f5 100644
--- a/nixpkgs/pkgs/applications/misc/p2pool/default.nix
+++ b/nixpkgs/pkgs/applications/misc/p2pool/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/SChernykh/p2pool";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ ratsclub ];
+    mainProgram = "p2pool";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pagefind/default.nix b/nixpkgs/pkgs/applications/misc/pagefind/default.nix
index 1d1a91e9e4b5..35fe84b22729 100644
--- a/nixpkgs/pkgs/applications/misc/pagefind/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pagefind/default.nix
@@ -106,5 +106,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ pbsds ];
     platforms = platforms.unix;
+    mainProgram = "pagefind";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pcmanx-gtk2/default.nix b/nixpkgs/pkgs/applications/misc/pcmanx-gtk2/default.nix
index 2e75791e3082..6179bbe15fbf 100644
--- a/nixpkgs/pkgs/applications/misc/pcmanx-gtk2/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pcmanx-gtk2/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     description = "Telnet BBS browser with GTK interface";
     maintainers = [ maintainers.sifmelcara ];
     platforms = platforms.linux;
+    mainProgram = "pcmanx";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
index ef77c5a56f7e..34077b857415 100644
--- a/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfarranger/default.nix
@@ -4,15 +4,17 @@
 , python3Packages
 , gtk3
 , poppler_gi
+, libhandy
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "pdfarranger";
   version = "1.10.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "pdfarranger";
+    repo = "pdfarranger";
     rev = "refs/tags/${version}";
     hash = "sha256-l//DeaIqUl6FdGFxM8yTKcTjVNvYMllorcoXoK33Iy4=";
   };
@@ -26,6 +28,7 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gtk3
     poppler_gi
+    libhandy
   ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/misc/peaclock/default.nix b/nixpkgs/pkgs/applications/misc/peaclock/default.nix
index 619b6ed9b375..866d6660910f 100644
--- a/nixpkgs/pkgs/applications/misc/peaclock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/peaclock/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ djanatyn ];
+    mainProgram = "peaclock";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pell/default.nix b/nixpkgs/pkgs/applications/misc/pell/default.nix
index 0b21de1e91e0..1a11a793f563 100644
--- a/nixpkgs/pkgs/applications/misc/pell/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pell/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "pell";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/misc/pgmanage/default.nix b/nixpkgs/pkgs/applications/misc/pgmanage/default.nix
index eac927ad3b2c..e3860ee62584 100644
--- a/nixpkgs/pkgs/applications/misc/pgmanage/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pgmanage/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/pgManage/pgManage";
     license = licenses.postgresql;
     maintainers = [ maintainers.basvandijk ];
+    mainProgram = "pgmanage";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/phoc/default.nix b/nixpkgs/pkgs/applications/misc/phoc/default.nix
index ba235aab2b05..9ccc17f95ec6 100644
--- a/nixpkgs/pkgs/applications/misc/phoc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phoc/default.nix
@@ -24,12 +24,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "phoc";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchurl {
     # This tarball includes the meson wrapped subproject 'gmobile'.
     url = with finalAttrs; "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
-    hash = "sha256-q2wyM0R7Mi/XuckNb6ZDkStaV9yJH1BgJ4cjqQc6EI4=";
+    hash = "sha256-eAKHboICsuQ4lecxnnZ8+hZjt5l1DDQbfuwypDYtdKk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/phockup/default.nix b/nixpkgs/pkgs/applications/misc/phockup/default.nix
index 319a471f6278..8df388e1f64f 100644
--- a/nixpkgs/pkgs/applications/misc/phockup/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phockup/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ivandokov/phockup";
     license = licenses.mit;
     maintainers = with maintainers; [ aanderse ];
+    mainProgram = "phockup";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pinfo/default.nix b/nixpkgs/pkgs/applications/misc/pinfo/default.nix
index 179af6ca87dc..92d892fc9c97 100644
--- a/nixpkgs/pkgs/applications/misc/pinfo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pinfo/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "pinfo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix b/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix
index fb8d407ef12f..f2af3f6e43ab 100644
--- a/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/plasma-theme-switcher/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     description = "A KDE Plasma theme switcher";
     license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ kevink ];
+    mainProgram = "plasma-theme";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/playonlinux/default.nix b/nixpkgs/pkgs/applications/misc/playonlinux/default.nix
index 89fcdfe4f711..0b4f445c0066 100644
--- a/nixpkgs/pkgs/applications/misc/playonlinux/default.nix
+++ b/nixpkgs/pkgs/applications/misc/playonlinux/default.nix
@@ -146,5 +146,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl3;
     maintainers = [ maintainers.pasqui23 ];
     platforms = [ "x86_64-linux" "i686-linux" ];
+    mainProgram = "playonlinux";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/plots/default.nix b/nixpkgs/pkgs/applications/misc/plots/default.nix
index 01a60baa2ab3..4e6b9d24a56b 100644
--- a/nixpkgs/pkgs/applications/misc/plots/default.nix
+++ b/nixpkgs/pkgs/applications/misc/plots/default.nix
@@ -1,12 +1,13 @@
-{ fetchFromGitHub
+{ lib
+, fetchFromGitHub
+, python3Packages
 , gobject-introspection
-, lib
 , libadwaita
-, python3
 , wrapGAppsHook
 , lmmath
 }:
-python3.pkgs.buildPythonApplication rec {
+
+python3Packages.buildPythonApplication rec {
   pname = "plots";
   version = "0.8.5";
 
@@ -17,36 +18,21 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-GjNpaorxkkhZsqrKq4kO5nqF5+4I4tmSc023AZpY8Sw=";
   };
 
-  nativeBuildInputs = [
-    gobject-introspection
-    wrapGAppsHook
-  ];
-
-  propagatedBuildInputs = [
-    libadwaita
-    (python3.withPackages (p: with p; [
-      numpy
-      pygobject3
-      lark
-      jinja2
-      freetype-py
-      pyopengl
-      pycairo
-      pyglm
-    ]))
-  ];
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+  buildInputs = [ libadwaita ];
 
-  nativeCheckInputs = [
-    (python3.withPackages (p: with p; [
-      pytest
-    ]))
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+    numpy
+    lark
+    jinja2
+    freetype-py
+    pyopengl
+    pycairo
+    pyglm
   ];
 
-  dontWrapGApps = true;
-
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
+  nativeCheckInputs = with python3Packages; [ pytest ];
 
   postInstall = ''
     install -D ${lmmath}/share/fonts/opentype/latinmodern-math.otf -t $out/share/fonts/
@@ -62,6 +48,12 @@ python3.pkgs.buildPythonApplication rec {
     done
   '';
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Graph plotting app for GNOME";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix b/nixpkgs/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
index 62c6ed0f4a42..5205e8ad6eaf 100644
--- a/nixpkgs/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pokemon-colorscripts-mac/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.wesleyjrz ];
     platforms = platforms.unix;
+    mainProgram = "pokemon-colorscripts";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pomodoro/default.nix b/nixpkgs/pkgs/applications/misc/pomodoro/default.nix
index d180c8e436e7..fe09f5328ee8 100644
--- a/nixpkgs/pkgs/applications/misc/pomodoro/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pomodoro/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ annaaurora ];
     # error: redefinition of module 'ObjectiveC'
     broken = stdenv.isDarwin;
+    mainProgram = "pomodoro";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pop-launcher/default.nix b/nixpkgs/pkgs/applications/misc/pop-launcher/default.nix
index 24bcd9ab89e4..b8ba5133904b 100644
--- a/nixpkgs/pkgs/applications/misc/pop-launcher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pop-launcher/default.nix
@@ -57,5 +57,6 @@ rustPlatform.buildRustPackage rec {
     platforms = platforms.linux;
     license = licenses.mpl20;
     maintainers = with maintainers; [ samhug ];
+    mainProgram = "pop-launcher";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pop/default.nix b/nixpkgs/pkgs/applications/misc/pop/default.nix
index 02ebcaa2fb96..3fbf063e7315 100644
--- a/nixpkgs/pkgs/applications/misc/pop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pop/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/pop/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ caarlos0 maaslalani ];
+    mainProgram = "pop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/porsmo/default.nix b/nixpkgs/pkgs/applications/misc/porsmo/default.nix
index 2e158187e437..f741ad2d6b48 100644
--- a/nixpkgs/pkgs/applications/misc/porsmo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/porsmo/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/ColorCookie-dev/porsmo";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
+    mainProgram = "porsmo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/premid/default.nix b/nixpkgs/pkgs/applications/misc/premid/default.nix
index df2f0d6b28a1..f621d510e411 100644
--- a/nixpkgs/pkgs/applications/misc/premid/default.nix
+++ b/nixpkgs/pkgs/applications/misc/premid/default.nix
@@ -89,5 +89,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     maintainers = with maintainers; [ natto1784 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "premid";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/process-compose/default.nix b/nixpkgs/pkgs/applications/misc/process-compose/default.nix
index d674515e8bae..e286e782a6e8 100644
--- a/nixpkgs/pkgs/applications/misc/process-compose/default.nix
+++ b/nixpkgs/pkgs/applications/misc/process-compose/default.nix
@@ -62,5 +62,6 @@ buildGoModule rec {
     changelog = "https://github.com/F1bonacc1/process-compose/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ thenonameguy ];
+    mainProgram = "process-compose";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/psi-notify/default.nix b/nixpkgs/pkgs/applications/misc/psi-notify/default.nix
index e086ee01afed..b984cc5cd5c3 100644
--- a/nixpkgs/pkgs/applications/misc/psi-notify/default.nix
+++ b/nixpkgs/pkgs/applications/misc/psi-notify/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/cdown/psi-notify";
     platforms = platforms.linux;
     maintainers = with maintainers; [ eduarrrd ];
+    mainProgram = "psi-notify";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pstree/default.nix b/nixpkgs/pkgs/applications/misc/pstree/default.nix
index d25e4a6f90ba..7b979d486faa 100644
--- a/nixpkgs/pkgs/applications/misc/pstree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pstree/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.c0bw3b ];
     platforms = platforms.unix;
     priority = 5; # Lower than psmisc also providing pstree on Linux platforms
+    mainProgram = "pstree";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/pt/default.nix b/nixpkgs/pkgs/applications/misc/pt/default.nix
index ef490702a672..2cbcbdd7faa0 100644
--- a/nixpkgs/pkgs/applications/misc/pt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pt/default.nix
@@ -13,5 +13,6 @@ bundlerApp {
     license     = licenses.mit;
     maintainers = with maintainers; [ ebzzry manveru nicknovitski ];
     platforms   = platforms.unix;
+    mainProgram = "pt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/qcad/default.nix b/nixpkgs/pkgs/applications/misc/qcad/default.nix
index 9ab33ad29492..e67a96fe7cd3 100644
--- a/nixpkgs/pkgs/applications/misc/qcad/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qcad/default.nix
@@ -18,14 +18,14 @@
 
 mkDerivation rec {
   pname = "qcad";
-  version = "3.29.3.1";
+  version = "3.29.4.1";
 
   src = fetchFromGitHub {
     name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    sha256 = "sha256-QPBiEoOseNUzAWQHPEBq6O0jg8ed5dH+8xlyRCct0g4=";
+    hash = "sha256-00lPgiE3hsP3SL96ygBP91CaAWi1IGOYUO7zC/ORG1U=";
   };
 
   patches = [
@@ -65,23 +65,23 @@ mkDerivation rec {
     "MUPARSER_DIR=${muparser}"
     "INSTALLROOT=$(out)"
     "BOOST_DIR=${boost.dev}"
+    "QMAKE_CXXFLAGS=-std=c++14"
   ];
 
-  qtWrapperArgs =
-    lib.optionals stdenv.isLinux [ "--prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib" ]
-    ++
-    lib.optionals stdenv.isDarwin [ "--prefix DYLD_LIBRARY_PATH : ${placeholder "out"}/lib" ];
+  qtWrapperArgs = lib.optionals stdenv.isLinux [
+    "--prefix LD_LIBRARY_PATH : ${placeholder "out"}/lib"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "--prefix DYLD_LIBRARY_PATH : ${placeholder "out"}/lib"
+  ];
 
   installPhase = ''
     runHook preInstall
-
   '' + lib.optionalString stdenv.isLinux ''
     install -Dm555 release/qcad-bin $out/bin/qcad
   '' + lib.optionalString stdenv.isDarwin ''
     install -Dm555 release/QCAD.app/Contents/MacOS/QCAD $out/bin/qcad
     mkdir -p $out/lib
-  '' +
-  ''
+  '' + ''
     install -Dm555 -t $out/lib release/libspatialindexnavel${stdenv.hostPlatform.extensions.sharedLibrary}
     install -Dm555 -t $out/lib release/libqcadcore${stdenv.hostPlatform.extensions.sharedLibrary}
     install -Dm555 -t $out/lib release/libqcadentity${stdenv.hostPlatform.extensions.sharedLibrary}
@@ -121,11 +121,12 @@ mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "2D CAD package based on Qt";
     homepage = "https://qcad.org";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ yvesf ];
+    license = lib.licenses.gpl3Only;
+    mainProgram = "qcad";
+    maintainers = with lib.maintainers; [ yvesf ];
     platforms = qtbase.meta.platforms;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/quicksynergy/default.nix b/nixpkgs/pkgs/applications/misc/quicksynergy/default.nix
index d26972d97fb7..5a93f647291d 100644
--- a/nixpkgs/pkgs/applications/misc/quicksynergy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/quicksynergy/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.spinus ];
     platforms = lib.platforms.linux;
+    mainProgram = "quicksynergy";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ratt/default.nix b/nixpkgs/pkgs/applications/misc/ratt/default.nix
index 15ce7a2e1409..afdc3c231418 100644
--- a/nixpkgs/pkgs/applications/misc/ratt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ratt/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://git.sr.ht/~ghost08/ratt";
     license = licenses.mit;
     maintainers = with maintainers; [ kmein ];
+    mainProgram = "ratt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/reddsaver/default.nix b/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
index 7bcf774b0116..1c6202eb0dee 100644
--- a/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/reddsaver/default.nix
@@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/manojkarthick/reddsaver";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = [ maintainers.manojkarthick ];
+    mainProgram = "reddsaver";
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/misc/resumed/default.nix b/nixpkgs/pkgs/applications/misc/resumed/default.nix
index 75ee72a38b7f..e1f6928dcdbb 100644
--- a/nixpkgs/pkgs/applications/misc/resumed/default.nix
+++ b/nixpkgs/pkgs/applications/misc/resumed/default.nix
@@ -18,5 +18,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/rbardini/resumed";
     license = licenses.mit;
     maintainers = with maintainers; [ ambroisie ];
+    mainProgram = "resumed";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/revanced-cli/default.nix b/nixpkgs/pkgs/applications/misc/revanced-cli/default.nix
index 96c8f43a7249..56923e0ee195 100644
--- a/nixpkgs/pkgs/applications/misc/revanced-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/revanced-cli/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     maintainers = with maintainers; [ jopejoe1 ];
+    mainProgram = "revanced-cli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/river-luatile/default.nix b/nixpkgs/pkgs/applications/misc/river-luatile/default.nix
index 6b5c27bab5ae..8999ea2445e5 100644
--- a/nixpkgs/pkgs/applications/misc/river-luatile/default.nix
+++ b/nixpkgs/pkgs/applications/misc/river-luatile/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pinpox ];
+    mainProgram = "river-luatile";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/river-tag-overlay/default.nix b/nixpkgs/pkgs/applications/misc/river-tag-overlay/default.nix
index 902f6e816148..e1652cf70da7 100644
--- a/nixpkgs/pkgs/applications/misc/river-tag-overlay/default.nix
+++ b/nixpkgs/pkgs/applications/misc/river-tag-overlay/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ edrex ];
     platforms = platforms.linux;
+    mainProgram = "river-tag-overlay";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/rivercarro/default.nix b/nixpkgs/pkgs/applications/misc/rivercarro/default.nix
index 5962b49ffc6a..93b476973f55 100644
--- a/nixpkgs/pkgs/applications/misc/rivercarro/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rivercarro/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kraem ];
     inherit (zig_0_11.meta) platforms;
+    mainProgram = "rivercarro";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/rlaunch/default.nix b/nixpkgs/pkgs/applications/misc/rlaunch/default.nix
index 15f26a24d602..da90dbe5d74a 100644
--- a/nixpkgs/pkgs/applications/misc/rlaunch/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rlaunch/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ danc86 ];
+    mainProgram = "rlaunch";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/robo3t/default.nix b/nixpkgs/pkgs/applications/misc/robo3t/default.nix
index ae32aac267e1..c2ea6a2a2552 100644
--- a/nixpkgs/pkgs/applications/misc/robo3t/default.nix
+++ b/nixpkgs/pkgs/applications/misc/robo3t/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ eperuffo ];
+    mainProgram = "robo3t";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/rsclock/default.nix b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
index 8a6c5588494f..1830a6008726 100644
--- a/nixpkgs/pkgs/applications/misc/rsclock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/valebes/rsClock";
     license = licenses.mit;
     maintainers = with maintainers; [valebes];
+    mainProgram = "rsclock";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/rss-bridge-cli/default.nix b/nixpkgs/pkgs/applications/misc/rss-bridge-cli/default.nix
index 05d2bca99b1b..e7714a21b129 100644
--- a/nixpkgs/pkgs/applications/misc/rss-bridge-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rss-bridge-cli/default.nix
@@ -23,5 +23,6 @@ in (writeShellScriptBin "rss-bridge-cli" ''
     homepage = "https://github.com/RSS-Bridge/rss-bridge";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ymeister ];
+    mainProgram = "rss-bridge-cli";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/rusty-psn/default.nix b/nixpkgs/pkgs/applications/misc/rusty-psn/default.nix
index d9e713b0abf7..c9968f7257f8 100644
--- a/nixpkgs/pkgs/applications/misc/rusty-psn/default.nix
+++ b/nixpkgs/pkgs/applications/misc/rusty-psn/default.nix
@@ -87,5 +87,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ AngryAnt ];
+    mainProgram = "rusty-psn";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/sampler/default.nix b/nixpkgs/pkgs/applications/misc/sampler/default.nix
index e5e090e7da4d..a111142bbde4 100644
--- a/nixpkgs/pkgs/applications/misc/sampler/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sampler/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     homepage = "https://sampler.dev";
     license = licenses.gpl3;
     maintainers = with maintainers; [ uvnikita ];
+    mainProgram = "sampler";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/sdcv/default.nix b/nixpkgs/pkgs/applications/misc/sdcv/default.nix
index 3ddef749c568..206ca96d0100 100644
--- a/nixpkgs/pkgs/applications/misc/sdcv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sdcv/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ lovek323 ];
     license = licenses.gpl2;
     platforms = platforms.unix;
+    mainProgram = "sdcv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/semver/default.nix b/nixpkgs/pkgs/applications/misc/semver/default.nix
index cdafd3202719..53e06a4c406e 100644
--- a/nixpkgs/pkgs/applications/misc/semver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/semver/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     description = "A small CLI to fish out the current or next semver version from a git repository";
     maintainers = with maintainers; [ catouc ];
     license = licenses.mit;
+    mainProgram = "semver";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/senv/default.nix b/nixpkgs/pkgs/applications/misc/senv/default.nix
index b45085610d13..b542966e828a 100644
--- a/nixpkgs/pkgs/applications/misc/senv/default.nix
+++ b/nixpkgs/pkgs/applications/misc/senv/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ SuperSandro2000 ];
     broken = stdenv.isDarwin; # needs golang.org/x/sys bump
+    mainProgram = "senv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/shavee/default.nix b/nixpkgs/pkgs/applications/misc/shavee/default.nix
index e419ccafeb0e..7854cfbd17f4 100644
--- a/nixpkgs/pkgs/applications/misc/shavee/default.nix
+++ b/nixpkgs/pkgs/applications/misc/shavee/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ jasonodoom ];
     platforms = lib.platforms.linux;
+    mainProgram = "shavee";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/shell-genie/default.nix b/nixpkgs/pkgs/applications/misc/shell-genie/default.nix
index 9c64415132fa..dd6c723121d4 100644
--- a/nixpkgs/pkgs/applications/misc/shell-genie/default.nix
+++ b/nixpkgs/pkgs/applications/misc/shell-genie/default.nix
@@ -8,7 +8,7 @@ with python3.pkgs;
 buildPythonPackage rec {
   pname = "shell-genie";
   version = "0.2.10";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchPypi {
     pname = "shell_genie";
@@ -17,6 +17,7 @@ buildPythonPackage rec {
   };
 
   pythonRelaxDeps = [
+    "openai"
     "typer"
   ];
 
diff --git a/nixpkgs/pkgs/applications/misc/sidequest/default.nix b/nixpkgs/pkgs/applications/misc/sidequest/default.nix
index 226bb571b2ce..c472fdb65ec9 100644
--- a/nixpkgs/pkgs/applications/misc/sidequest/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sidequest/default.nix
@@ -106,6 +106,7 @@
         license = licenses.mit;
         maintainers = with maintainers; [ joepie91 rvolosatovs ];
         platforms = [ "x86_64-linux" ];
+        mainProgram = "SideQuest";
       };
     };
 
diff --git a/nixpkgs/pkgs/applications/misc/sigi/default.nix b/nixpkgs/pkgs/applications/misc/sigi/default.nix
index 1528cd31065e..16df94f4d0f9 100644
--- a/nixpkgs/pkgs/applications/misc/sigi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sigi/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/sigi-cli/sigi";
     license = licenses.gpl2;
     maintainers = with maintainers; [ booniepepper ];
+    mainProgram = "sigi";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/skate/default.nix b/nixpkgs/pkgs/applications/misc/skate/default.nix
index 6dc73d74411f..16849996441f 100644
--- a/nixpkgs/pkgs/applications/misc/skate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/skate/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/charmbracelet/skate/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda penguwin ];
+    mainProgram = "skate";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/slides/default.nix b/nixpkgs/pkgs/applications/misc/slides/default.nix
index 55229c206f18..0c97ff7f14fa 100644
--- a/nixpkgs/pkgs/applications/misc/slides/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slides/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     changelog = "https://github.com/maaslalani/slides/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ maaslalani penguwin ];
+    mainProgram = "slides";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/slippy/default.nix b/nixpkgs/pkgs/applications/misc/slippy/default.nix
index f599c4f47cfd..40de95838ad5 100644
--- a/nixpkgs/pkgs/applications/misc/slippy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slippy/default.nix
@@ -64,5 +64,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/axodotdev/slippy/releases/tag/${src.rev}";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "slippy";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/slstatus/default.nix b/nixpkgs/pkgs/applications/misc/slstatus/default.nix
index 83407f94fcb6..fcac061de0d1 100644
--- a/nixpkgs/pkgs/applications/misc/slstatus/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slstatus/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ oxzi ];
     platforms = platforms.linux;
+    mainProgram = "slstatus";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/slweb/default.nix b/nixpkgs/pkgs/applications/misc/slweb/default.nix
index ee5e01b79956..b1e92cb9a39c 100644
--- a/nixpkgs/pkgs/applications/misc/slweb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slweb/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ GaetanLepage ];
+    mainProgram = "slweb";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/smpq/default.nix b/nixpkgs/pkgs/applications/misc/smpq/default.nix
index 7a6264d96547..a1879241bd21 100644
--- a/nixpkgs/pkgs/applications/misc/smpq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/smpq/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.all;
     maintainers = with maintainers; [ aanderse karolchmist ];
+    mainProgram = "smpq";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix b/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
index 9ee3ff6f3845..351a17c5fc4d 100644
--- a/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
+++ b/nixpkgs/pkgs/applications/misc/snapmaker-luban/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snapmaker-luban";
-  version = "4.9.1";
+  version = "4.10.2";
 
   src = fetchurl {
     url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz";
-    sha256 = "sha256-qLeF1trBrp53xkiAhybPTHUKuXYHQYfZ3tsmPPJlvUM=";
+    sha256 = "sha256-unxI0L8pcF6iWWa57GpYv/aYsApKAKfRaes3uXE7izM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/snixembed/default.nix b/nixpkgs/pkgs/applications/misc/snixembed/default.nix
index 71a5837cc126..21ec5dac81df 100644
--- a/nixpkgs/pkgs/applications/misc/snixembed/default.nix
+++ b/nixpkgs/pkgs/applications/misc/snixembed/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     platforms = platforms.unix;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "snixembed";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/snowsql/default.nix b/nixpkgs/pkgs/applications/misc/snowsql/default.nix
index 634c8367be69..c4af36299895 100644
--- a/nixpkgs/pkgs/applications/misc/snowsql/default.nix
+++ b/nixpkgs/pkgs/applications/misc/snowsql/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ andehen ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "snowsql";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/solaar/default.nix b/nixpkgs/pkgs/applications/misc/solaar/default.nix
index 93a6c069f669..f3cd458510b3 100644
--- a/nixpkgs/pkgs/applications/misc/solaar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/solaar/default.nix
@@ -14,13 +14,13 @@
 # instead of adding this to `services.udev.packages` on NixOS,
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.10";
+  version = "1.1.11";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = "refs/tags/${version}";
-    hash = "sha256-cs1kj/spZtMUL9aUtBHINAH7uyjMSn9jRDF/hRPzIbo=";
+    hash = "sha256-fVWfV7rEu/knysWUrPeokBBlSGnvNlpiptAd1M7ZVd8=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/nixpkgs/pkgs/applications/misc/somebar/default.nix b/nixpkgs/pkgs/applications/misc/somebar/default.nix
index 6c595bc8dd66..4c2545fe9c96 100644
--- a/nixpkgs/pkgs/applications/misc/somebar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/somebar/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ magnouvean ];
     platforms = platforms.linux;
+    mainProgram = "somebar";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/spacenav-cube-example/default.nix b/nixpkgs/pkgs/applications/misc/spacenav-cube-example/default.nix
index 0073c4a0f81e..66c16e458b8f 100644
--- a/nixpkgs/pkgs/applications/misc/spacenav-cube-example/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spacenav-cube-example/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sohalt ];
+    mainProgram = "spacenav-cube-example";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/speedread/default.nix b/nixpkgs/pkgs/applications/misc/speedread/default.nix
index 451382cda373..234e6b136feb 100644
--- a/nixpkgs/pkgs/applications/misc/speedread/default.nix
+++ b/nixpkgs/pkgs/applications/misc/speedread/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = [ maintainers.oxij ];
+    mainProgram = "speedread";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix b/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix
index 6424204c460a..921947fc1b80 100644
--- a/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ gebner ];
+    mainProgram = "spnavcfg";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix b/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
index 2ba37830749d..372e468487fd 100644
--- a/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spotify-tray/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ Enzime ];
+    mainProgram = "spotify-tray";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ssocr/default.nix b/nixpkgs/pkgs/applications/misc/ssocr/default.nix
index 3605d1a7f864..4231adb65b41 100644
--- a/nixpkgs/pkgs/applications/misc/ssocr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ssocr/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/auerswal/ssocr";
     license = licenses.gpl3;
     maintainers = [ maintainers.kroell ];
+    mainProgram = "ssocr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/stag/default.nix b/nixpkgs/pkgs/applications/misc/stag/default.nix
index d8360dd7ccf4..049cee5a830d 100644
--- a/nixpkgs/pkgs/applications/misc/stag/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stag/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "stag";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/stepreduce/default.nix b/nixpkgs/pkgs/applications/misc/stepreduce/default.nix
index 11e1df4cced4..40e0986c5d01 100644
--- a/nixpkgs/pkgs/applications/misc/stepreduce/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stepreduce/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/sethhillbrand/stepreduce";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ evils ];
+    mainProgram = "stepreduce";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/stork/default.nix b/nixpkgs/pkgs/applications/misc/stork/default.nix
index 6a9765481812..ab851363d381 100644
--- a/nixpkgs/pkgs/applications/misc/stork/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stork/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jameslittle230/stork";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ chuahou ];
+    mainProgram = "stork";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/stretchly/default.nix b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
index 67ffdee86c98..71288ca07c9d 100644
--- a/nixpkgs/pkgs/applications/misc/stretchly/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stretchly/default.nix
@@ -75,5 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.bsd2;
     maintainers = with maintainers; [ _1000101 ];
     platforms = platforms.linux;
+    mainProgram = "stretchly";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/stw/default.nix b/nixpkgs/pkgs/applications/misc/stw/default.nix
index e7c11fd4b9a5..ca46c163128a 100644
--- a/nixpkgs/pkgs/applications/misc/stw/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stw/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ somasis ];
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
+    mainProgram = "stw";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/styx/default.nix b/nixpkgs/pkgs/applications/misc/styx/default.nix
index 6ef1bb9b95ee..96278fd9c322 100644
--- a/nixpkgs/pkgs/applications/misc/styx/default.nix
+++ b/nixpkgs/pkgs/applications/misc/styx/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     downloadPage = "https://github.com/styx-static/styx/";
     platforms    = platforms.all;
     license      = licenses.mit;
+    mainProgram  = "styx";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/surface-control/default.nix b/nixpkgs/pkgs/applications/misc/surface-control/default.nix
index e995f036cddc..77f3954ed059 100644
--- a/nixpkgs/pkgs/applications/misc/surface-control/default.nix
+++ b/nixpkgs/pkgs/applications/misc/surface-control/default.nix
@@ -39,5 +39,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "surface";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/swaynag-battery/default.nix b/nixpkgs/pkgs/applications/misc/swaynag-battery/default.nix
index b58758d8a417..8dc99ca012e9 100644
--- a/nixpkgs/pkgs/applications/misc/swaynag-battery/default.nix
+++ b/nixpkgs/pkgs/applications/misc/swaynag-battery/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     description = "Shows a message when your battery is discharging ";
     maintainers = with maintainers; [ ];
     license = licenses.mit;
+    mainProgram = "swaynag-battery";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/synapse/default.nix b/nixpkgs/pkgs/applications/misc/synapse/default.nix
index da822f5347bf..1491a4e81291 100644
--- a/nixpkgs/pkgs/applications/misc/synapse/default.nix
+++ b/nixpkgs/pkgs/applications/misc/synapse/default.nix
@@ -33,5 +33,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ mahe ];
     platforms = with platforms; all;
+    mainProgram = "synapse";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/syncthing-tray/default.nix b/nixpkgs/pkgs/applications/misc/syncthing-tray/default.nix
index db734bff5878..e9db92df121c 100644
--- a/nixpkgs/pkgs/applications/misc/syncthing-tray/default.nix
+++ b/nixpkgs/pkgs/applications/misc/syncthing-tray/default.nix
@@ -23,5 +23,6 @@ buildGoPackage rec {
     homepage = "https://github.com/alex2108/syncthing-tray";
     license = licenses.mit;
     maintainers = with maintainers; [ nickhu ];
+    mainProgram = "syncthing-tray";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/systembus-notify/default.nix b/nixpkgs/pkgs/applications/misc/systembus-notify/default.nix
index 770cd8584010..f05c8a0aa074 100644
--- a/nixpkgs/pkgs/applications/misc/systembus-notify/default.nix
+++ b/nixpkgs/pkgs/applications/misc/systembus-notify/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
+    mainProgram = "systembus-notify";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tabula-java/default.nix b/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
index f8d3cc3c54be..ce402396c97d 100644
--- a/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tabula-java/default.nix
@@ -45,5 +45,6 @@ maven.buildMavenPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.jakewaksbaum ];
     platforms = platforms.all;
+    mainProgram = "tabula-java";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tagtime/default.nix b/nixpkgs/pkgs/applications/misc/tagtime/default.nix
index d21621058bca..9ec36c26defc 100644
--- a/nixpkgs/pkgs/applications/misc/tagtime/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tagtime/default.nix
@@ -75,5 +75,6 @@ stdenv.mkDerivation {
     homepage = "http://messymatters.com/tagtime/";
     license = lib.licenses.bsd3;
     maintainers = [ lib.maintainers.Profpatsch ];
+    mainProgram = "tagtimed";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tailscale-systray/default.nix b/nixpkgs/pkgs/applications/misc/tailscale-systray/default.nix
index 85e927f018f1..842b66ee7cc7 100644
--- a/nixpkgs/pkgs/applications/misc/tailscale-systray/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tailscale-systray/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     homepage = "https://github.com/mattn/tailscale-systray";
     license = licenses.mit;
     maintainers = with maintainers; [ qbit ];
+    mainProgram = "tailscale-systray";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/taizen/default.nix b/nixpkgs/pkgs/applications/misc/taizen/default.nix
index d39ad206c2dc..903de3c05c1d 100644
--- a/nixpkgs/pkgs/applications/misc/taizen/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taizen/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/nerdypepper/taizen";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "taizen";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix b/nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix
index 98c6f8b530f9..dc36156ff4a1 100644
--- a/nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix
@@ -158,5 +158,6 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
       Application for managing recipes, planning meals, building shopping lists
       and much much more!
     '';
+    mainProgram = "tandoor-recipes";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tango/default.nix b/nixpkgs/pkgs/applications/misc/tango/default.nix
index d6278c7f79cc..bd2dca9d790b 100644
--- a/nixpkgs/pkgs/applications/misc/tango/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tango/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/masakichi/tango";
     license = licenses.mit;
     maintainers = with maintainers; [ donovanglover ];
+    mainProgram = "tango";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tasksh/default.nix b/nixpkgs/pkgs/applications/misc/tasksh/default.nix
index 134d1373ad4b..0e169bc998d6 100644
--- a/nixpkgs/pkgs/applications/misc/tasksh/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tasksh/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.unix;
+    mainProgram = "tasksh";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
index 153ea4d6d55c..44b6ccf76095 100644
--- a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/kdheepak/taskwarrior-tui";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ matthiasbeyer ];
+    mainProgram = "taskwarrior-tui";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix b/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix
index 96df3d178328..fc196be625e5 100644
--- a/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix
+++ b/nixpkgs/pkgs/applications/misc/terminal-colors/default.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/eikenb/terminal-colors";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ kaction ];
+    mainProgram = "terminal-colors";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/terminal-parrot/default.nix b/nixpkgs/pkgs/applications/misc/terminal-parrot/default.nix
index f0b4d20b1a76..802588e8ef64 100644
--- a/nixpkgs/pkgs/applications/misc/terminal-parrot/default.nix
+++ b/nixpkgs/pkgs/applications/misc/terminal-parrot/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/jmhobbs/terminal-parrot";
     license = licenses.mit;
     maintainers = [ maintainers.heel ];
+    mainProgram = "terminal-parrot";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/terminal-stocks/default.nix b/nixpkgs/pkgs/applications/misc/terminal-stocks/default.nix
index 285eb9b744d4..9d1ee035d81a 100644
--- a/nixpkgs/pkgs/applications/misc/terminal-stocks/default.nix
+++ b/nixpkgs/pkgs/applications/misc/terminal-stocks/default.nix
@@ -21,5 +21,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/shweshi/terminal-stocks";
     maintainers = with maintainers; [ mislavzanic ];
     license = licenses.mit;
+    mainProgram = "terminal-stocks";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/thedesk/default.nix b/nixpkgs/pkgs/applications/misc/thedesk/default.nix
index faf32c96a19e..3fb11f883a2a 100644
--- a/nixpkgs/pkgs/applications/misc/thedesk/default.nix
+++ b/nixpkgs/pkgs/applications/misc/thedesk/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "thedesk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/thokr/default.nix b/nixpkgs/pkgs/applications/misc/thokr/default.nix
index 74c5b2ccc712..cf82a8d6aeb8 100644
--- a/nixpkgs/pkgs/applications/misc/thokr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/thokr/default.nix
@@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/thatvegandev/thokr";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "thokr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ticker/default.nix b/nixpkgs/pkgs/applications/misc/ticker/default.nix
index bb3322a27881..fdbc9c2a5cd4 100644
--- a/nixpkgs/pkgs/applications/misc/ticker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ticker/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     changelog = "https://github.com/achannarasappa/ticker/releases/tag/v${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ siraben sarcasticadmin ];
+    mainProgram = "ticker";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tickrs/default.nix b/nixpkgs/pkgs/applications/misc/tickrs/default.nix
index 35d56e8be7dd..a22f9da07359 100644
--- a/nixpkgs/pkgs/applications/misc/tickrs/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tickrs/default.nix
@@ -42,5 +42,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tarkah/tickrs/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ mredaelli ];
+    mainProgram = "tickrs";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/timew-sync-server/default.nix b/nixpkgs/pkgs/applications/misc/timew-sync-server/default.nix
index 8f2420280c9c..fefc25a48792 100644
--- a/nixpkgs/pkgs/applications/misc/timew-sync-server/default.nix
+++ b/nixpkgs/pkgs/applications/misc/timew-sync-server/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = [ maintainers.joachimschmidt557 ];
     platforms = platforms.linux;
+    mainProgram = "timew-sync-server";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tippecanoe/default.nix b/nixpkgs/pkgs/applications/misc/tippecanoe/default.nix
index 79a2b6970bf7..990b2495ce97 100644
--- a/nixpkgs/pkgs/applications/misc/tippecanoe/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tippecanoe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.42.0";
+  version = "2.45.0";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-+IEgjjfotu2gLnaPyV29MEpVndgaZYRaFc92jvAKcWo=";
+    hash = "sha256-LsXK3qcS7x0FHJH5QQ0rM/h+jFSnkwa8mUbHKgcQ6NU=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/nixpkgs/pkgs/applications/misc/tiramisu/default.nix b/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
index 3e8f101f871e..8624bded6641 100644
--- a/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ wishfort36 moni ];
+    mainProgram = "tiramisu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tmatrix/default.nix b/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
index 780a80b5d2c6..50af14380888 100644
--- a/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tmatrix/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ infinisil Br1ght0ne ];
+    mainProgram = "tmatrix";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tnef/default.nix b/nixpkgs/pkgs/applications/misc/tnef/default.nix
index 65e07915c760..4c4b67adf96d 100644
--- a/nixpkgs/pkgs/applications/misc/tnef/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tnef/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
+    mainProgram = "tnef";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
index d9306ce7d187..351df8c558ad 100644
--- a/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
+++ b/nixpkgs/pkgs/applications/misc/todoist-electron/default.nix
@@ -41,5 +41,6 @@ in appimageTools.wrapAppImage {
     platforms = [ "x86_64-linux" ];
     license = licenses.unfree;
     maintainers = with maintainers; [ kylesferrazza pokon548 ];
+    mainProgram = "todoist-electron";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/todoist/default.nix b/nixpkgs/pkgs/applications/misc/todoist/default.nix
index fc600ab7710c..0145644de14f 100644
--- a/nixpkgs/pkgs/applications/misc/todoist/default.nix
+++ b/nixpkgs/pkgs/applications/misc/todoist/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     homepage = "https://github.com/sachaos/todoist";
     description = "Todoist CLI Client";
     license = lib.licenses.mit;
+    mainProgram = "todoist";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/transifex-cli/default.nix b/nixpkgs/pkgs/applications/misc/transifex-cli/default.nix
index 59917a460418..f03ea6eaed36 100644
--- a/nixpkgs/pkgs/applications/misc/transifex-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/transifex-cli/default.nix
@@ -32,5 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/transifex/transifex-cli";
     license = licenses.asl20;
     maintainers = with maintainers; [ thornycrackers ];
+    mainProgram = "tx";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ttdl/default.nix b/nixpkgs/pkgs/applications/misc/ttdl/default.nix
index 795253aeda2b..cc8cb96f91cd 100644
--- a/nixpkgs/pkgs/applications/misc/ttdl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ttdl/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ttdl";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "VladimirMarkelov";
     repo = "ttdl";
     rev = "v${version}";
-    sha256 = "sha256-twl72feo1PpWZbs50a962pvvD5YUHfZRW9OjY/meYVo=";
+    sha256 = "sha256-5OYOF8SvjPn/gZf/utcpv1zVvVbB1HeB1mkMiJtBjOQ=";
   };
 
-  cargoHash = "sha256-ZoVPC/PyMm+yuDYhVFykIBk0T5RNLAfmIT36Tl/dxCo=";
+  cargoHash = "sha256-MLypY7Dbr1/4hJ2UYmNOVp0nNWrq3DDTEidgkL0X0AU=";
 
   meta = with lib; {
     description = "A CLI tool to manage todo lists in todo.txt format";
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/VladimirMarkelov/ttdl/blob/v${version}/changelog";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+    mainProgram = "ttdl";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tthsum/default.nix b/nixpkgs/pkgs/applications/misc/tthsum/default.nix
index 26508c6d49bf..2c41c1c300f7 100644
--- a/nixpkgs/pkgs/applications/misc/tthsum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tthsum/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "tthsum";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tty-share/default.nix b/nixpkgs/pkgs/applications/misc/tty-share/default.nix
index cd741b8338d6..7f2fe8c162a7 100644
--- a/nixpkgs/pkgs/applications/misc/tty-share/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tty-share/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "Share terminal via browser for remote work or shared sessions";
     license = licenses.mit;
     maintainers = with maintainers; [ andys8 ];
+    mainProgram = "tty-share";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ttyper/default.nix b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
index db46cae31e9e..de72638d19ff 100644
--- a/nixpkgs/pkgs/applications/misc/ttyper/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ttyper/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/max-niederman/ttyper/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda max-niederman ];
+    mainProgram = "ttyper";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tuckr/default.nix b/nixpkgs/pkgs/applications/misc/tuckr/default.nix
index d332d4457a4a..f61f7bea912d 100644
--- a/nixpkgs/pkgs/applications/misc/tuckr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tuckr/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/RaphGL/Tuckr/releases/tag/${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mimame ];
+    mainProgram = "tuckr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/tut/default.nix b/nixpkgs/pkgs/applications/misc/tut/default.nix
index 8033cbfa865d..85f2768cc715 100644
--- a/nixpkgs/pkgs/applications/misc/tut/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tut/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/RasmusLindroth/tut";
     license = licenses.mit;
     maintainers = with maintainers; [ equirosa ];
+    mainProgram = "tut";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/typer/default.nix b/nixpkgs/pkgs/applications/misc/typer/default.nix
index ebd274125e6e..8d41e2168783 100644
--- a/nixpkgs/pkgs/applications/misc/typer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/typer/default.nix
@@ -23,5 +23,6 @@ buildGoModule {
     homepage = "https://github.com/maaslalani/typer";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "typer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/typioca/default.nix b/nixpkgs/pkgs/applications/misc/typioca/default.nix
index acf8b3a341fe..87b499f010be 100644
--- a/nixpkgs/pkgs/applications/misc/typioca/default.nix
+++ b/nixpkgs/pkgs/applications/misc/typioca/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/bloznelis/typioca/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "typioca";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/udict/default.nix b/nixpkgs/pkgs/applications/misc/udict/default.nix
index 0a8522669e92..62d698cc3a36 100644
--- a/nixpkgs/pkgs/applications/misc/udict/default.nix
+++ b/nixpkgs/pkgs/applications/misc/udict/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/lsmb/udict";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "udict";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ultralist/default.nix b/nixpkgs/pkgs/applications/misc/ultralist/default.nix
index 4ca7283631c0..edcc086dbb88 100644
--- a/nixpkgs/pkgs/applications/misc/ultralist/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ultralist/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://ultralist.io";
     license = licenses.mit;
     maintainers = with maintainers; [ uvnikita ];
+    mainProgram = "ultralist";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/uni/default.nix b/nixpkgs/pkgs/applications/misc/uni/default.nix
index 72c4f84ba733..57f88ab6eafe 100644
--- a/nixpkgs/pkgs/applications/misc/uni/default.nix
+++ b/nixpkgs/pkgs/applications/misc/uni/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     changelog = "https://github.com/arp242/uni/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ chvp ];
+    mainProgram = "uni";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/unipicker/default.nix b/nixpkgs/pkgs/applications/misc/unipicker/default.nix
index b488a16015ef..e13d27ce4408 100644
--- a/nixpkgs/pkgs/applications/misc/unipicker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/unipicker/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
+    mainProgram = "unipicker";
    };
 }
diff --git a/nixpkgs/pkgs/applications/misc/usb-reset/default.nix b/nixpkgs/pkgs/applications/misc/usb-reset/default.nix
index 7b4d67eb065f..0e924ba5ee67 100644
--- a/nixpkgs/pkgs/applications/misc/usb-reset/default.nix
+++ b/nixpkgs/pkgs/applications/misc/usb-reset/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.evils ];
     platforms = platforms.all;
+    mainProgram = "usb-reset";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/usync/default.nix b/nixpkgs/pkgs/applications/misc/usync/default.nix
index cf51a53e7139..1034b3844b13 100644
--- a/nixpkgs/pkgs/applications/misc/usync/default.nix
+++ b/nixpkgs/pkgs/applications/misc/usync/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
     platforms = platforms.unix;
+    mainProgram = "usync";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/applications/misc/vcal/default.nix b/nixpkgs/pkgs/applications/misc/vcal/default.nix
index 9519e033473e..6b882e2710a6 100644
--- a/nixpkgs/pkgs/applications/misc/vcal/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vcal/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://waynemorrison.com/software/";
     license = licenses.asl20;
     maintainers = with maintainers; [ peterhoeg ];
+    mainProgram = "vcal";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/veracrypt/default.nix b/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
index 43537db9cc63..66aca8645adc 100644
--- a/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/veracrypt/default.nix
@@ -12,16 +12,17 @@
 , exfat
 , ntfs3g
 , btrfs-progs
+, pcsclite
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "veracrypt";
-  version = "1.25.9";
+  version = "1.26.7";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${lib.toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
-    sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
+    sha256 = "sha256-920nsYJBTg1P2ba1n76iiyXbb6afK7z/ouwmmxqGX2U=";
   };
 
   patches = [
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
   sourceRoot = "src";
 
   nativeBuildInputs = [ makeself pkg-config yasm wrapGAppsHook ];
-  buildInputs = [ fuse lvm2 wxGTK ];
+  buildInputs = [ fuse lvm2 wxGTK pcsclite ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/misc/vp/default.nix b/nixpkgs/pkgs/applications/misc/vp/default.nix
index 5d2802921341..07dbfef2f5f5 100644
--- a/nixpkgs/pkgs/applications/misc/vp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vp/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "vp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/vue/default.nix b/nixpkgs/pkgs/applications/misc/vue/default.nix
index db9313b6be61..41ab85bbd5c5 100644
--- a/nixpkgs/pkgs/applications/misc/vue/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vue/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     platforms = with lib.platforms; linux;
     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     license = lib.licenses.free; # Apache License fork, actually
+    mainProgram = "vue";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/vul/default.nix b/nixpkgs/pkgs/applications/misc/vul/default.nix
index 21a9e1f12b9e..0e9b52e82d31 100644
--- a/nixpkgs/pkgs/applications/misc/vul/default.nix
+++ b/nixpkgs/pkgs/applications/misc/vul/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LukeSmithxyz/vul";
     license = licenses.publicDomain;
     maintainers = [ maintainers.j0hax maintainers.cafkafk ];
+    mainProgram = "vul";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/warpd/default.nix b/nixpkgs/pkgs/applications/misc/warpd/default.nix
index e2d5715447f7..7fa28d41e37b 100644
--- a/nixpkgs/pkgs/applications/misc/warpd/default.nix
+++ b/nixpkgs/pkgs/applications/misc/warpd/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ hhydraa ];
     license = licenses.mit;
     platforms = platforms.linux;
+    mainProgram = "warpd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/waybar/default.nix b/nixpkgs/pkgs/applications/misc/waybar/default.nix
index 7514c80e602b..dad61b88d4ff 100644
--- a/nixpkgs/pkgs/applications/misc/waybar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/waybar/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, bash
 , fetchFromGitHub
 , SDL2
 , alsa-lib
@@ -163,6 +164,11 @@ stdenv.mkDerivation (finalAttrs: {
     "wireplumber" = wireplumberSupport;
   }) ++ lib.optional experimentalPatches (lib.mesonBool "experimental" true);
 
+  postPatch = ''
+    substituteInPlace include/util/command.hpp \
+      --replace-fail /bin/sh ${lib.getExe' bash "sh"}
+  '';
+
   preFixup = lib.optionalString withMediaPlayer ''
     cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
 
diff --git a/nixpkgs/pkgs/applications/misc/waylock/default.nix b/nixpkgs/pkgs/applications/misc/waylock/default.nix
index e20ebb7e35a7..e07c2b7ed53c 100644
--- a/nixpkgs/pkgs/applications/misc/waylock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/waylock/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "waylock";
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
     repo = "waylock";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-RSAUSlsBB9IphvdSiFqJIvyhhJoAKKb+KyGhdoTa3vs=";
+    hash = "sha256-wvZrRPZobDh+rB3RSaRrz0xDHuYwT2eoQEu3AbYKn8Y=";
   };
 
   nativeBuildInputs = [
@@ -38,8 +38,11 @@ stdenv.mkDerivation (finalAttrs: {
 
   zigBuildFlags = [ "-Dman-pages" ];
 
+  passthru.updateScript = ./update.nu;
+
   meta = {
-    homepage = "https://github.com/ifreund/waylock";
+    homepage = "https://codeberg.org/ifreund/waylock";
+    changelog = "https://codeberg.org/ifreund/waylock/releases/tag/v${finalAttrs.version}";
     description = "A small screenlocker for Wayland compositors";
     license = lib.licenses.isc;
     maintainers = with lib.maintainers; [ adamcstephens jordanisaacs ];
diff --git a/nixpkgs/pkgs/applications/misc/waylock/update.nu b/nixpkgs/pkgs/applications/misc/waylock/update.nu
new file mode 100755
index 000000000000..514a755db1a3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/waylock/update.nu
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i nu -p nushell common-updater-scripts
+
+let latest_tag = list-git-tags --url=https://codeberg.org/ifreund/waylock | lines | sort --natural | str replace v '' | last
+update-source-version waylock $latest_tag
diff --git a/nixpkgs/pkgs/applications/misc/wbg/default.nix b/nixpkgs/pkgs/applications/misc/wbg/default.nix
index bf7ce1c1c229..4501f2c3ffeb 100644
--- a/nixpkgs/pkgs/applications/misc/wbg/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wbg/default.nix
@@ -61,5 +61,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; linux;
+    mainProgram = "wbg";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wcalc/default.nix b/nixpkgs/pkgs/applications/misc/wcalc/default.nix
index 30ca1836b740..62ab0aaa05a5 100644
--- a/nixpkgs/pkgs/applications/misc/wcalc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wcalc/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://w-calc.sourceforge.net";
     license = licenses.gpl2;
     platforms = platforms.all;
+    mainProgram = "wcalc";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wego/default.nix b/nixpkgs/pkgs/applications/misc/wego/default.nix
index 4620386b9c27..3ff6a7279ad6 100644
--- a/nixpkgs/pkgs/applications/misc/wego/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wego/default.nix
@@ -17,5 +17,6 @@ buildGoModule rec {
     homepage = "https://github.com/schachmat/wego";
     description = "Weather app for the terminal";
     license = licenses.isc;
+    mainProgram = "wego";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/with-shell/default.nix b/nixpkgs/pkgs/applications/misc/with-shell/default.nix
index 3674a23e41bd..acfe547f1470 100644
--- a/nixpkgs/pkgs/applications/misc/with-shell/default.nix
+++ b/nixpkgs/pkgs/applications/misc/with-shell/default.nix
@@ -72,5 +72,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "with";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wlclock/default.nix b/nixpkgs/pkgs/applications/misc/wlclock/default.nix
index cbd7c32bdd37..ad14b24abd29 100644
--- a/nixpkgs/pkgs/applications/misc/wlclock/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wlclock/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ nomisiv ];
     platforms = with platforms; linux;
+    mainProgram = "wlclock";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wmenu/default.nix b/nixpkgs/pkgs/applications/misc/wmenu/default.nix
index 9d068bb61e68..b0b64d86e45e 100644
--- a/nixpkgs/pkgs/applications/misc/wmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wmenu/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ eken ];
+    mainProgram = "wmenu";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/wmname/default.nix b/nixpkgs/pkgs/applications/misc/wmname/default.nix
index 45e7cf3d8f1b..b64e714e081b 100644
--- a/nixpkgs/pkgs/applications/misc/wmname/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wmname/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://tools.suckless.org/wmname";
     license = lib.licenses.mit;
     platforms = lib.platforms.unix;
+    mainProgram = "wmname";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wofi-emoji/default.nix b/nixpkgs/pkgs/applications/misc/wofi-emoji/default.nix
index bf58b9195658..359853e6624e 100644
--- a/nixpkgs/pkgs/applications/misc/wofi-emoji/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wofi-emoji/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.ymarkus ];
     platforms = platforms.all;
+    mainProgram = "wofi-emoji";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/writefreely/default.nix b/nixpkgs/pkgs/applications/misc/writefreely/default.nix
index 9f2d6743c387..fe1d221bd274 100644
--- a/nixpkgs/pkgs/applications/misc/writefreely/default.nix
+++ b/nixpkgs/pkgs/applications/misc/writefreely/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/writefreely/writefreely";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ soopyc ];
+    mainProgram = "writefreely";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/wthrr/default.nix b/nixpkgs/pkgs/applications/misc/wthrr/default.nix
index 0b6ab3f96892..5b3c6d2cd17a 100644
--- a/nixpkgs/pkgs/applications/misc/wthrr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wthrr/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/tobealive/wthrr-the-weathercrab/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "wthrr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xbattbar/default.nix b/nixpkgs/pkgs/applications/misc/xbattbar/default.nix
index 93f5d1c2279c..0ddb06b62ace 100644
--- a/nixpkgs/pkgs/applications/misc/xbattbar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xbattbar/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.q3k ];
+    mainProgram = "xbattbar";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xchm/default.nix b/nixpkgs/pkgs/applications/misc/xchm/default.nix
index e5b3100dac37..8c48388594d4 100644
--- a/nixpkgs/pkgs/applications/misc/xchm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xchm/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.linux;
+    mainProgram = "xchm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xcruiser/default.nix b/nixpkgs/pkgs/applications/misc/xcruiser/default.nix
index 8144a66fb2ff..3f1277f24a83 100644
--- a/nixpkgs/pkgs/applications/misc/xcruiser/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xcruiser/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ ehmry ];
     platforms = with platforms; linux;
+    mainProgram = "xcruiser";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xkbd/default.nix b/nixpkgs/pkgs/applications/misc/xkbd/default.nix
index 173ea71fe407..df7d0f0e61cc 100644
--- a/nixpkgs/pkgs/applications/misc/xkbd/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xkbd/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = [ ];
     platforms = platforms.linux;
+    mainProgram = "xkbd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xkblayout-state/default.nix b/nixpkgs/pkgs/applications/misc/xkblayout-state/default.nix
index 539a0f7d1a1d..c73ff6a60783 100644
--- a/nixpkgs/pkgs/applications/misc/xkblayout-state/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xkblayout-state/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.jagajaga ];
     platforms = platforms.linux;
+    mainProgram = "xkblayout-state";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xkbmon/default.nix b/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
index 7c9a24c67173..f9394c45342c 100644
--- a/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xkbmon/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
+    mainProgram = "xkbmon";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xlights/default.nix b/nixpkgs/pkgs/applications/misc/xlights/default.nix
index 459a7fd2d1db..e878039d0ede 100644
--- a/nixpkgs/pkgs/applications/misc/xlights/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xlights/default.nix
@@ -15,5 +15,6 @@ appimageTools.wrapType2 rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ kashw2 ];
     platforms = platforms.linux;
+    mainProgram = "xlights-${version}";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xmenu/default.nix b/nixpkgs/pkgs/applications/misc/xmenu/default.nix
index 9fe7ddf70b6b..ae08952af2e8 100644
--- a/nixpkgs/pkgs/applications/misc/xmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmenu/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ neonfuz ];
     platforms = platforms.all;
+    mainProgram = "xmenu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xpdf/default.nix b/nixpkgs/pkgs/applications/misc/xpdf/default.nix
index 0205208c86ba..38b92eb77b9f 100644
--- a/nixpkgs/pkgs/applications/misc/xpdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xpdf/default.nix
@@ -12,11 +12,14 @@ assert enablePrinting -> cups != null;
 
 stdenv.mkDerivation rec {
   pname = "xpdf";
-  version = "4.04";
+  version = "4.05";
 
   src = fetchzip {
-    url = "https://dl.xpdfreader.com/xpdf-${version}.tar.gz";
-    hash = "sha256-ujH9KDwFRjPIKwdMg79Mab9BfA2HooY5+2PESUgnGDY=";
+    urls = [
+      "https://dl.xpdfreader.com/xpdf-${version}.tar.gz"
+      "https://dl.xpdfreader.com/old/xpdf-${version}.tar.gz"
+    ];
+    hash = "sha256-LBxKSrXTdoulZDjPiyYMaJr63jFHHI+VCgVJx310i/w=";
   };
 
   # Fix "No known features for CXX compiler", see
@@ -73,8 +76,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
     knownVulnerabilities = [
-      "CVE-2018-7453: loop in PDF objects"
-      "CVE-2018-16369: loop in PDF objects"
       "CVE-2019-9587: loop in PDF objects"
       "CVE-2019-9588: loop in PDF objects"
       "CVE-2019-16088: loop in PDF objects"
@@ -82,14 +83,10 @@ stdenv.mkDerivation rec {
       "CVE-2022-38928"
       "CVE-2022-41842"
       "CVE-2022-41843"
-      "CVE-2022-41844"
       "CVE-2022-43071"
       "CVE-2022-43295"
       "CVE-2022-45586"
       "CVE-2022-45587"
-      "CVE-2023-2662"
-      "CVE-2023-2663"
-      "CVE-2023-2664"
       "CVE-2023-26930"
       "CVE-2023-26931"
       "CVE-2023-26934"
diff --git a/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix b/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
index 226907afe7e8..6fd521f3cc5c 100644
--- a/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xrandr-invert-colors/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/zoltanp/xrandr-invert-colors";
     maintainers = [lib.maintainers.magnetophon ];
     platforms = platforms.linux;
+    mainProgram = "xrandr-invert-colors";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xrq/default.nix b/nixpkgs/pkgs/applications/misc/xrq/default.nix
index 22ad3d789ac9..c37696c5f19d 100644
--- a/nixpkgs/pkgs/applications/misc/xrq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xrq/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/arianon/xrq";
     license = lib.licenses.mit;
     platforms = with lib.platforms; unix;
+    mainProgram = "xrq";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xscope/default.nix b/nixpkgs/pkgs/applications/misc/xscope/default.nix
index ba798a861a8d..34425345f3d4 100644
--- a/nixpkgs/pkgs/applications/misc/xscope/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xscope/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
+    mainProgram = "xscope";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/misc/xsw/default.nix b/nixpkgs/pkgs/applications/misc/xsw/default.nix
index 5248ed2f6040..fac2c6812bd2 100644
--- a/nixpkgs/pkgs/applications/misc/xsw/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xsw/default.nix
@@ -31,5 +31,6 @@ in stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license  = licenses.gpl3;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "xsw";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/xxkb/default.nix b/nixpkgs/pkgs/applications/misc/xxkb/default.nix
index 5e76e3a14d53..3fd9eb8a6ecb 100644
--- a/nixpkgs/pkgs/applications/misc/xxkb/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xxkb/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.artistic2;
     maintainers = with maintainers; [ rasendubi ];
     platforms = platforms.linux;
+    mainProgram = "xxkb";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/yambar/default.nix b/nixpkgs/pkgs/applications/misc/yambar/default.nix
index 8feb3995070c..ee679a630b60 100644
--- a/nixpkgs/pkgs/applications/misc/yambar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/yambar/default.nix
@@ -119,5 +119,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = lib.platforms.linux;
+    mainProgram = "yambar";
   };
 })
diff --git a/nixpkgs/pkgs/applications/misc/zettlr/generic.nix b/nixpkgs/pkgs/applications/misc/zettlr/generic.nix
index 671577b61ba7..0b26d57e7c4e 100644
--- a/nixpkgs/pkgs/applications/misc/zettlr/generic.nix
+++ b/nixpkgs/pkgs/applications/misc/zettlr/generic.nix
@@ -38,5 +38,6 @@ appimageTools.wrapType2 rec {
     platforms = [ "x86_64-linux" ];
     license = licenses.gpl3;
     maintainers = with maintainers; [ tfmoraes ];
+    mainProgram = "zettlr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/zine/default.nix b/nixpkgs/pkgs/applications/misc/zine/default.nix
index 863ab7f618ba..63675fa69abd 100644
--- a/nixpkgs/pkgs/applications/misc/zine/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zine/default.nix
@@ -34,5 +34,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/zineland/zine/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya figsoda ];
+    mainProgram = "zine";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/zktree/default.nix b/nixpkgs/pkgs/applications/misc/zktree/default.nix
index 86e12712340a..c9d4786f05f5 100644
--- a/nixpkgs/pkgs/applications/misc/zktree/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zktree/default.nix
@@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/alirezameskin/zktree";
     license = licenses.unlicense;
     maintainers = with lib.maintainers; [ alirezameskin ];
+    mainProgram = "zktree";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/asn/default.nix b/nixpkgs/pkgs/applications/networking/asn/default.nix
index 694976f543c3..4fc231b4702c 100644
--- a/nixpkgs/pkgs/applications/networking/asn/default.nix
+++ b/nixpkgs/pkgs/applications/networking/asn/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "asn";
-  version = "0.75.2";
+  version = "0.75.3";
 
   src = fetchFromGitHub {
     owner = "nitefood";
     repo = "asn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-G8TDl9R5nbUzmjcr1m+eNNybSDqb64c7ZOO/viL5/Q4=";
+    hash = "sha256-KOwXOGw6gv8YFTrFFkD6BNKChTIbD2Soy3gvvSzNQgM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index 857acdd0fb82..8e6963f0ba9a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
@@ -93,11 +93,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.62.156";
+  version = "1.62.165";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    hash = "sha256-U+MjXuF3rv5N4juKeIzUfnSNVLx1LGn+Ws+b5p252Qk=";
+    hash = "sha256-FyTHFoPP4u5BF3vrgBnM5aFLPfijMzmkq06HXMDvv4k=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py b/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
index c231febabd60..c1d893e0cff9 100755
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/update.py
@@ -201,6 +201,8 @@ def print_updates(channels_old, channels_new):
 channels = {}
 last_channels = load_as_json(PIN_PATH)
 
+src_hash_cache = {}
+
 
 print(f'GET {RELEASES_URL}', file=sys.stderr)
 with urlopen(RELEASES_URL) as resp:
@@ -240,13 +242,27 @@ with urlopen(RELEASES_URL) as resp:
             google_chrome_suffix = channel_name
 
         try:
-            channel['hash'] = prefetch_src_sri_hash(
-                channel_name_to_attr_name(channel_name),
-                release["version"]
-            )
+            version = release["version"]
+            existing_releases = dict(map(lambda channel: (channel[1]['version'], channel[1]['hash']), last_channels.items()))
+
+            if version in src_hash_cache:
+                print(f'Already got hash {src_hash_cache[version]} for {version}, skipping FOD prefetch for {channel_name_to_attr_name(channel_name)}')
+
+                channel["hash"] = src_hash_cache[version]
+            elif version in existing_releases:
+                print(f'Already got hash {existing_releases[version]} for {version} (from upstream-info.nix), skipping FOD prefetch for {channel_name_to_attr_name(channel_name)}')
+
+                channel["hash"] = existing_releases[version]
+            else:
+                channel["hash"] = prefetch_src_sri_hash(
+                    channel_name_to_attr_name(channel_name),
+                    version
+                )
+                src_hash_cache[version] = channel["hash"]
+
             channel['hash_deb_amd64'] = nix_prefetch_url(
                 f'{DEB_URL}/google-chrome-{google_chrome_suffix}/' +
-                f'google-chrome-{google_chrome_suffix}_{release["version"]}-1_amd64.deb')
+                f'google-chrome-{google_chrome_suffix}_{version}-1_amd64.deb')
         except subprocess.CalledProcessError:
             # This release isn't actually available yet.  Continue to
             # the next one.
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 00a9e8af67e3..6711701fe3f9 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -15,9 +15,9 @@
         version = "2023-11-28";
       };
     };
-    hash = "sha256-mncN1Np/70r0oMnJ4oV7PU6Ivi5AiRar5O2G8bNdwY8=";
-    hash_deb_amd64 = "sha256-t/5Mx3P3LaH/6GjwMFP+lVoz7xq7jqAKYxLqlWBnwIE=";
-    version = "121.0.6167.160";
+    hash = "sha256-mLXBaW4KBieOiz2gRXfgA/KPdmUnNlpUIOqdj7CywcY=";
+    hash_deb_amd64 = "sha256-UDgO1sJ7bggFTe7C36CnHYXjG9rM+ZqFCOzNyIDpQ0Y=";
+    version = "121.0.6167.184";
   };
   ungoogled-chromium = {
     deps = {
@@ -28,12 +28,12 @@
         version = "2023-11-28";
       };
       ungoogled-patches = {
-        hash = "sha256-qwMQoJEJxNjDEdqzSMBTozv8+wl+SbBmzIm/VbiGxKw=";
-        rev = "121.0.6167.160-1";
+        hash = "sha256-nJDLCVynuGFRIjLBV0NmC0zHeEDHjzFM16FKAv2QyNY=";
+        rev = "121.0.6167.184-1";
       };
     };
-    hash = "sha256-mncN1Np/70r0oMnJ4oV7PU6Ivi5AiRar5O2G8bNdwY8=";
-    hash_deb_amd64 = "sha256-t/5Mx3P3LaH/6GjwMFP+lVoz7xq7jqAKYxLqlWBnwIE=";
-    version = "121.0.6167.160";
+    hash = "sha256-mLXBaW4KBieOiz2gRXfgA/KPdmUnNlpUIOqdj7CywcY=";
+    hash_deb_amd64 = "sha256-UDgO1sJ7bggFTe7C36CnHYXjG9rM+ZqFCOzNyIDpQ0Y=";
+    version = "121.0.6167.184";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix b/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
index 914bfec7fad4..35f33c997294 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
@@ -5,7 +5,6 @@
   enableGuile        ? false,                                         guile ? null
 , enablePython       ? false,                                         python ? null
 , enablePerl         ? (!stdenv.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform), perl ? null
-, fetchpatch
 # re-add javascript support when upstream supports modern spidermonkey
 }:
 
@@ -14,24 +13,15 @@ assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
   pname = "elinks";
-  version = "0.16.1.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "rkd77";
-    repo = "felinks";
+    repo = "elinks";
     rev = "v${version}";
-    sha256 = "sha256-u6QGhfi+uWeIzSUFuYHAH3Xu0Fky0yw2h4NOKgYFLsM=";
+    hash = "sha256-JeUiMHAqSZxxBe8DplzmzHzsY6KqoBqba0y8GDwaR0Y=";
   };
 
-  patches = [
-    # Fix build bug with perl 5.38.0. Backport of https://github.com/rkd77/elinks/pull/243 by gentoo:
-    # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch?id=dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869";
-      hash = "sha256-bHP9bc/l7VEw7oXlkSUQhhuq8rT2QTahh9SM7ZJgK5w=";
-    })
-  ];
-
   buildInputs = [
     ncurses libX11 bzip2 zlib brotli zstd xz
     openssl libidn tre expat libev
@@ -64,8 +54,8 @@ stdenv.mkDerivation rec {
     ;
 
   meta = with lib; {
-    description = "Full-featured text-mode web browser (package based on the fork felinks)";
-    homepage = "https://github.com/rkd77/felinks";
+    description = "Full-featured text-mode web browser";
+    homepage = "https://github.com/rkd77/elinks";
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ iblech gebner ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index fcba94928362..ebd9e7379fc4 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "119.0b6";
+  version = "123.0b9";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ach/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ach/firefox-123.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "ab53e56f2114c4fed251117c93e781a8ffe37ca09a78bbdc56ece3f277f745cb";
+      sha256 = "3ce1ae2880e0d9513020aafc9aacbc973f8dcdfd20bda4fe793934ead5207a4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/af/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/af/firefox-123.0b9.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "5f91af053d41eb6143313069d5a0ac796b5d6cbbe1e5e3d7d0ac543bf39487de";
+      sha256 = "5d4d3567073687fb7a97c4d9f4d47cf4d2e4306e9d910233548edeae929ad931";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/an/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/an/firefox-123.0b9.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "1d336edaa437b2cbfafcba0d27f51492166299bfea14cfd00f4e7d983924e729";
+      sha256 = "61328bd03bc5b3ac6dd92aaa68c0f0e0a3bfcbf66750403408ed9d8b58da0aae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ar/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ar/firefox-123.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "bde5b7f115ce1575c5da5b1e6d086568815330e54d14d3eb8010e2aa8a633cde";
+      sha256 = "21cc94e00c03ea36e0cd3789ccb928075f993e73882a834abf5b4fc556cc228c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ast/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ast/firefox-123.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "0859bffdcf5381b68640401a26960d231675b4534bd9d83884c8f7542ff48205";
+      sha256 = "d26184778bbbcbe64f28da8bd0c43d708f47e957f5e5f96fc3709283abbcc51f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/az/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/az/firefox-123.0b9.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "ca3d38e0315fdb8524524d6ccfafd56ed735307071076e40596d17082d4c9b22";
+      sha256 = "8e14fbe033836f4d03d9e0582901c0c3d3c00f85b6500c738327126e0af266e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/be/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/be/firefox-123.0b9.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "fb7dfb212e6d24874614771301f5fe45c7a370be1cdea06c18e06237bdd0b58a";
+      sha256 = "61d101b2d3ac66dfd5f650c1540cd6834ab34d3021f5c3e03325fe77e254b561";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bg/firefox-123.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "30f4f07e61fc50a889f0ed24de875fa2bc4457413b100cfab72c62b5f023718a";
+      sha256 = "9b3f88d366e0302f6c867fcca5f87c57cde40ce36452b84c0adb6252682da334";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bn/firefox-123.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "58a8f4ea9ac3c34b69892a19a570d12a69074a6011fca7d3fe57485a9f601be8";
+      sha256 = "3ddded6981ac71b860215818f0c1a95b1b47db0b2a1d48e7bcc42a7bb044c23b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/br/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/br/firefox-123.0b9.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e9a45bcebebf39cf37f216ac79002993812912253559404648ea78e4c1fad6ce";
+      sha256 = "be9e4811597b43c08d1cc0397d35edb0b164e5c87bf49ce0335ffbcf11ac7909";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/bs/firefox-123.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "0c224de8786ac18d8b590cba66a7078f90c001b16c02f14907b9bbcf03670104";
+      sha256 = "a780b6097310a6fd99b04e61c9e7960e581c37ffb284675e56980cabf3145ae5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca-valencia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ca-valencia/firefox-123.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "c5504da29820ad468bcdc3b5d7242eec7d60dbf2435b974a3d96cc51ac8da1e3";
+      sha256 = "183156e5599f044e5cbc976f6d4ce484440070312c0c3f4fef0d3a45103e5a65";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ca/firefox-123.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "aa75df2625a82f66b797778f69894f32fc605c1cdd432b00efd2540e3b273220";
+      sha256 = "921583a1dd58d3af3fe986925e76f635aeabade35b931fb29444a2657821453e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cak/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cak/firefox-123.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "5344d1e38a89c8c90731fed48deb7fcf0b0d18613db86d73f247225f15d8208f";
+      sha256 = "50ade155368f559fb8558543d78ac05e4bf9cc42b78a8321c7d5500675c92062";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cs/firefox-123.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "adab1705be9c7c0ad4b1cd42291b93b8fc27d56afc8f46ca8137b838a2271c0a";
+      sha256 = "8101fccce916fddb44817409a9e270cae1718c0adcb27c5f6170d10e116416fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cy/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/cy/firefox-123.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "0f27d7cf339372a304a6d87fd1c09fd7d896e04c1f7fcb7505a19040ce08244c";
+      sha256 = "0c78283130d9fc0a7c59349d57c50e4f29670156cc025d504655e47a614100ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/da/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/da/firefox-123.0b9.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "5db5bee56304d38be35448bfa9d1ed83fc7b033cf09293e74686b908345cb7f3";
+      sha256 = "f4d4d555cc6c284e84d242ec5b0728a51f3305b35396f08c062a63500ac9d072";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/de/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/de/firefox-123.0b9.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "0c6e88bb3a8e797e2f3bbbe5bdb06285ba1537ce08c569002839d0aff39ca4a5";
+      sha256 = "31e88c11250d8d6b5c058b8a1be49ac7b8b042ab6b6ef58d99d60ed727c368e8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/dsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/dsb/firefox-123.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "bfaa67ff178b467386d97d7158ff27d725213d277407c68385bd61b42254774c";
+      sha256 = "d2ab8f38fed8d29e7107bc00173161b051dde2427e1db176f0c31a8f3d96b82d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/el/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/el/firefox-123.0b9.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "8bd5509649f16833d133f4da7ca27df508f2b78bd2f2ee6716691ca32f03426d";
+      sha256 = "cb3230da0086e7b8fe6c1541a7dfe0aa7bf32f27afba8757d2a99d986b99548c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-CA/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-CA/firefox-123.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "dc9598bc78929e48a6903c3dd85c058824ce6249bdc8958b83979a3291f6c078";
+      sha256 = "0c0a449d10ebc4c2d878c02a28dea10bdee965ad2962e520e49c84ad0a20161c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-GB/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-GB/firefox-123.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "2d75187cd53f66be8620744ad14b002e3a359d12b5a12efc9c72c337b574057c";
+      sha256 = "e5cedd517e9b9e7c944047c0f458930620aaf2217503eecaf94119b0b8247fca";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-US/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2640312b24f2938b0251c1cc018d0f85a1b91aaa688638556140ffe7ed5ff682";
+      sha256 = "c29d96875b8eb03d37e948e3f62cd4505300fce85f0e09dfae6a4443d3878607";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eo/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/eo/firefox-123.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "f52a3ff12f69cf2a7e2443f003ccad1ebf2fcc32303d829c5a4131e067dd99f8";
+      sha256 = "ad33a7a8ead41eeb138e1666749110904dfa4ac63f3aacd223ad50507c0f491d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-AR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-AR/firefox-123.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "40581ea9878db00ccc1e97b46791f7476293024841158127feeb69cb10dca511";
+      sha256 = "0a89ad30ae08c133ef708e835ab0eb19b2efe572bfd914de9c5d2b6c512b3f12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-CL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-CL/firefox-123.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "22bda55625d59fa7812ad1d81676a7be08e6dc9ef00dd653365d25dbd3914802";
+      sha256 = "bea9b887b927b6a5ef27ac5870e101139ca75e9d963819d51c914ba7b0e29a1b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-ES/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-ES/firefox-123.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "4195ebc7f41753c02abffcf12847969853bf169c4f1925cc6d16db88341a8dc9";
+      sha256 = "4cf6edd56012bfca2a16e03b910d677904a7c066ded36a784a49eb7e9604585a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-MX/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/es-MX/firefox-123.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "4248baccf81d3376913a415b9154d52171158136af2a7c72e8891f0fc441501e";
+      sha256 = "787a75e1dce4e7041259336d5c25ac830856676cfd1e9c79cf9336f67eccc11a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/et/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/et/firefox-123.0b9.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "b6387c5743a550635e9526cf055a7562f259d0117970809b9b11c3ae88a1c08e";
+      sha256 = "a60e49fff341b8385b2d0204384cfcb2195bed3032f804394b46ac9f7acb4d7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/eu/firefox-123.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "46a649181d6c97d938ded928be22447d9810a792ce218ff7dddd683a0f5b4eeb";
+      sha256 = "9b32025552bc021ef73d1ad974741781365524d33087b7d5cabcacf9fb04c33e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fa/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fa/firefox-123.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "a789b8b2c68d2f3fe41c1257ac741d2d3ff55d68011e01eed7b19dce80989d41";
+      sha256 = "6e2544bda0f1ead702ba792dc0ce6b800f2b8293708b323fb6691e4c396230f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ff/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ff/firefox-123.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "7625b0cda8b5d2c5ca673a477d9f69fb90c5a7c15949cb048cdf11a2922e68c4";
+      sha256 = "8678f110b197f29feb710b084231afd3296fe0a2c453e85261876a808fa4ed54";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fi/firefox-123.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "a871ad53724e11e40eb3d66b21483fd744b2404615f9bcc655c0e7dc8e9883a9";
+      sha256 = "1d610e8f74571cc589217c10cc6bc4f8f6b6662c3b68c6a553de93e059434097";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fr/firefox-123.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "cda3709cc13eaf59ff4657ac5c8f66145092bf59c4daa09392ddd5d9d596584f";
+      sha256 = "800f8fe946f6acb719023db2a01a48dcd3f5ea8e922ccc295e42607e0aee6fbb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fur/firefox-123.0b9.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "9acabfb02291d58f7e99d4e34ed744102b191f3f22dac1a1e3363eb68052ef95";
+      sha256 = "34bd3de17e35ea1ff26702882c92e07a5a5638dcf94c3fcb72eccdcda006c6df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fy-NL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/fy-NL/firefox-123.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "a30c0b8888b5feafcadc2ced7e12cbe924f1d1af61c00005b990d46b13da583b";
+      sha256 = "7c7b54aae85484dcffa320d85fec0efd9df99085470140cf8972619dc5a495db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ga-IE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ga-IE/firefox-123.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "002f16c18ed429aa6c09d6ff3767caa6b500a398706a3ba6f4c384416c050643";
+      sha256 = "1698aeeec9df7409febfa1e778f3f939401128cc4eec0001abf22e35252b1004";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gd/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gd/firefox-123.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "6193316d09dbb8e510b8641499f3f3723a25cc57cdcb009661180663ec19de0e";
+      sha256 = "77b6eb8bd315afc565630097861f172f0eaf4272c50415f8ba24719ecd8e37a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gl/firefox-123.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "ab142c65d545338e1db668f9e5313bc19fe8260a4010458ac024c4a654c262f6";
+      sha256 = "3ed7eaa928039d5d847f2fcbd1c0207b21ae0bfaf13efe4df4fb1607db0b6d2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gn/firefox-123.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "9a9bd45fd1612fadc467adfc4391adb559f0886dc5e5c58e1c9489b756621409";
+      sha256 = "94d445c98cfcd4373d2d7316076f42a7e3af2d7e831a835b931c5f7a70c53d8c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gu-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/gu-IN/firefox-123.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "36e72934f547e0b585d7ecf651173d55244bc1549e2539f2133be75c55b28677";
+      sha256 = "d4fd0881e378b255d8399a14ca8b1b22025abe8339af81c53e932063a29fa952";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/he/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/he/firefox-123.0b9.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "16d25845f30fb410d966b4a6f0100d49033a6c7f7fac17bfaee4c59681973011";
+      sha256 = "293c0b07dd041e11a42c3b7a1cd67f67600fa6c2c331bb3506a6c287477e15cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hi-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hi-IN/firefox-123.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "baa04788253d2e1bc833295edd0468c73f3628f76f0642c48a5486945c41c743";
+      sha256 = "03124df15ba38dd7d7382e1c0c42fceb2cbf286f2668a8592f55a505ed506b78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hr/firefox-123.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "13e68c8f205f924a6ebba66ff16d79fdfa9cd8914386d7184f5a389af3753c9f";
+      sha256 = "9efdcf04f67569657b12c988cfa85f5a628c3393fb3696fa3f2a573764d43711";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hsb/firefox-123.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "bd7c988e1aa6458f73f28eb46136600a5df5a382f3d5451c784c0f6e42a3b5a4";
+      sha256 = "93e4f1b8373e9e5b995d4c374f82eeed446ee852ee192d5ef5ddf3f32e73e007";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hu/firefox-123.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "0dae4dd735e4b5eb1600515a40c836aef05730a8993f8060d7f8f40f23903ebe";
+      sha256 = "fee6e59a250927cf4a3a8958a3c615231518dfb49a3a88e856795fd7cbac4ba8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hy-AM/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/hy-AM/firefox-123.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "cbde4751c8c42126f7af27ac45037245ddef38f835496d66675ca1aa0c7c25ce";
+      sha256 = "eceb5353393af86334d0af3545dd3b255e403d61e74f598180a155190d8951cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ia/firefox-123.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "e5484ffe781d2e71b9ce44830f1318dbccc32f8165f432d501100fb9f78d9334";
+      sha256 = "804a2e4382b6d70f36dd200b662e267e2d470122fad40eebede0575157d6bf7b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/id/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/id/firefox-123.0b9.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "35d1130859de3a82b88a77686f7caa5e8362ac574e6662377f28ff296947008b";
+      sha256 = "76e42ab6e734f5e136a9cbf51cb6e5c328a5760ca4496317d96fc5c56066fb56";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/is/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/is/firefox-123.0b9.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "eaddbbf9cbbb1d9b006aa7b24ab5ed735e5a0939ebd268423a47ef9f9fdecc37";
+      sha256 = "bc5d42ea1de532adfe7bfbbedbdb2f843a2169512d963e380ba19b5d7ceef333";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/it/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/it/firefox-123.0b9.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "c2fd4eadc15dea50fce40bfecaacffe930b8292f04ebec2fda8fe6cd094afa9e";
+      sha256 = "a5e82b61a6c333ef2ed284a21b3f61a21acb4b1472cc26ffd62b22ceb7c7a9a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ja/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ja/firefox-123.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6755b5e46dbf3b2069d01dc17b9c5ad20ed445a84785d020771f5871198faaf8";
+      sha256 = "ecd354b67166e703eb01c4a81807e5d704677ef9f488853a13d2fc64670386a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ka/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ka/firefox-123.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "cc6080cfc1b8d4865dfc5222ad8d2a7dbd3745563b82fbf6edf14647ff832754";
+      sha256 = "1b44bba15d10dcf8a40aed5d9db3a6806abf3696ad87ef5b7817a472ccef3e3f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kab/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kab/firefox-123.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "82e6383d1ae3708077525d6af18b54d653be90c08e1d8b43801d83696e086c65";
+      sha256 = "447c32af1f76239fc2930054ab12a3042f2b0dd12700af189e63f3e3839edafc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kk/firefox-123.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "8afbc941c1afd7bf46ef07cbd5590ce75f95634febfde46f739326c7c344976e";
+      sha256 = "715aa52a8b9325e362ebfe418e3b813d2926e0bd23787d5ff2ce864f6189aaad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/km/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/km/firefox-123.0b9.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "ea40ac277a502b7d2ffe6f0c95ebca551b360c78377ecf78e7dde8e30d5d3771";
+      sha256 = "b9e777620585e6cab276acf2dbd4987b4dc138ae76cef670b578125763e56c33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/kn/firefox-123.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "3ebe329a34c386f5abacc1a71c6d4d857bc29c8afd4d6738278441b3fb176b52";
+      sha256 = "053b96cb623dba8615aecb03b93207d9417b5038cdaad102eff3f5973f69e54a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ko/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ko/firefox-123.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "fd4fc4cb9576e4f27c5baa59b5a8e650e9a09dd581191eda2b2fa43cdeb59d4c";
+      sha256 = "ab7ee90b96c9b86795e7d3341b3b3097370c389df3d94af615660c2c83ba03f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lij/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lij/firefox-123.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "bc0a41f902ef8d45475a0ea4a9612e00ce28c1e3af1e4ac6d279be2e1e0f546a";
+      sha256 = "a2e473f93e947e025cdec6c397d3bb887a8756d053c84914294d66d1dd61522e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lt/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lt/firefox-123.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "77a14c250a4d48e63a1131c59a966f815468644966b74bf9dfdb9b0a800acac4";
+      sha256 = "dd51ffd895fbdade9cbadab6eb80c2fd3a2c05f40f85e07c0f6fef72d76a8ac3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lv/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/lv/firefox-123.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "7739bb320f0378ffce06823ea99b2b059138ab74396dacb3f9a8146e5a679d28";
+      sha256 = "23cd387c72f41145b5952396fadec84503c5e867fa670bd44cda28cbaf5d1074";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/mk/firefox-123.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "31c6da50ec3c216e47ff4560854300d7c5f49f187fd00af4f5b95a560b4644da";
+      sha256 = "1f647019accd7dcef1a91ec7485c9a53a74b8db99b9c58186b095c474d005526";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/mr/firefox-123.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "ae6b36ba25e4926ca5308eb9e49349220cbfe67f628a2ff97299cc1c07508eed";
+      sha256 = "1aff1a29d3549ed82e56e94a5dc3e8523bd8499aecdaea343492e21db6e2c25b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ms/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ms/firefox-123.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "1b461db57a22f2af0f4d2371f2749f63b49ab8bcde5eb03bd01000bc1922963f";
+      sha256 = "52893904bf15965e7ffe737317b3e161fe74d230a8a9239180ba66582cce799e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/my/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/my/firefox-123.0b9.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "cb896c973fced6499d0b5d0a88ab359de0be926d6b3e675d552a9401fc514a0f";
+      sha256 = "4db5003afda4910fcbe7b26967bf228aa84c36dc5f6a23df3c260fca8326cf76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nb-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nb-NO/firefox-123.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "cc9e3f2dfc121d6bbc5ec8eb7978ba0e0e6804dcef632919229c122f0f4898f5";
+      sha256 = "13a7870ad4be2b7cea630c198fcf5807cd9e831a38f0bacb48da49b6854101ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ne-NP/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ne-NP/firefox-123.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "db1ae6bbf74c07945b0550b4e857f46c50a450c649d95fc638ee79c6f4b9d5fe";
+      sha256 = "b0e9636d8255e26b4bd212df3fe983492da86e771e3791f5add56c7a91260959";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nl/firefox-123.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "ff66018baa06511ab0b4542ee7daf02b92a3226b384826c93c7faf3547400f00";
+      sha256 = "f8773f49efaa3295161af922cf25cfe2468f1200b36eab308f39f5668303dcbd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nn-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/nn-NO/firefox-123.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "998be79bccce541901e08e1ffde2589690f35611874d4a3381e30eade8b0df96";
+      sha256 = "a68c64f514e1b179c32bd952ed78346cc69c978187bc82bd7d9b7d3f707a4b85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/oc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/oc/firefox-123.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "bb1affd0f6033be6f2b948cbe45d6f0a0c72a0c7d2830d559049cd42a8556891";
+      sha256 = "20bda4c5abecbe7afc74c235d67bd352688381b6e8ff850a53a174d06c84aec3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pa-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pa-IN/firefox-123.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "b6188b8e74b61bf41ce13c11c6e6edb256ed3b580bc81a5503759c39ae8e2975";
+      sha256 = "91a954f2721cd778419bf0a793f8c16f72ff891a582393ddf91eebdb4b0faa5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pl/firefox-123.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "42640c440031befd0f108c94a47fea434915b2737a90fec11bc37b9352d9d150";
+      sha256 = "42611bfc1893a348ef09b66032796ce59d96fdd20d7a61bbbfa6e65b3aa8ec7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-BR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pt-BR/firefox-123.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "6c99453ea5f33f548f07612a4e1dcfe660317d7a31889fbad58b36450bb50adb";
+      sha256 = "4354b4843696e66b49d27e947e78410ceb2a7b4acda6e1297c677cf8c583550a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-PT/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/pt-PT/firefox-123.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "4f0305d3da737fafc9a424df8db0aa25a1e99135aaef8fc340743324b36de894";
+      sha256 = "813fb8c76131eb078ce9870ba6a94429cf7195d52c60214d3ab2c9cf69a48b9a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/rm/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/rm/firefox-123.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "a13c0cad16dfb0181d5804e42e9f5a9b9aa65f31f125b71461bca8000cc6f2e7";
+      sha256 = "5b27601d1f9d9485835fe0404e6a07c99d9e0713fc51fd65917d35254a8e6770";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ro/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ro/firefox-123.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "6927bac6ef5d53d606e1cf14d0bace2e084b917e58ec6ea146ac038890076418";
+      sha256 = "7a3ea4ba779c3b09cb27a194585b50f628359646aa554851b11c2cf86593d97b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ru/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ru/firefox-123.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8d707f8fa2cc6fee8ead1cbb9d7585c3d0c33bb1add1b286f0a4955949b2dfb9";
+      sha256 = "23b5e522650071cbb270ae68dab939b6e4a69b8f2c89abb8247d029f9f392d53";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sat/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sat/firefox-123.0b9.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "d61dc0c76152c83437096365ae8f162ae62c0304f8e277ca1629d87521153ebb";
+      sha256 = "9d26fc2bf1c50226e105c79c8b2a8ac683091b0bcab6806c1e19cd4345e15613";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sc/firefox-123.0b9.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "605072564b0b751f9c586df8cf21814002ca378d20b0b2bcfcc6747685e61f36";
+      sha256 = "287dade2a53172616e900fc272b742dcd1d23b6530ccd0b515d3ed0ae9554297";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sco/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sco/firefox-123.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "28c4b87d30bc853a3fc210424cfb1527ffbbf75fbca7c374cfd3e006d46ef7ef";
+      sha256 = "6cab125393de59ae745eee77d1617f2daf27b3c3d8a9c0cd43f212ec717b74b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/si/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/si/firefox-123.0b9.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "dc5a9baed40c9321dda7aa20b7147ac655760059cc0ca2ea1549c4a29e6035ff";
+      sha256 = "75dc69971773963265198a1803d5f979deb62517ac360b4fed1ed5d2675ccc03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sk/firefox-123.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "3375a7450b16f27d20a5a4624b6dabb467e3b69689e31289317cae1be3690874";
+      sha256 = "65221cce433915fc98f5a3578a7896d869a7a82e6bb94f5780d71e18d2ae5d68";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sl/firefox-123.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "61969bfda32ae873583920b4c3b3a973eb09ccbb561971eb6e6a3a91c6d63dad";
+      sha256 = "9d159e814415c4df709ed2535c9047e9e33b390008b70892511811810cb20925";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/son/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/son/firefox-123.0b9.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "5dee7311285b3c7bdaccceb2bd6b82d638621b821f3de5221a25f16a2edb03f4";
+      sha256 = "da14a37f5169fe10dd03ec6fec12e4a772c0830f3dbf970d512ef68bf75188d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sq/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sq/firefox-123.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "4d48d48f0748057df5ad991a39cbf48688425537655668fc21846db706b3467a";
+      sha256 = "67a8da48427b7e8dd3a76348d5151c91c89f092a7305a648d45328e4593385a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sr/firefox-123.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "f7cf2b3e22a209e0e929b4faefd1838851d0defa08ebf805b1ec0b44aa7d271e";
+      sha256 = "8bff3f3e99fc47a9c4fcea492397d434be60db0f7b868b318da07e17b8b31808";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sv-SE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/sv-SE/firefox-123.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "96cabf15eb5d2a2895c1246feb4fc47b95c1322fb8082181679a2cdc6b405678";
+      sha256 = "0351bab4059a95c2081b78b59301ed3a58cef115437e90f28485378605372f08";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/szl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/szl/firefox-123.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "09619a0c74615be4dc0cf190758c82051611c4c875da7419c7057cfcb9308a9c";
+      sha256 = "9d595190c57717611a730c47c03d05d84ba98ce655d929e3bcfa446ae2e3d7f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ta/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ta/firefox-123.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ecbfc6e2f24c250884a959df8b59981a249835b6c1d23b249a6f882f9d916b17";
+      sha256 = "97852a4e2eb1d857e42bfc793892fa67d8e9ca074e8d28846f5446d82744050f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/te/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/te/firefox-123.0b9.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "5f61c2897105ee45ccbdec665edd3d67a73825333a77002a14984c208087af65";
+      sha256 = "9c10ac5360ab9b5c1b5aab8cce2197732a510fa916489ecac10a20e9d5fd5c82";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tg/firefox-123.0b9.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "b9572b7bd246d2b427da497cc8c3c8bf8a6f3639c71d7720a8a0853861ba9219";
+      sha256 = "60d479dc80e107a3471f51afca4fd13da3203d2f677c4dee5def6a930ff7a6b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/th/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/th/firefox-123.0b9.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "142df8ad9962021fc75c140b0ece4228807c908f282711860a2b2329c08ab37b";
+      sha256 = "015aed6194df026d32b7d0d509f609ba2bc93392ea9b178192bf949a94bc415f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tl/firefox-123.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "c3fea25ce49b162ea49a4af6c1039a106eb9342b5d6b7fd4278b836cd37e179e";
+      sha256 = "74795a9ead908aefe734c9ddc88fb3e22d111d023b3256636a219cfc7ab2a870";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/tr/firefox-123.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "1563cf5874154e2ef1e2d68e175fb2dc88621a2cad394a1e9461d783d8055e1c";
+      sha256 = "4d848cf8bb01b1c825204a553075e7db52f95b17f5455a25551d4031aefc37db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/trs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/trs/firefox-123.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "cb41d625ea87c8a32c10677c912acdf7ea124b68e8ed2f24ad0651be905f17dc";
+      sha256 = "bc2909535740f276b9883d96a1e16f23bdeb221ed3928763b0d8aa569a9701fa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/uk/firefox-123.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "3a35aaf5fd21a472d930670056df4723401242a62ad0281b09fb5b6ba4c57423";
+      sha256 = "36e510b06b065248e384ab523a9e5c0edb56073a0d88d2b15e2b1f5965fc9e6d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/ur/firefox-123.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "68b55314db43e666fdfe5c99b03f4a4952367f545dda03f6566e5d11c28a8014";
+      sha256 = "6496e7d8193b14c09976f8292fbe3f1c115b49edd07faa9e0aa9c115d37b174b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uz/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/uz/firefox-123.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "67d721242d4e3c0950786847d22b6caa91d4c91eddd865c1d3f4cce542efd282";
+      sha256 = "7940b11f10c2529c5fbe7974299e9d4fb7acb99302a27a041868b353e92928b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/vi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/vi/firefox-123.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "d7c5097c32527a55627639945c5565ba368d3d2e00ae2df0c9aa291987985861";
+      sha256 = "e2f6977cbbec6b3d690e050f7fbd2cf6ac0c8b36f781563236a104efeb0c1d1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/xh/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/xh/firefox-123.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "66059db2521b7a2a293d45db180bc165b38f35ebfc99be836f3cccf21991bfc9";
+      sha256 = "88b26c0c1ee1b204aea841fd0f28a91617e05759cbb17cb35a9c0a2411354102";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-CN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/zh-CN/firefox-123.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "c0f37c0a3c71be9124c98d423b24300f879c42840fcbd0869fc6ef2634ddd018";
+      sha256 = "048701d2130d653eb60d03f5abc4db6895292f3dd1e5202fbda697ed3ef6669a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-TW/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-x86_64/zh-TW/firefox-123.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "4c79f290b4f371e1b9fe0943d70af2dad0f0eea44c09ebe8233ceeec63cbd300";
+      sha256 = "8f77311a9f2d30acd1923a491fb249f0f2661c58e99d7a48218a6c21217f4815";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ach/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ach/firefox-123.0b9.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "fc312d3449ca702e20f8068b7c03aa4c99002937c7b9fddaa4ffae84a4f85f0e";
+      sha256 = "f203a6b86ed7e12b1c6f2dc1bfcb8003898b7f96dac7015e66b53d0e2d89e083";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/af/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/af/firefox-123.0b9.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "4709fd5b03033d9f446bcded2881480e3422457c2172177ed93d28d21dee371b";
+      sha256 = "60947c0215f4ab476485826d840dba757efdc44b75125e12c02be901596b9bf7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/an/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/an/firefox-123.0b9.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "ba53b4c50323205533cee64fef138588f95fcc11e109cd69468669ebbdff2c1f";
+      sha256 = "10ea9658d54cba186d983ff832b6886850ba73ec8635c7330d0bee9c927cc468";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ar/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ar/firefox-123.0b9.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8380c9717d94d46d174ebc4dbc0e2bf2e3f3aa87f5f6801fe8c6364fb526e1ae";
+      sha256 = "41113cb49f6e6f93bacf02e5a5765d9c5192d03c7b716fdbe3d4c5803d775271";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ast/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ast/firefox-123.0b9.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "1d7ad1f5b3f39324e7ff7d68bfccb45ae01659543c91ed8c4370ce08a68987e1";
+      sha256 = "038af12a3fda161841aa5f301588efb7222eb13f0e1ecbe240fca7d5f84bfdcb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/az/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/az/firefox-123.0b9.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "3654b54007b638232aeda8f82e308e83902c9bacb5c4400a252628369c914dbe";
+      sha256 = "4d3b20f4085e4b46884f3322c03b441d3bf05f0fac2b5ebd34fa5d22930ebaff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/be/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/be/firefox-123.0b9.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "6f35eecf5df49a9d9074b064a0ddcf58661671e539a4824facad7b53682e9f0d";
+      sha256 = "7374d53894aaf2aaeb5c60ee9cdbca73c352d95239602a9cc18119ccc883eaf9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bg/firefox-123.0b9.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a6ede53f86474c53ae3297b7e9b7ab7c962337b58af577b78fc2ea3bd4e5d3a0";
+      sha256 = "1bff17d9c4fa1b8e17e2ed22d0e1d8b8d1518ee5c02443f81648cc64409f9dc5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bn/firefox-123.0b9.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "9a3df0e4c2dbda0d50c1a8334158d477ff526cb3c144ecbe977434e238c6eab0";
+      sha256 = "5f2c0832c9f8eb05478a8f50392680c2104153bb8eb92df941430f04925f07eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/br/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/br/firefox-123.0b9.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "103e32e095b38604fd807cd2707ae99190d8a1249bb0cc4da9c15e9426626321";
+      sha256 = "627f43d651bf98e7ce563fc5bbbecc4e5c0dcbcdecdac3f6a05b648293f5ed1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/bs/firefox-123.0b9.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "e630bfbd71002f1fd1ebb8f7565c0ba0dc766b0833fe2bec37e7c30cf75be9a1";
+      sha256 = "2164b2d674c8fce7612fd142e9a4e17c9fc156c3bb79ef5982cc7ca2441b18af";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca-valencia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ca-valencia/firefox-123.0b9.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "f9ff06feb765a9c2d61618e26fc3e8f390db5af179505ccbe09f521152e782a7";
+      sha256 = "f058d831cb9cd00403794493d21f210db70a072d59dbdfca1c5e1c4d91e3b213";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ca/firefox-123.0b9.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "c8dc0cc2dcfd7e8756d3815f293edb7da61f899197ce13d29f0891f96df68e02";
+      sha256 = "a539cef7c869ee7710382d75644182eecf179c859dea6bb339de1415b8fd33ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cak/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cak/firefox-123.0b9.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "d35ed2653628c7ae54a04f2bc441bb5ebac4710efc05d64f3781922b6446a60a";
+      sha256 = "7ab1aba2de4a58736375efbb443994062b77e1ea0321038b51d9eb3bd01ddc7b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cs/firefox-123.0b9.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b8d33dfc6b96297ddd846ff99bd30efee0fa781e3d4e8a0487057a6a3790c3d0";
+      sha256 = "83744e610558c2511e436e5cc3646bf848368bb7dff7e271c1a9f078b7ec1435";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cy/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/cy/firefox-123.0b9.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "8fdde9c4a36b23354e5f3393f70d10f2b921b363ca499da454d52999d4b410a0";
+      sha256 = "ebe6e6a8cc759b94c1cbd986574454d940f5a388184136e3e8e7d845677d02f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/da/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/da/firefox-123.0b9.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "c5762e737ad82839721870b46e7626c15f9f99c1bb8f3c7a4766a508a097265f";
+      sha256 = "bf350ad35e3431bfd94bd13066c06e2beefd09dfef12fba11d34c4435fc10f44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/de/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/de/firefox-123.0b9.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "cd3d776b5c44d0873f4b8c90bf62c74a9273cf5b03d5ded36547f1d2077b3c3c";
+      sha256 = "334b943e94c0f1d44c96fdd63f788c4cfe732bef367f7db2dc794757015baf5d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/dsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/dsb/firefox-123.0b9.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e3e8f5083b0c83d9365605a36d17f10886c64c0f21c19576a3d24a62d2a05c13";
+      sha256 = "8f7a1df51a358054b30cdd03e9480ea26eb2d53551d6789a0ae8efa4f1ab3737";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/el/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/el/firefox-123.0b9.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "08807f2915375b628775a4c0987ac934c00d26b1105a8caf3a52ebc026c42a90";
+      sha256 = "f6d311361f7dcd6fccb77104607bd49ae5b6579610d7ee8166885cbc0e072216";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-CA/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-CA/firefox-123.0b9.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "68797c810dd86008a1e8aec39445264cd69e852bc28c758d94654a276976f2c2";
+      sha256 = "99b197bf3855936bd31a9909bdaffcee9f3c517b0606669c23093bdeb1ab53c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-GB/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-GB/firefox-123.0b9.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "a1e6c1344bd9bef9a393a023cbb0d6f56283e483203ea03692ea71a9e043caf5";
+      sha256 = "cda8e41941936bf093c23f3ba0ede6fd79e46e7544a696c969f5a71c500281f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-US/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/en-US/firefox-123.0b9.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "5eaeace6e8d741b8cdae8c8a98f118caa98f957bafe8d54d536d98cb260fae92";
+      sha256 = "93223e05b64fd180a3833a1626e8dca5ebde4edcaafbb4297571571e9b4f325f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eo/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/eo/firefox-123.0b9.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "21cca62f1324c5c6fb8b03bc670a86ea6f86cd6e91c11c81eb202571d2fcd687";
+      sha256 = "9d6a0fec68087e1814b94fd62679953c20563375448a6e327e3dc6cea27de083";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-AR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-AR/firefox-123.0b9.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "955493247481e364722e3bd57333ac8f6754c8bc135b9e0caff78d554a91e441";
+      sha256 = "2857c68529a153a3408dc83e54c6fe80cf8c45b0aeedbf1d69876780f67ce8d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-CL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-CL/firefox-123.0b9.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "16d05701b991a91bde3d7542737d64b63a1d184046090158adc5ca683cd34739";
+      sha256 = "3422a929a8ab1ea0521ada88f421bb509e66c1a71fc60febbda780c32dffaf93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-ES/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-ES/firefox-123.0b9.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "b300130904d449c31adde941dbf514fde7f579cfe571744ea3a929915277aaad";
+      sha256 = "0954acc476f295c9f69ce38eee56bb9caf5dbda8b2ad5b57b5bd590435c2e987";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-MX/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/es-MX/firefox-123.0b9.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "44bc3c0cbee194c8235308b5836104a2c5016ac6537bc9dfb741ccb2aef2d854";
+      sha256 = "a67f82e5957c19c51c41da8942d484d5ea175bba79909d77665b9c8c89eb16a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/et/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/et/firefox-123.0b9.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "536c1c8f97ae1f4f50584e5b7123d04e682196c71ebd4d873e19ab90bc5c8442";
+      sha256 = "212077bfcfb50c63f4f7c2a70459a0f56331566cad923e76aa46b9f8e6f04e5e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/eu/firefox-123.0b9.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "d25fb29a7e62691fa070084b93d294587c0cd0a006aeb13d90de29dc7960264f";
+      sha256 = "32ea1dbd8eb60d1091d4bcc4af45d0caf39f3841996c3ec40eef43e80127dfe6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fa/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fa/firefox-123.0b9.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "8bb9b11ede4518f35df9820040607942581e3793dbccabea0962a1455ed879ce";
+      sha256 = "fc6aaa632b2c3afe898e10cb37cdaf68775b1e1121551e430bb64a90136af664";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ff/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ff/firefox-123.0b9.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "e4e840fa0c9fb6e09b9d450c9daa03f988529bf833b11ae95af63ae863e2939e";
+      sha256 = "44066456ac20d690b65963910a30f1d54a695d90fdb2c3476b0e41e4fd69b9a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fi/firefox-123.0b9.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "70169b2198ee988736aab5c179fa45e8f517840db179af532810f2bfe20eb162";
+      sha256 = "8846d1475d100e9279854036931eac068fe9f21e3155b1e7b5c77631214899de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fr/firefox-123.0b9.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "201a04c38bad6855ec1e9dca17e7def948d577d48b00f4aa4fa53d97dd5535a9";
+      sha256 = "03c293eeb132575683120b1372e4096ed45b7d3c73a4c16cacf5985083e50b8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fur/firefox-123.0b9.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "b88b280d2e5247668920a20f0801c24b469e8dad40c911ee6a579b15c0a3c887";
+      sha256 = "db7423bc064b9841517b007c6fac674eac7cb025ac254e756cdc94b42d0f1862";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fy-NL/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/fy-NL/firefox-123.0b9.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "270fa1ffaefb27f6ccf18205bf4854d8e71c6987edc435275096d4cd63474d84";
+      sha256 = "7baae86393f06ce2f89826195dd14ec3b0674e865a5ae6de7ba15102f7bc874e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ga-IE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ga-IE/firefox-123.0b9.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e691dc694afe2bd2330b54e61ec78d4d9231e42eabfc276019d6bd622b5ad4b7";
+      sha256 = "73ede7ea6009403ab3651d9a4975e55291e7f8d4185683918d8a73706223e3b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gd/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gd/firefox-123.0b9.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "922ebba58136ad845f17e347c9fa7dcca6860f721a513502aceed6d33c5c6457";
+      sha256 = "b529eefdf02d0bb2447d345b3038f7bca62a58232ed9edd475d47d3467b3e076";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gl/firefox-123.0b9.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "166f955a682ca4e0b6b6e438c23e4f9cd7b02053811c16d0d98668b35690bfec";
+      sha256 = "81fa9600bfd2e89356c97a7fd7f4eeaf07661c152e0cee8e3dea391656c9d287";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gn/firefox-123.0b9.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "909af1ace3ba8275a9d2cbe9e5097595b3809361a50f2c3e2e4040dc2fff71ac";
+      sha256 = "3d7e50a6004b5dc4c88ab971c0c72b9840c60f5a29fff32fe0c8319b135e9f6e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gu-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/gu-IN/firefox-123.0b9.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "12680aed2230f9225b15d78859649d9eaf1b671e5e3fa8ed8f88e7273776bb22";
+      sha256 = "fa3f15bfda88ba6f274efe858c1654a05db7bde5e5514f3aad6f3d03203fb322";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/he/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/he/firefox-123.0b9.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "57048b16d6f5db639d23b2937de0c891b06581ef90413c71bc09eadf9ac323b6";
+      sha256 = "f9c9219eeac9c4ea9683f5f2f639cb508cf352804bf9114388e7ae8892bbf6ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hi-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hi-IN/firefox-123.0b9.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "29b9e04a34acf231de4068c24537e23923a38656d1527c3819a90acbca63a3aa";
+      sha256 = "9eb337e4712a18b427a98a90d6daf8c652b88d1d5d695edb91515b945db7cb80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hr/firefox-123.0b9.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "71a1b2425ce2a41bf1d3a64e8bc977509a5c12b0890556604cc3b59dae890099";
+      sha256 = "7062419a5ba83f1b9a985b046a4c40ae4d967bbd0eed742ab156ead981904f1c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hsb/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hsb/firefox-123.0b9.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "84a5038ea816f176541caf286a6d3f4d8ceccad6eca2d6efa332ad53748fc6ee";
+      sha256 = "b53c939e6e6343638f07b58cfc876707ad4d5e61061dc149866bd9dce8073e11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hu/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hu/firefox-123.0b9.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "ab3897471971047d71dfc973b38e082a7d436862a1fb7ce9ca309c8778a6ff43";
+      sha256 = "667ddf22ef8fe3328a97acc6513251592663ca0f4e80faeeff87ca9c73030059";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hy-AM/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/hy-AM/firefox-123.0b9.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "1cddc519b812a7c969b655d28283fad466397406f2bb2b474bc7215d4e3d9f10";
+      sha256 = "a97f1036e5c809772947857414605ce9f63cb917aba32c650c191ac92cca2c24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ia/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ia/firefox-123.0b9.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "1903a412d67ca3d9e67e6f00e560eba5e9d7e0a823360b2ce7488e17e2a874ac";
+      sha256 = "9dff5c86871877ee2a37628f361dcbfda57d2e5aeede3dbc94ee019c56bcbb17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/id/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/id/firefox-123.0b9.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "245549351a02c7a7de3ac777bc4d1bfacf3d2a49a6b9f7a731b91c57a23df5ff";
+      sha256 = "edaff1bc86561829e00c2d0bf8286f2d6ba758e426d243b19cfdb1df6f749bcb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/is/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/is/firefox-123.0b9.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "23127f8ebafeef2997f53a7d000754a355b7b425cc45c84903c5d041ad6d59ad";
+      sha256 = "f3688cb4bf7ef9dfcc4937716eaac161f1472fc0280f4351c2eaeaa49a58d12c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/it/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/it/firefox-123.0b9.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "197ac9ea0daf18f2b3370c400e89dac8e38a3cbe65c53a1052ded7e4299ca618";
+      sha256 = "c5b056340ac002993119c43bfdcb8cb8c3afa2ac5d7938c42141f45c255bbffd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ja/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ja/firefox-123.0b9.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "e1ec0637713fd35e2240f76b5d07731d24e2e4dba7c6aadb356ba0e0abcde05d";
+      sha256 = "c34da21de2fa5c06bd0aaaf60184d25366b15e15580c7704144ef59318fe6b12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ka/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ka/firefox-123.0b9.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "2a32fccbcee9100aee27a1fdba8a841ac089664c7b9b3f079c0fa03ae6209328";
+      sha256 = "ebca75d4e7644faf4a78d71538cd86da14903e35554dfc8495fd26e43ce723bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kab/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kab/firefox-123.0b9.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1f3ea0a86f57ce915c54f161cbc38f58d703a7883c6a12d121a37e3ac19f6d5f";
+      sha256 = "53e0034381182486fd61609c7f11abffeeb360104c707da328bc17aa76317c8e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kk/firefox-123.0b9.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "53a9b09dee48b819d7f215fdb0c589f99b3681a0f50d6a1cac75a5c1b6c54d57";
+      sha256 = "ad21972851b3a909541f588f1cb1f4676d7b85a9023bbb09a4884ac8f7294d6c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/km/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/km/firefox-123.0b9.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "2d2dac4518d81308a9876f2687feb700a301f3caaefa39faefc930a104af7742";
+      sha256 = "5a750fb8b4a758671c51ac6ecf861577c727343a1696c04e35fc9dbb92ed7fe8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kn/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/kn/firefox-123.0b9.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "3b846d085583226674f92ebf10431959d1b0cc26a1f625a7735619ba2082c763";
+      sha256 = "871ab12151b678f9eeb3ffe537b91ac45b1b32153a4f320b94776611906f8f17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ko/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ko/firefox-123.0b9.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "62f1a527a86a4d43bccfa5fe683d66d9317369bea2ce6942cad83ebe4c8c878a";
+      sha256 = "054714bd9cd9ec39d83c391adbfe853f289b614a6224b2bd0170ac19a44f22b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lij/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lij/firefox-123.0b9.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "3cdea51693644417f6d22e887daf21e3bcea623c8a18efac0a38123a43f5b8fb";
+      sha256 = "6d49eb8f56ff156ec1d9782ba5f219e5097ab8c0ec145eafe851bf3984d98c0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lt/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lt/firefox-123.0b9.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "0c03f35039bc822cd8a6c756a31628dfe08b8a713c4ddb322d51146c8fc44d2b";
+      sha256 = "c0e6a7bd4930ee62e92a78dc57254a767e354c7f5ab92cd1028fcc39ed84e420";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lv/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/lv/firefox-123.0b9.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "aba840eaaa35a712313204274e34d6e8cf7b7d643649b2a0e2dac81fb78de2c6";
+      sha256 = "b29ec74e526a3f05396648fd985c5852004c20d79a0b985ebeb7c12796e6315d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/mk/firefox-123.0b9.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "a386ce049ba686c54b4df38debe5c344d114f3c2aa36d8e9220cc77d38b5cbf2";
+      sha256 = "64690fd17ac72cd229be161646dcf7dec2b5108e325c5a9c0b56722981abf1e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/mr/firefox-123.0b9.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "6439998155e506bcbb80258273e3597480ccb1fa1e520704834d41199d4514d1";
+      sha256 = "45595dd34de1657725f70512a894c02481ff6a94a1905530f3567bf06148f510";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ms/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ms/firefox-123.0b9.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "7aba8da30c9f57fb7e8ba0ced67ebf60ef1109edc38677c04a20ead32476f0e4";
+      sha256 = "eff9ca7094e539bf8ad86a1d50ec2b7c6e5b45c3988d1c6266fece27c8dc2fc1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/my/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/my/firefox-123.0b9.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "eea6b322199d5f976037c8e60b2184a3569b64280460394115766c4378f53adc";
+      sha256 = "06bdc5189a772655c75fb3b16a34d92a136ebf71dccd47d26af05ea3ebca0c00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nb-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nb-NO/firefox-123.0b9.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "837b7330e1b697d71a8714e2da77e8b4e2ea9338abb4c5ed1147f080ef332410";
+      sha256 = "5fcdb1f44ce82c5ba2ead2721500745ded7956d27155f28e82f856edd9206a94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ne-NP/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ne-NP/firefox-123.0b9.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "4b940aaf89f45ccfedb3a5bbd78001dc5d96a4a1991b1da76d88b8fabe2209c2";
+      sha256 = "10549b89d685d458f3563ba44659e5b75560068dfd8c9a2b522d6e1b58bb21e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nl/firefox-123.0b9.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "d962d996c3ad87ec4eafee5f17a80b3fea2f131bf3d5e0d3b5362b0520f4f04b";
+      sha256 = "ecb9c7c8e7c5c03b1ecbd9bc8da6389ac6085901a0b569caf708e22f0efa51b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nn-NO/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/nn-NO/firefox-123.0b9.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "d08c8b71451bd46ea6ea49379a746f25bcf1fc2e293e3219f9587d8b7f1f76fc";
+      sha256 = "c3a8f1dce3495c37b5f019696f05ce15cd847abe21b2191a54dec6c4da382795";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/oc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/oc/firefox-123.0b9.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "d8feaa3cd6a9afacf360df9a93d9e118dc72231b661d5fe0b909d8013b68a946";
+      sha256 = "e318bb6798cb4baae97c57e2c449257bbdae8a1a72f5f3d1b2c05e7cf69538b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pa-IN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pa-IN/firefox-123.0b9.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "fa4d570b5869afbb4e6201c03828efe19f12e6ca53a95fd120decc8c927eb5bb";
+      sha256 = "b82ee03d6a7f439e5f107b948cbe4235e828cfa9343889136e6bb4f8cef98a82";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pl/firefox-123.0b9.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "0537012fcdae800a394f1797325b7e5429d1fc69d9bf79d50f0e42b381f8180b";
+      sha256 = "bf45398d30f5cefd721770bbc43129f08a3498c98e5682df7fca7393552d3291";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-BR/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pt-BR/firefox-123.0b9.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "dc2e7e220e18dce1b818e29f7cca953331bbfabf6dd6a7e97ceba142eb305c66";
+      sha256 = "c8970f18b247a3bd3d5db8450d771e83a10f114dae967360d2d846e6edc25b80";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-PT/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/pt-PT/firefox-123.0b9.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "20096e9c5a2077dbbc5b052674d66ff939e93d8199021e96c938b3f73801472e";
+      sha256 = "77e5fa66e9bf6f2bfc1d7f3b3329a8b9d4b495e4b877a6c31ae3ea6914be853d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/rm/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/rm/firefox-123.0b9.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "48b6d128c360f00a3d154787f627e9c4a96266d6d08c0124ddbd151eecdd2912";
+      sha256 = "08c65fcf8a2ff22387169781c9055a92a561e4c0e88adc26b518969c2e4ed896";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ro/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ro/firefox-123.0b9.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "afd4032aae64239ff0193db56ed29f2aa3c380f6bd1c685d844cf87f8ac5316c";
+      sha256 = "ef832bda479bac68af9ad3671d1f8a5713216f1f4532ba4c913a4fcbde93943e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ru/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ru/firefox-123.0b9.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "a6d9849dbe33cf1844243be4008d7db49fd238e4b8e1355eaf212ba5d0c210ae";
+      sha256 = "9aa924c13708f57d4c66e1f749cb9924c6c927d269a7554dc01126a93bf8ae81";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sat/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sat/firefox-123.0b9.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "78e73098d936fa2cd0d0239b31c12666a0a00bbb484561807c4f7533a3d37f3c";
+      sha256 = "0d0abd10e0f9aefacabe1f8178c241504aed499657459768bac5ff933db1b8da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sc/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sc/firefox-123.0b9.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "6133c94129820c7a7753de9565ea7855efac8702a1638173364d27ea655c162b";
+      sha256 = "d7c59ee4a248e7d358c97743fce54df055528279f7857ba379123915235ab74e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sco/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sco/firefox-123.0b9.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "509d0894a6629ea6aeb2af56f96b5dd0a4fef5457dfbed1301580cb0c7dc2dfc";
+      sha256 = "a19110c0b3e188138773c5c66cab6e0b25f811ad203c1ea7fe5008f24b44797b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/si/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/si/firefox-123.0b9.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "6d0b0a6df565b0170b6356307b9300c71aa298e34b3057bd4ebdb2a49f9e716f";
+      sha256 = "eb5fdb7fe063e8dcc716add55c2a8c430dc365af0ef536c0595d4e9dde736e9c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sk/firefox-123.0b9.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "368d7425c03cea42cb630e4dd3e08e57dda51c6d09a14d02fa7a51817282fe5c";
+      sha256 = "16a4b513f29af594326818a1c70667d931b0b8d9303580ccfb30cee093c4b06f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sl/firefox-123.0b9.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "4d663f89fde091267522c37ccc3e69e0246367c865a756e9078fae01a52c0f4a";
+      sha256 = "63ecdcd8c67f96386ef0bc1d1e577920af5cd18d09d8eea12bccfcec4ed5af50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/son/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/son/firefox-123.0b9.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "578a4c59edbfb30f0f070026d76bd741ef1af60e4ba09d799a604a8bb770554d";
+      sha256 = "455da4d68b395a488f6e6f557ec7d57e0bb9083c77fe09423b82bc4b09ee0307";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sq/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sq/firefox-123.0b9.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "6640bc3563f04badbaf6102fa34b6f92caf8a82c3a6a0261e8dcc10212dd6198";
+      sha256 = "4a2831cc20415901d09a09a6e8fae54adaf45e162757356fb30a4306f0f430ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sr/firefox-123.0b9.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9aa22e50e4c7f49512572271252b4a9fb0631c0dcf4ebd86eeadd1c3c768e0b7";
+      sha256 = "ee41bbdac9fe2ca1b23a866d0f1b62febdad0b86d378812908aed27201320ea7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sv-SE/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/sv-SE/firefox-123.0b9.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "9aafb4a1665481eb4da39857b002e92d98501e0020c592d0870ea6d2b913832f";
+      sha256 = "65ad886340f662d291db80a147b3dd033f491200f94160e5fbd0380a2962a796";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/szl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/szl/firefox-123.0b9.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "c4667804c8e5f3f803f1c06618aa25e1cb0ffacb0662eba71f163505aa5d921e";
+      sha256 = "6d5cf0b06ffede92fa9d4c517e27e64002536bbdca4579441b0457cd9d3ea395";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ta/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ta/firefox-123.0b9.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "ed4744875be84e379a3300789ee1b3f3e0cbfc0dfc4149e0b122a0c96e932e17";
+      sha256 = "cbcff976411df6fb2852a70c9095e364a480788e029adb32ce279c4b62c141b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/te/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/te/firefox-123.0b9.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "3eb90abe5fc026f43a2d262c2396d11c40d64cb2688c8ad311c7e2c8a576254d";
+      sha256 = "6e4f8f9eacb42ae256ac5c20b3d730cd35868a0d2944db6e6175d1d5b9e51ee2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tg/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tg/firefox-123.0b9.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "07b616e1debafbe9962dd54442da33ee5ec95739568db7dc529fd5ec7aa94c78";
+      sha256 = "1c83fe29d9b96ab31af1f204c430b3e68a79cf3cfcaf999bbf4913558180607f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/th/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/th/firefox-123.0b9.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "1fc3d9d2eadf9613c275dec758f601df716fe84faad79b7d1a3217c4fabce1d4";
+      sha256 = "a084911c21136e589638d0fb343dedc16ea51ed7a58e5f6ba77ba13c96f6a3e9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tl/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tl/firefox-123.0b9.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "357092ab4ce7d275d158fdbc9fb5695b1570cccd5f6a8d39e6cf188fe30fb645";
+      sha256 = "b24df7b6a7e3afec0aac45d987798cb68fa1c8e4643f6093a7946d80371d56cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tr/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/tr/firefox-123.0b9.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "10e6f7a5543dce902b570a6fe5b9411d8e1755aed3990dc8dee382348532422b";
+      sha256 = "219b31638fc161e814aeacbec96574d108aaa801c24f7f4f392487aa3afe0746";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/trs/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/trs/firefox-123.0b9.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "fca774899d7abbd453ab32193626ae6f4143c26bf031e506b9a90413ede1f062";
+      sha256 = "59bcc6301f8c721027a1678f65892cdfd3aedcb28887414cb0a42ce271a0fe19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uk/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/uk/firefox-123.0b9.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "c5144d3a09aa4e281ac0a0ef1ba4e35375e48aa77a6aa8db3fe25b6fbefb7cf5";
+      sha256 = "9305beb80df018e9a7cd53697d7c0e347f32d805a83c52f3d48683afb81c14c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ur/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/ur/firefox-123.0b9.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "687b8cb4ed66699a590be38ceaeb8a2c5b802cfad8430ae3db98ab0ddbdb7957";
+      sha256 = "bc195e330f8afccab583ed01237e214092193cf4d8524461e6ffd71a1aa1325e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uz/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/uz/firefox-123.0b9.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "563674323dfd4b333ba695def45413a1d322fe6c3425029e73999380ef8987ae";
+      sha256 = "c83c652e8690014661ec6a2286f132b402c7acf471792e22f79353b0035e1814";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/vi/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/vi/firefox-123.0b9.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "4c76121ee4245094f417a70d09add493bfbc8a3020401f26d69638627868d473";
+      sha256 = "3b9bdf340582f4fa655808fcd78db1ffe72816decfdfab852b9aaa59f3303a26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/xh/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/xh/firefox-123.0b9.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "8f7ea99e9587dd8801abf22892fdfd38f4446a8339460b8bb4103d2854c8b00d";
+      sha256 = "af796b19987bcb6c543dfdc96ee6bc5ff6a6151a3287200fc1e1881c832c2031";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-CN/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/zh-CN/firefox-123.0b9.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "03bef56655f52b9c40d3ed29052dca62ae83f2668ef860aa745abe3f7d1a4c7c";
+      sha256 = "c52d53bd9e42e7383dd7a5e98298d1576f592b08e0fee2d45da0a43d15008469";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-TW/firefox-119.0b6.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0b9/linux-i686/zh-TW/firefox-123.0b9.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "456d5311fe2a21bbac3bd20f3105635bf468aea86c014bf4fc33508b9faa8298";
+      sha256 = "5df1783bee8c5fa3a8707aa9a01d6711d95eecd2d85ad30d34e6ac79b95eb27d";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56d21187ebb2..44b63cab7dbb 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -108,7 +108,7 @@ stdenv.mkDerivation {
     updateScript = import ./update.nix {
       inherit pname channel lib writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell;
       baseUrl =
-        if channel == "devedition"
+        if channel == "developer-edition"
           then "https://archive.mozilla.org/pub/devedition/releases/"
           else "https://archive.mozilla.org/pub/firefox/releases/";
     };
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
deleted file mode 100644
index bc59c44618ac..000000000000
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ /dev/null
@@ -1,1015 +0,0 @@
-{
-  version = "118.0b9";
-  sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ach/firefox-118.0b9.tar.bz2";
-      locale = "ach";
-      arch = "linux-x86_64";
-      sha256 = "5acd7d6ddf79c3d6399c9e59a9dbe47e9aa23d6071528ea2ca9bfa3b836518a0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/af/firefox-118.0b9.tar.bz2";
-      locale = "af";
-      arch = "linux-x86_64";
-      sha256 = "dfb8567a0b2376d25c84f640fe2d54afccb35c681f4b03b9b2c265a1b3726247";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/an/firefox-118.0b9.tar.bz2";
-      locale = "an";
-      arch = "linux-x86_64";
-      sha256 = "ca3a0f0ef0920f911d71a8c91897b59d6056ad3979d1674e01f8d7efe078a54d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ar/firefox-118.0b9.tar.bz2";
-      locale = "ar";
-      arch = "linux-x86_64";
-      sha256 = "d42b9d642e9f62fac2c5c608851ee012260770d3a120b73501c76f5a8ae8e879";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ast/firefox-118.0b9.tar.bz2";
-      locale = "ast";
-      arch = "linux-x86_64";
-      sha256 = "cbde843e9fa68df97d67d8f2fa30a32b1acfd1cf2d721ef9279a094aa4d67fb2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/az/firefox-118.0b9.tar.bz2";
-      locale = "az";
-      arch = "linux-x86_64";
-      sha256 = "0f4a8343202eaf372d053453654afd399b85fe670935bc700fa344ccfebeaee4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/be/firefox-118.0b9.tar.bz2";
-      locale = "be";
-      arch = "linux-x86_64";
-      sha256 = "ae6a0e66076aebdfddcfc3d2c4defcc2d681fbd69b54c024d5677ecf5e24b6a0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bg/firefox-118.0b9.tar.bz2";
-      locale = "bg";
-      arch = "linux-x86_64";
-      sha256 = "10fad3cb1a614deaf6169d6ea1574010172e73037c36e5caa19ccad41d347164";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bn/firefox-118.0b9.tar.bz2";
-      locale = "bn";
-      arch = "linux-x86_64";
-      sha256 = "313ca09b833065db9bcfa270fae044af1961fb8c777d54a0f6fc0d5908c4703a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/br/firefox-118.0b9.tar.bz2";
-      locale = "br";
-      arch = "linux-x86_64";
-      sha256 = "98be142d1b61a37cfc6d2d47fc8ecadb128b7b464c3c62a4a76b372260c7aec6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/bs/firefox-118.0b9.tar.bz2";
-      locale = "bs";
-      arch = "linux-x86_64";
-      sha256 = "622ed1af0985ef2ebc4c9cf897a0157b9c933e55f46313b44ca976b156479a6f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ca-valencia/firefox-118.0b9.tar.bz2";
-      locale = "ca-valencia";
-      arch = "linux-x86_64";
-      sha256 = "f07b40f3ed624eecdeb45b79e9a52dc4204d5fec713001a4b33259ba77b61908";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ca/firefox-118.0b9.tar.bz2";
-      locale = "ca";
-      arch = "linux-x86_64";
-      sha256 = "90d11280471491175188b4244634d3a604057c6bddbf047917b3a374c97c4053";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cak/firefox-118.0b9.tar.bz2";
-      locale = "cak";
-      arch = "linux-x86_64";
-      sha256 = "94e9141892331ac3f9fcec1264be65661ceae6234635aa9bb44b4b97be8efb3e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cs/firefox-118.0b9.tar.bz2";
-      locale = "cs";
-      arch = "linux-x86_64";
-      sha256 = "b1a976da8655601bc98f1bf33fb8731cf7ae1db6ab068beadaa741e896b3e0b3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/cy/firefox-118.0b9.tar.bz2";
-      locale = "cy";
-      arch = "linux-x86_64";
-      sha256 = "3dec7296441f4154db622bf3cf3c3af45b6cef1aa4db454c18b76474d4c46475";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/da/firefox-118.0b9.tar.bz2";
-      locale = "da";
-      arch = "linux-x86_64";
-      sha256 = "1b9d4d7f38e7edbbbf165d5f07c826793834c57b098980bae018614503a4d10f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/de/firefox-118.0b9.tar.bz2";
-      locale = "de";
-      arch = "linux-x86_64";
-      sha256 = "23790fde6591ed8da815d343cdaa2d220d7b764d53de29cf64ca379d3569668a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/dsb/firefox-118.0b9.tar.bz2";
-      locale = "dsb";
-      arch = "linux-x86_64";
-      sha256 = "7d2b8f361397d64d6daf41e8e62d9527fa8fcfe089a3d67d0c2cb8f20aab2d0b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/el/firefox-118.0b9.tar.bz2";
-      locale = "el";
-      arch = "linux-x86_64";
-      sha256 = "7abb4568eb97c2a18e1dbee9854494bf77d2ca8c3d657803304a36da50b1b533";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-CA/firefox-118.0b9.tar.bz2";
-      locale = "en-CA";
-      arch = "linux-x86_64";
-      sha256 = "3fdee20918067d944825c465744fdf2138770a2fb8943c13c3ced16b1f682adc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-GB/firefox-118.0b9.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-x86_64";
-      sha256 = "12001f0d7bb53972b731bf1915bb5c0adcfd173fdddfb3d1a95024bc083f8f25";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/en-US/firefox-118.0b9.tar.bz2";
-      locale = "en-US";
-      arch = "linux-x86_64";
-      sha256 = "efab41ad6173533258aebc346f8c08e380603c2e9be139ccf3ac0c9e36c64f18";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/eo/firefox-118.0b9.tar.bz2";
-      locale = "eo";
-      arch = "linux-x86_64";
-      sha256 = "9440354ab7ff9c8f6d597667f9826a6ebf14e2ee05fc442844692727e343d6c3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-AR/firefox-118.0b9.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-x86_64";
-      sha256 = "2e879fe58cf49cb2705f7fe422fb1d220afd485dd2a71a4ea5a142f0190abeec";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-CL/firefox-118.0b9.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-x86_64";
-      sha256 = "6b6d5f82c141828eddf1cef087efd08945adbcf43be9ce5bfff6fc9c309b4b7f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-ES/firefox-118.0b9.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-x86_64";
-      sha256 = "a7105ef1a00786ba489707481c59dea1e7f6f4b9692de03e9d04298e5d189a0e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/es-MX/firefox-118.0b9.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-x86_64";
-      sha256 = "d5087e0339ef052e81b13835c4fd2a151f9ff45ba917083f137b5ca62c356a3c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/et/firefox-118.0b9.tar.bz2";
-      locale = "et";
-      arch = "linux-x86_64";
-      sha256 = "3b364c886030729b2c52befc0377abcdd0069825d3c26a73d16ac0672ca5e0cf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/eu/firefox-118.0b9.tar.bz2";
-      locale = "eu";
-      arch = "linux-x86_64";
-      sha256 = "28a7c3f7211c260c76e8b4c473c9a9eaafa2beaa480d26cb1e31e6a888a3d092";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fa/firefox-118.0b9.tar.bz2";
-      locale = "fa";
-      arch = "linux-x86_64";
-      sha256 = "0b2fdea90167e8a44659a6f9a69ab467e4256c203b2ddb7fc736c3d62ccb544a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ff/firefox-118.0b9.tar.bz2";
-      locale = "ff";
-      arch = "linux-x86_64";
-      sha256 = "0e9b071e8d0ba7a741f9d7b2b3e1bb9c805f305eb29524a67f840c12835baacb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fi/firefox-118.0b9.tar.bz2";
-      locale = "fi";
-      arch = "linux-x86_64";
-      sha256 = "e5fe1ef5c106d12624b2998c64144449cd49cd81c32b6a63d8941723f9245f97";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fr/firefox-118.0b9.tar.bz2";
-      locale = "fr";
-      arch = "linux-x86_64";
-      sha256 = "ea89e51f4fe8feb7cc8a3ad64a8690af93621798463c4c019c689daf45d36789";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fur/firefox-118.0b9.tar.bz2";
-      locale = "fur";
-      arch = "linux-x86_64";
-      sha256 = "e5f3f105bafd410c2d2153012c593f6150518927e960e680b6991af92bfb548c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/fy-NL/firefox-118.0b9.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-x86_64";
-      sha256 = "38e335c7fdfa89768ba321edda2bd154811f292e8e95d9138618de6f166e751a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ga-IE/firefox-118.0b9.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-x86_64";
-      sha256 = "0d3c32a94982bdb7989005a3245ca7afa7a5f96336474b5dd4af707ca11382f9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gd/firefox-118.0b9.tar.bz2";
-      locale = "gd";
-      arch = "linux-x86_64";
-      sha256 = "1e702f7f0feb04443ed2ee5b4b17c406546e1592ba51fa632a2ddc7171cb8306";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gl/firefox-118.0b9.tar.bz2";
-      locale = "gl";
-      arch = "linux-x86_64";
-      sha256 = "2b37d2e8106072c709030c12652a0293dc26d058e4c761644dceeab9100ab37a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gn/firefox-118.0b9.tar.bz2";
-      locale = "gn";
-      arch = "linux-x86_64";
-      sha256 = "e8d83f36e7a5ad7aa452078bb8b289ece91057567ed90ae70de27f0cd8bebc68";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/gu-IN/firefox-118.0b9.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-x86_64";
-      sha256 = "c515ab07a28ea34ba177b2c71f1890db8116c6ffbda2a08a9ddcd7b3c6a93871";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/he/firefox-118.0b9.tar.bz2";
-      locale = "he";
-      arch = "linux-x86_64";
-      sha256 = "ed38173b1d7493de3810972349f1e576f80495d91a552d94febe6febdbb6945c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hi-IN/firefox-118.0b9.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-x86_64";
-      sha256 = "f7f3c1fc855276817673771c30df8f1f175be7f18c1de0c51158b87dd9620734";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hr/firefox-118.0b9.tar.bz2";
-      locale = "hr";
-      arch = "linux-x86_64";
-      sha256 = "3aeb4da195c933afd2f0ea0f60050d8f4f84f4f50261ac894e4e8eb7eaae93d8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hsb/firefox-118.0b9.tar.bz2";
-      locale = "hsb";
-      arch = "linux-x86_64";
-      sha256 = "ae0be38cf74813b6d1d5339712e05582441956934fafcca452a0016920f43a38";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hu/firefox-118.0b9.tar.bz2";
-      locale = "hu";
-      arch = "linux-x86_64";
-      sha256 = "5b9223dbc3490ac458898d3305a0064ff5aa9015c7fa828596a4a81b7ca67fe3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/hy-AM/firefox-118.0b9.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-x86_64";
-      sha256 = "a20abd777fee3aa4b5866d9246dea27015dca40f56e7722c833275eab61971d1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ia/firefox-118.0b9.tar.bz2";
-      locale = "ia";
-      arch = "linux-x86_64";
-      sha256 = "8f001a2f83b93850af4f05ce5b5aef4561ab0e9c64a2e1b4f767a898ad514279";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/id/firefox-118.0b9.tar.bz2";
-      locale = "id";
-      arch = "linux-x86_64";
-      sha256 = "5373f02b1bdb82d2adb70bf8ae83dbd847446b381d79f2398d4997b2871cf2bf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/is/firefox-118.0b9.tar.bz2";
-      locale = "is";
-      arch = "linux-x86_64";
-      sha256 = "abf81429df6142b154d43ec5738cce2e37e6d2d7c5400abd608035ca79730220";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/it/firefox-118.0b9.tar.bz2";
-      locale = "it";
-      arch = "linux-x86_64";
-      sha256 = "15073bf85562036f526ad6c1aa63ce113b9f2de27745020f255fb825706aeb0b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ja/firefox-118.0b9.tar.bz2";
-      locale = "ja";
-      arch = "linux-x86_64";
-      sha256 = "7a556d1d55c06a91fdaeee5af51e8907edf891020c66c5d31484a8e450cbed5c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ka/firefox-118.0b9.tar.bz2";
-      locale = "ka";
-      arch = "linux-x86_64";
-      sha256 = "0f5528182492b1f256a39bb2aea38502e37c61c25719534499d8b81143287356";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kab/firefox-118.0b9.tar.bz2";
-      locale = "kab";
-      arch = "linux-x86_64";
-      sha256 = "6b51e8cf3a5781802bac7c66d9091b84c538de040e5a658ffe0f2b8bb1e9659a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kk/firefox-118.0b9.tar.bz2";
-      locale = "kk";
-      arch = "linux-x86_64";
-      sha256 = "f9d8d2906874947df31a9b568babc0f0f4470d442f3296ca744c45c0d7c214e5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/km/firefox-118.0b9.tar.bz2";
-      locale = "km";
-      arch = "linux-x86_64";
-      sha256 = "afd9c675a86d6d043534c070344d6614831e4abcafd24a98e8d6664da3b853d0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/kn/firefox-118.0b9.tar.bz2";
-      locale = "kn";
-      arch = "linux-x86_64";
-      sha256 = "fe93e6dcca7fcb014c53ebc94a9e3d81f5104cf3af22aad1e59c90b75fc3b838";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ko/firefox-118.0b9.tar.bz2";
-      locale = "ko";
-      arch = "linux-x86_64";
-      sha256 = "0ad8b6273fc217d1e1d9975c1b496f9f1416346417bfe5ea2d2a98f60f8f1186";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lij/firefox-118.0b9.tar.bz2";
-      locale = "lij";
-      arch = "linux-x86_64";
-      sha256 = "cb7981d47db571e7490dcfbffa337987dfe51ed243744d95c957be665c505804";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lt/firefox-118.0b9.tar.bz2";
-      locale = "lt";
-      arch = "linux-x86_64";
-      sha256 = "a5249de84d87e71c729cbf986bb064f61a88839021740bd799e159bb550b1175";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/lv/firefox-118.0b9.tar.bz2";
-      locale = "lv";
-      arch = "linux-x86_64";
-      sha256 = "c835237ad71ed561ff882afcc7f4350bc942a44ec65c3eaadc5716a0664a6b93";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/mk/firefox-118.0b9.tar.bz2";
-      locale = "mk";
-      arch = "linux-x86_64";
-      sha256 = "178dd017f2770e7770639a2a128411d5ac8dd7d1a46172453598285f714a8132";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/mr/firefox-118.0b9.tar.bz2";
-      locale = "mr";
-      arch = "linux-x86_64";
-      sha256 = "876fb7dfbbfbdd991b42059b95a562f2b3d2e713cdfd30a195bd3606ad79c4e5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ms/firefox-118.0b9.tar.bz2";
-      locale = "ms";
-      arch = "linux-x86_64";
-      sha256 = "2bdeb6b26779eee615ef2ee3fcdf79c50d3098dfb5a0a6e71721c21964b18ec0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/my/firefox-118.0b9.tar.bz2";
-      locale = "my";
-      arch = "linux-x86_64";
-      sha256 = "50dfce52b2ed41dd399369efb944c2890f1987ddf07e7c7136ee745b9a6cd7cc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nb-NO/firefox-118.0b9.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-x86_64";
-      sha256 = "6f69c9df74f3e13009469ebeb6d9b4e9a26065cb9cf92b9d9ce71c8243de864c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ne-NP/firefox-118.0b9.tar.bz2";
-      locale = "ne-NP";
-      arch = "linux-x86_64";
-      sha256 = "6170a932880dc5cc86a5e7f78048e7e3248ff3bd11368c0e6d1c49fcdd7deb6e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nl/firefox-118.0b9.tar.bz2";
-      locale = "nl";
-      arch = "linux-x86_64";
-      sha256 = "c47de0754f87bf698c0848f7f9207795cfdfc74a0187dcdcc829a38013bf3fcc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/nn-NO/firefox-118.0b9.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-x86_64";
-      sha256 = "953ffba4bdf5148162ffb1e3cf3766168c82d73948bd528c88f045b315f051c2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/oc/firefox-118.0b9.tar.bz2";
-      locale = "oc";
-      arch = "linux-x86_64";
-      sha256 = "a094a3823ae328761228e1e91b9da5fad4cec83b7e50c2b9cf5c9418fda73c12";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pa-IN/firefox-118.0b9.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-x86_64";
-      sha256 = "03185fbdd8df2d3d931801be0fc45b151684cb6816866a7551b22af1a646f722";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pl/firefox-118.0b9.tar.bz2";
-      locale = "pl";
-      arch = "linux-x86_64";
-      sha256 = "ee4f3e2d56e84bd30e6bf1f28fa98a8a70ac9b2ced98a76e0bddcc151b2683c2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pt-BR/firefox-118.0b9.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-x86_64";
-      sha256 = "8df58218e900df226188582aef2c278dcfd30c3f36552bb041fff712681b8df1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/pt-PT/firefox-118.0b9.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-x86_64";
-      sha256 = "6bcebcfda5ac9f1bbed03566caf548218dca309829481e4ee37075ec1a617de0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/rm/firefox-118.0b9.tar.bz2";
-      locale = "rm";
-      arch = "linux-x86_64";
-      sha256 = "506ff87af0f0c8c933182b03a29560dc68e623cfd136b683b8469e6d11e34275";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ro/firefox-118.0b9.tar.bz2";
-      locale = "ro";
-      arch = "linux-x86_64";
-      sha256 = "11e0d4010e80366863f3897476c26511bac41e4c68e85bcc20044d6a958414ff";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ru/firefox-118.0b9.tar.bz2";
-      locale = "ru";
-      arch = "linux-x86_64";
-      sha256 = "e9f56d75d908f26fed24edf78000912dc897960e2d25aab9df1d7547ce4c8d8c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sc/firefox-118.0b9.tar.bz2";
-      locale = "sc";
-      arch = "linux-x86_64";
-      sha256 = "48adfd528e80ebcc01632c3d3313e5418510d3d72d99a945844e00d247cb60fc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sco/firefox-118.0b9.tar.bz2";
-      locale = "sco";
-      arch = "linux-x86_64";
-      sha256 = "1ed5371e3a04eb40cc6b75097135985586ab26000a1600c28939d424df5f2450";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/si/firefox-118.0b9.tar.bz2";
-      locale = "si";
-      arch = "linux-x86_64";
-      sha256 = "aab2fdeda2ccf3605d51857ecd7005da043b471ef3de91211111c6c04f0a81ed";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sk/firefox-118.0b9.tar.bz2";
-      locale = "sk";
-      arch = "linux-x86_64";
-      sha256 = "b3251ba76819d35b26da24080c049f005d43e63ceb863254a61f4f5feefdaf88";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sl/firefox-118.0b9.tar.bz2";
-      locale = "sl";
-      arch = "linux-x86_64";
-      sha256 = "b40d690aeece4a09d994597879a5625568a8dce44f8c87835256c555acfc40b5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/son/firefox-118.0b9.tar.bz2";
-      locale = "son";
-      arch = "linux-x86_64";
-      sha256 = "06272721d3e81d27ab3cca0845786ac22dfdd70cf695730ff56c3749b7f94431";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sq/firefox-118.0b9.tar.bz2";
-      locale = "sq";
-      arch = "linux-x86_64";
-      sha256 = "29da477b4af2a4e22129331ee8a231bf6104085ecc0918d0fc7870dab0d4a56d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sr/firefox-118.0b9.tar.bz2";
-      locale = "sr";
-      arch = "linux-x86_64";
-      sha256 = "ab7d20c85ed8b79d86042839d0929098882a075db3aef476fab155f2e00723f3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/sv-SE/firefox-118.0b9.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-x86_64";
-      sha256 = "7ad161e52d3902f6991946457b373c576bef6c8e57576a3858f22da6b4d9d961";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/szl/firefox-118.0b9.tar.bz2";
-      locale = "szl";
-      arch = "linux-x86_64";
-      sha256 = "6ddd10980890a1d718fc11dc884080573f7e0bd177dc2434c0d62bc653568315";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ta/firefox-118.0b9.tar.bz2";
-      locale = "ta";
-      arch = "linux-x86_64";
-      sha256 = "9bff70db3a4e82d1c88ac484269db863db91bdc9acbbc623d421f578df78a173";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/te/firefox-118.0b9.tar.bz2";
-      locale = "te";
-      arch = "linux-x86_64";
-      sha256 = "fb56f9d843379c08a7093c83ffff1d203f6c4893280fe3a61c392ac498a717b4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tg/firefox-118.0b9.tar.bz2";
-      locale = "tg";
-      arch = "linux-x86_64";
-      sha256 = "5feec8a1ba01e1201301d51a1b55b5a4e77d79511d9a701674fda4e733eb8db9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/th/firefox-118.0b9.tar.bz2";
-      locale = "th";
-      arch = "linux-x86_64";
-      sha256 = "5dcac416794969756ea403f6ef76ba8414a43a2f3b8601c5171b12c27597585b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tl/firefox-118.0b9.tar.bz2";
-      locale = "tl";
-      arch = "linux-x86_64";
-      sha256 = "9a734be40c279c8327df76c91cb1e5c81558c06de63962d8604c4091439440cb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/tr/firefox-118.0b9.tar.bz2";
-      locale = "tr";
-      arch = "linux-x86_64";
-      sha256 = "6679603f9baffaab9b5ed34f20d41f9094a764e879d9a6c76bd45857798b4ee4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/trs/firefox-118.0b9.tar.bz2";
-      locale = "trs";
-      arch = "linux-x86_64";
-      sha256 = "2c61bc81bee412abcd4de08287f36e3326c196513e97cce9be9cf75ec7fb5189";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/uk/firefox-118.0b9.tar.bz2";
-      locale = "uk";
-      arch = "linux-x86_64";
-      sha256 = "3ced0aa2e9a142ee441d798a47ec9a08e3fa741cbfe9d3f124088ccd05a3d64b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/ur/firefox-118.0b9.tar.bz2";
-      locale = "ur";
-      arch = "linux-x86_64";
-      sha256 = "e48e0fb6d5fd25fe3cfbeec26ad1196465c77e699977adaf4d71e19fbe83ff0a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/uz/firefox-118.0b9.tar.bz2";
-      locale = "uz";
-      arch = "linux-x86_64";
-      sha256 = "ea0458ae76e50dddd4bb5966846e5cfcabfb2d4cc8884c9a00d234ecda6aef6a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/vi/firefox-118.0b9.tar.bz2";
-      locale = "vi";
-      arch = "linux-x86_64";
-      sha256 = "7f67f1a6fd898710900a1b9e1bcd04aa8730249257472265766c5424a1865607";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/xh/firefox-118.0b9.tar.bz2";
-      locale = "xh";
-      arch = "linux-x86_64";
-      sha256 = "5db4ee24e2c2646b7b61e8a453953558e84ff59c51cd70d5937ae3e114d3d8d2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/zh-CN/firefox-118.0b9.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-x86_64";
-      sha256 = "632595f56ec4cfc803ae94e98f7961823f496553038261800d9d89a344039788";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-x86_64/zh-TW/firefox-118.0b9.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-x86_64";
-      sha256 = "f3ba20b6488df608275882b037de062efe5a69290e1ecd96536caaea0477c871";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ach/firefox-118.0b9.tar.bz2";
-      locale = "ach";
-      arch = "linux-i686";
-      sha256 = "e53aca0cdb3d26a83047e5af4f3d522fa5b7dd3ac6352ac19a0de638d7ba0bd5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/af/firefox-118.0b9.tar.bz2";
-      locale = "af";
-      arch = "linux-i686";
-      sha256 = "39f804678212819ff35bfa34ef6c06eebf10c033d72f2cbd272a95d7c05e74ba";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/an/firefox-118.0b9.tar.bz2";
-      locale = "an";
-      arch = "linux-i686";
-      sha256 = "ab1d0ff00c249ca13f2f2404f580604c00b1cddba1190d07c3daac2ca11e747e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ar/firefox-118.0b9.tar.bz2";
-      locale = "ar";
-      arch = "linux-i686";
-      sha256 = "a9e20580dad651b5f5516d6c62636a25a2d3b5d18152c6fa3e6a139cb68eb8e6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ast/firefox-118.0b9.tar.bz2";
-      locale = "ast";
-      arch = "linux-i686";
-      sha256 = "234c6a23011440288f389287c048552df3e2757e38b3aa3b4a8eef2d65d13cd0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/az/firefox-118.0b9.tar.bz2";
-      locale = "az";
-      arch = "linux-i686";
-      sha256 = "c4e8561139014ea6d1a633858c2dc0c503c919634ec435895a87ec53794b9931";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/be/firefox-118.0b9.tar.bz2";
-      locale = "be";
-      arch = "linux-i686";
-      sha256 = "972ff1a80a47ff5e743d09b96a8baad7a12742a554d10503880b0f4cf887d033";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bg/firefox-118.0b9.tar.bz2";
-      locale = "bg";
-      arch = "linux-i686";
-      sha256 = "782e776efead868840d137e524b66811db8942354cb690d062c5d2fac19fc20a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bn/firefox-118.0b9.tar.bz2";
-      locale = "bn";
-      arch = "linux-i686";
-      sha256 = "d30f3ef788be926fb4e89ae167fda01351ca7643ab2b0870edce061ec731cec2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/br/firefox-118.0b9.tar.bz2";
-      locale = "br";
-      arch = "linux-i686";
-      sha256 = "3c9ea3db020b08495449df487711b98601e39cd983a2f0e3f7661371654ce7fe";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/bs/firefox-118.0b9.tar.bz2";
-      locale = "bs";
-      arch = "linux-i686";
-      sha256 = "8ec9d497c5c1aa8032bfd6eb3b4619716935d67d4054363d1b14f5dac5da832c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ca-valencia/firefox-118.0b9.tar.bz2";
-      locale = "ca-valencia";
-      arch = "linux-i686";
-      sha256 = "ab80b0b8cd657917135b7d44b0033daab60827bec9e65661fb9e9a02d4e4225d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ca/firefox-118.0b9.tar.bz2";
-      locale = "ca";
-      arch = "linux-i686";
-      sha256 = "0f5517aa454bf7307ebb2015375f96f56f59e9c24cf7f9735cb6c7619aade466";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cak/firefox-118.0b9.tar.bz2";
-      locale = "cak";
-      arch = "linux-i686";
-      sha256 = "f18dc8b6977293f6a82246f34d455567b857edb937fae5109754e780c1991407";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cs/firefox-118.0b9.tar.bz2";
-      locale = "cs";
-      arch = "linux-i686";
-      sha256 = "ff20177ebf601903556239f6a2b4414f9f209912f0f6bbf7320e63a09b8c31f6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/cy/firefox-118.0b9.tar.bz2";
-      locale = "cy";
-      arch = "linux-i686";
-      sha256 = "6afb79342ddb53e568598e0dea754e67135ce3cc1eb3f7f4cc5c8f9269218933";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/da/firefox-118.0b9.tar.bz2";
-      locale = "da";
-      arch = "linux-i686";
-      sha256 = "2d56583c30fab008ff132164af35f43d9578bfc1b13e6fa17cd0954e1a480844";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/de/firefox-118.0b9.tar.bz2";
-      locale = "de";
-      arch = "linux-i686";
-      sha256 = "6f7f12168bfabe787d36a8ec4d7d5f05c5679543e2f909ae4f4fd0c311ef7c66";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/dsb/firefox-118.0b9.tar.bz2";
-      locale = "dsb";
-      arch = "linux-i686";
-      sha256 = "abcd8efd958fb4cd07d7b6f163851630fccff3abf2e0cbe40430e48ef9c3df2d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/el/firefox-118.0b9.tar.bz2";
-      locale = "el";
-      arch = "linux-i686";
-      sha256 = "f5f2ff34cdfd9cabefd3f068d8086db804b045b242ebea4ad416510e031551e9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-CA/firefox-118.0b9.tar.bz2";
-      locale = "en-CA";
-      arch = "linux-i686";
-      sha256 = "1645f59cc9db80ed34dbb45c5e1ff9b270160c38b50548b34b580c7e68f45497";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-GB/firefox-118.0b9.tar.bz2";
-      locale = "en-GB";
-      arch = "linux-i686";
-      sha256 = "5c5b1872e5965fb6c7c52e70af233d1cb39b6b9845129ed6bed19f5a716f69c9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/en-US/firefox-118.0b9.tar.bz2";
-      locale = "en-US";
-      arch = "linux-i686";
-      sha256 = "a7b405ad4f8d60519efc6f5433318f2f4cac6a898300dd9e06ec9a38a00e7d9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/eo/firefox-118.0b9.tar.bz2";
-      locale = "eo";
-      arch = "linux-i686";
-      sha256 = "f88898bf1efcdce421e7f8ab0389ee257d588b7a93362f685cebdf24f2e460b7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-AR/firefox-118.0b9.tar.bz2";
-      locale = "es-AR";
-      arch = "linux-i686";
-      sha256 = "50dbdd2d36387e51bf7534a4e661c4b62381ceb2a727e35e2a88bda96679209f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-CL/firefox-118.0b9.tar.bz2";
-      locale = "es-CL";
-      arch = "linux-i686";
-      sha256 = "8796f21f065495a93f853133a208acd2aa91d58e2c9029fb1f8262ed1ee09014";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-ES/firefox-118.0b9.tar.bz2";
-      locale = "es-ES";
-      arch = "linux-i686";
-      sha256 = "a551586853ad5923ca09e7d77b69b220779dca77c36e37f5176a4393c65a0032";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/es-MX/firefox-118.0b9.tar.bz2";
-      locale = "es-MX";
-      arch = "linux-i686";
-      sha256 = "f7a442484fd8396d7480f2f1b719deac03bac92bd7bfa23692e6590dc6db7cf9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/et/firefox-118.0b9.tar.bz2";
-      locale = "et";
-      arch = "linux-i686";
-      sha256 = "0eb1aad68e73481e6dd4948c3d691aba69d698a9819f4eba8e7e7dfbe9c436ae";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/eu/firefox-118.0b9.tar.bz2";
-      locale = "eu";
-      arch = "linux-i686";
-      sha256 = "b19858b2e0654bc88489cce8a10e6ed31f701ef8aa515390d8c5865315bd81f7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fa/firefox-118.0b9.tar.bz2";
-      locale = "fa";
-      arch = "linux-i686";
-      sha256 = "292424afc766be9006b594ce777cf5f710a445c38410350aabe3e7bb4ce7bca1";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ff/firefox-118.0b9.tar.bz2";
-      locale = "ff";
-      arch = "linux-i686";
-      sha256 = "e6e69e6d7f8bccb2f4b3d32c5b48c3b1a677a92e0792a31527543bd234169103";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fi/firefox-118.0b9.tar.bz2";
-      locale = "fi";
-      arch = "linux-i686";
-      sha256 = "02f5d399cc2e14f08ca2e323b38915aadd686eaf7d5f33a23eaeeae40b864631";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fr/firefox-118.0b9.tar.bz2";
-      locale = "fr";
-      arch = "linux-i686";
-      sha256 = "1b587b32e2d5095907fc8d392f82973075453d9b830de5b28266eba34694d305";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fur/firefox-118.0b9.tar.bz2";
-      locale = "fur";
-      arch = "linux-i686";
-      sha256 = "e9104d5c05c2728a9027f81d7709401b14d0d3f681b9c917448c5d28fe19c1d8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/fy-NL/firefox-118.0b9.tar.bz2";
-      locale = "fy-NL";
-      arch = "linux-i686";
-      sha256 = "0bffc1fc0b09c9b4c260e0195f1eb8ec8d0bc198598e1903262c9dbe955d91c0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ga-IE/firefox-118.0b9.tar.bz2";
-      locale = "ga-IE";
-      arch = "linux-i686";
-      sha256 = "019b3602f776f2e56f477be73e9f68297fdc63feea906c95c20ec64f008474df";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gd/firefox-118.0b9.tar.bz2";
-      locale = "gd";
-      arch = "linux-i686";
-      sha256 = "cd96ce395bd3f288052bfa02f13e61c2ea26daee744b255d5ce1c7542244ef7b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gl/firefox-118.0b9.tar.bz2";
-      locale = "gl";
-      arch = "linux-i686";
-      sha256 = "1d16b36daee3ba95477edf934f44ea52ae4f02edc554a42d6614d1d0b919d695";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gn/firefox-118.0b9.tar.bz2";
-      locale = "gn";
-      arch = "linux-i686";
-      sha256 = "0074d580db405791504448fc006848c7ff9530fc1895f8dd95dc69c0c06baae7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/gu-IN/firefox-118.0b9.tar.bz2";
-      locale = "gu-IN";
-      arch = "linux-i686";
-      sha256 = "86f21ca517c89fab3e1a5703cf880a1a9b79fa0bef16e810f13746e9a59ac698";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/he/firefox-118.0b9.tar.bz2";
-      locale = "he";
-      arch = "linux-i686";
-      sha256 = "704c8c1b12ca2227e4dbd89f51c9fac7a2769f7f0d81ddc11b40e2a8fa869681";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hi-IN/firefox-118.0b9.tar.bz2";
-      locale = "hi-IN";
-      arch = "linux-i686";
-      sha256 = "3a2fc246b14ee2d712e7c37e568024bf314ee1dfeef8cdb0f668acc1a9aa7ca9";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hr/firefox-118.0b9.tar.bz2";
-      locale = "hr";
-      arch = "linux-i686";
-      sha256 = "bb4b8af71da2fb4ee21c9ae79cab7c76f06cb2a2aa63dde5412f905eeda02902";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hsb/firefox-118.0b9.tar.bz2";
-      locale = "hsb";
-      arch = "linux-i686";
-      sha256 = "2cfc44287cadc041419c487a2dc4809676d54703fd7526b2478f1769cf7295bf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hu/firefox-118.0b9.tar.bz2";
-      locale = "hu";
-      arch = "linux-i686";
-      sha256 = "3ce46f795d287ec4a8dba73dc3f154fbdbf49e36458bf8f44b8fa889ee8e9f25";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/hy-AM/firefox-118.0b9.tar.bz2";
-      locale = "hy-AM";
-      arch = "linux-i686";
-      sha256 = "b5d4b2bf65501a2a062d6d33cb8ec79fa3b1ea96d3dee8276fcfe90466b75f9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ia/firefox-118.0b9.tar.bz2";
-      locale = "ia";
-      arch = "linux-i686";
-      sha256 = "57a39b1ee524b64b3fc02bd6022b18b9ccb78c188b6a00c175a9591a9f34cb4c";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/id/firefox-118.0b9.tar.bz2";
-      locale = "id";
-      arch = "linux-i686";
-      sha256 = "0e21bec921bca716fac98ac7372bbd0f4e08730038527dd1a3f8d2368649affb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/is/firefox-118.0b9.tar.bz2";
-      locale = "is";
-      arch = "linux-i686";
-      sha256 = "cfec6f29a76b1fdbc24fb2b62878bf219bc62d4ba49b84ac74644d32d663ff40";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/it/firefox-118.0b9.tar.bz2";
-      locale = "it";
-      arch = "linux-i686";
-      sha256 = "8de32508ec96dfb9aeee42b3ddf165d39347af836328dd327fc085ab63ab629e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ja/firefox-118.0b9.tar.bz2";
-      locale = "ja";
-      arch = "linux-i686";
-      sha256 = "da471e323d0788b4f9469064231c1a30121e0c372109b4ceefb293f360837c1d";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ka/firefox-118.0b9.tar.bz2";
-      locale = "ka";
-      arch = "linux-i686";
-      sha256 = "48f04b5e1e955ba528e4d31e51dd407e115ccf83da381f22ab6f592232fb1ffd";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kab/firefox-118.0b9.tar.bz2";
-      locale = "kab";
-      arch = "linux-i686";
-      sha256 = "23e6959f1f8c5de089ea4dcccbe366d383eff584dd1b5a76ff5c27e58626ea9f";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kk/firefox-118.0b9.tar.bz2";
-      locale = "kk";
-      arch = "linux-i686";
-      sha256 = "d999fa29de25472206bc07d6696e60c6c43d214427cd98bf8a1bb07a063fa550";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/km/firefox-118.0b9.tar.bz2";
-      locale = "km";
-      arch = "linux-i686";
-      sha256 = "f8d483c51e862cbc5b79672224fc534adad16875bca2ca2b3cbf56a43acc9114";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/kn/firefox-118.0b9.tar.bz2";
-      locale = "kn";
-      arch = "linux-i686";
-      sha256 = "23c8e223d4285020c2eedbff9a21259c3363b4e36491f628e83b182cf2d359d0";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ko/firefox-118.0b9.tar.bz2";
-      locale = "ko";
-      arch = "linux-i686";
-      sha256 = "452de5fd6c913659f988ea8e8b8ca10fa3e8738bab9d26bb0452bdbcb56dd81e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lij/firefox-118.0b9.tar.bz2";
-      locale = "lij";
-      arch = "linux-i686";
-      sha256 = "71007a608ebfb0f2937e149123ae1204ceef85d8a129b57d1b89f6cdaacdc7e7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lt/firefox-118.0b9.tar.bz2";
-      locale = "lt";
-      arch = "linux-i686";
-      sha256 = "5f82e611188581d38c8db1d03a253ab10c3e4805451276e4714635d0fd509fdc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/lv/firefox-118.0b9.tar.bz2";
-      locale = "lv";
-      arch = "linux-i686";
-      sha256 = "f7df8dbad4c91aa2d5c402487bc8a266ccd3477b44fc58f860f509aac9e0d78b";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/mk/firefox-118.0b9.tar.bz2";
-      locale = "mk";
-      arch = "linux-i686";
-      sha256 = "ab8b6a5f9ef8bced0591968dc123c89bee4d9a7be29e0387255cb716a460c491";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/mr/firefox-118.0b9.tar.bz2";
-      locale = "mr";
-      arch = "linux-i686";
-      sha256 = "74d9e514e9f6086b30a843b11cd02e872c5d10bb9e991d2e00e67581bd2ca0c7";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ms/firefox-118.0b9.tar.bz2";
-      locale = "ms";
-      arch = "linux-i686";
-      sha256 = "515d770951d7b112be8980b5482b3cac9c1f6b085c6c67056d6310334313a17e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/my/firefox-118.0b9.tar.bz2";
-      locale = "my";
-      arch = "linux-i686";
-      sha256 = "70bc3a89af01cb7fe91a3c8d3e2b51ee8711f205399d829fba0c5f67bdb13259";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nb-NO/firefox-118.0b9.tar.bz2";
-      locale = "nb-NO";
-      arch = "linux-i686";
-      sha256 = "0d7497ce372be43951963a7708e580476ad9606bd577cfd6b84613ac16ff1ad6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ne-NP/firefox-118.0b9.tar.bz2";
-      locale = "ne-NP";
-      arch = "linux-i686";
-      sha256 = "c3ed492f8a4fdfa5c6765003c07654da9d9efeabaaca15f67c84518ba10d04fd";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nl/firefox-118.0b9.tar.bz2";
-      locale = "nl";
-      arch = "linux-i686";
-      sha256 = "24077f05377cfbc11521c88f96d81f344b1d83a6dab4103fb2ef0acbe684f2eb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/nn-NO/firefox-118.0b9.tar.bz2";
-      locale = "nn-NO";
-      arch = "linux-i686";
-      sha256 = "eabc24681261270677c622be6f4feb412e889fee7e7909e7b1c213f2b5d5f074";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/oc/firefox-118.0b9.tar.bz2";
-      locale = "oc";
-      arch = "linux-i686";
-      sha256 = "84249450442b0784f5c1d9ef80148733697fa76a7b7cbd6fff826b17cd587d34";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pa-IN/firefox-118.0b9.tar.bz2";
-      locale = "pa-IN";
-      arch = "linux-i686";
-      sha256 = "a9a4d9d541a875fcbdf641520f78cbd6a7e195499b860c2b90a24151777af518";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pl/firefox-118.0b9.tar.bz2";
-      locale = "pl";
-      arch = "linux-i686";
-      sha256 = "f25078cfc1564938d322dfcf4caa7d53aba151779441058b8d0eac9c24cf36b8";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pt-BR/firefox-118.0b9.tar.bz2";
-      locale = "pt-BR";
-      arch = "linux-i686";
-      sha256 = "c257c77acbfacd8d6e665510ebd819d04af274794f7c4279d7a5ae5376548740";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/pt-PT/firefox-118.0b9.tar.bz2";
-      locale = "pt-PT";
-      arch = "linux-i686";
-      sha256 = "8a95dc319c5dd036ba1ed46c51306c2d72e1183b8b9495d2a7a04f2160037262";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/rm/firefox-118.0b9.tar.bz2";
-      locale = "rm";
-      arch = "linux-i686";
-      sha256 = "213173775951d23ba7ca90d4f5f0e972970f5e70a94797dcfb3a4c431ddb3461";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ro/firefox-118.0b9.tar.bz2";
-      locale = "ro";
-      arch = "linux-i686";
-      sha256 = "fd8149548cc99a603565406e0bf18af072406587b8c99a2791e9794db45b37be";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ru/firefox-118.0b9.tar.bz2";
-      locale = "ru";
-      arch = "linux-i686";
-      sha256 = "ad6ede7fa8d2492dc282672e1fe650e480282f0383e5bf972fa3079d032e7fd4";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sc/firefox-118.0b9.tar.bz2";
-      locale = "sc";
-      arch = "linux-i686";
-      sha256 = "4165fa28ec0395c4c73440d6ac5ccf507fd59170eb69c56d73c58cb194a18b8e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sco/firefox-118.0b9.tar.bz2";
-      locale = "sco";
-      arch = "linux-i686";
-      sha256 = "0d6b08f75cfcad251ecc4e5057ff6ea36e889607e4073b593e11099ab060e6ad";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/si/firefox-118.0b9.tar.bz2";
-      locale = "si";
-      arch = "linux-i686";
-      sha256 = "f13f8fed792e28048d2069fc70373811c520bf21db0404e3a24245f4fc8308db";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sk/firefox-118.0b9.tar.bz2";
-      locale = "sk";
-      arch = "linux-i686";
-      sha256 = "b4cc004d195f2afd25fc4adffd322a6e969533ec80b4ddaae51f05334968f40e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sl/firefox-118.0b9.tar.bz2";
-      locale = "sl";
-      arch = "linux-i686";
-      sha256 = "4d67c69958e4582af0b94dcf9e2c31d83bebae6fa5b0b8679d51ac6c43d7c795";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/son/firefox-118.0b9.tar.bz2";
-      locale = "son";
-      arch = "linux-i686";
-      sha256 = "bf2485df2689593243794df95d676a6fcdfb9f1d4ce364c84ba9f101b2264eea";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sq/firefox-118.0b9.tar.bz2";
-      locale = "sq";
-      arch = "linux-i686";
-      sha256 = "33bf4a96adb0535524c4e9283d54c9b811eab476562cd56f699ab6ff0579ec0e";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sr/firefox-118.0b9.tar.bz2";
-      locale = "sr";
-      arch = "linux-i686";
-      sha256 = "6730e09e523b515d81977e9d4036b04f0b90ce5523f221775cdae222b926ae0a";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/sv-SE/firefox-118.0b9.tar.bz2";
-      locale = "sv-SE";
-      arch = "linux-i686";
-      sha256 = "637f7691325f447569973e2a9beaa6be4b2dab8bf5b6422e90a158edff00ee92";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/szl/firefox-118.0b9.tar.bz2";
-      locale = "szl";
-      arch = "linux-i686";
-      sha256 = "a23fc0c34fdf64176dca5f8b23a9a381f71dbae2d8573a0d286f39a61deb94cf";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ta/firefox-118.0b9.tar.bz2";
-      locale = "ta";
-      arch = "linux-i686";
-      sha256 = "065602a04ff6d4fde955dac629f8495c3b4a7dbe5a05fd2b75b00095ad88f438";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/te/firefox-118.0b9.tar.bz2";
-      locale = "te";
-      arch = "linux-i686";
-      sha256 = "ddff23965ef7bf5430d79a6e9d0c83f420ba7967b4b92729724b74632cb51992";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tg/firefox-118.0b9.tar.bz2";
-      locale = "tg";
-      arch = "linux-i686";
-      sha256 = "377906226c488a24a229aedcdd75d128a413e0b6ca70215507b306ecbe2c93d5";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/th/firefox-118.0b9.tar.bz2";
-      locale = "th";
-      arch = "linux-i686";
-      sha256 = "9bc4881b5994d938dfda2574b8209f683896aa99d09231163f2500057047c2e3";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tl/firefox-118.0b9.tar.bz2";
-      locale = "tl";
-      arch = "linux-i686";
-      sha256 = "5173d2b13807be2303ea11e5d32d1c504bc81b8c8db7c74de9f4388ef67f9d53";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/tr/firefox-118.0b9.tar.bz2";
-      locale = "tr";
-      arch = "linux-i686";
-      sha256 = "c12a8c580fc75e6827ee94b30f50b66478fa672eb6821f2280589f5afd3c7cd6";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/trs/firefox-118.0b9.tar.bz2";
-      locale = "trs";
-      arch = "linux-i686";
-      sha256 = "f3a63164cb755674c63fe76c86bd7edb075dabacbbb078a96ce2afa36dcaf1dc";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/uk/firefox-118.0b9.tar.bz2";
-      locale = "uk";
-      arch = "linux-i686";
-      sha256 = "f815ef8bcc95eeb3f5ebc7fe7a92406f8f9499b8a691ca07ae69e4fef6a4a051";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/ur/firefox-118.0b9.tar.bz2";
-      locale = "ur";
-      arch = "linux-i686";
-      sha256 = "21665a39565e990ebdd369c88a684b247ccd5a2ff7268d9827c4cced5a1d44cb";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/uz/firefox-118.0b9.tar.bz2";
-      locale = "uz";
-      arch = "linux-i686";
-      sha256 = "e3527a83c2ef6f7fce248bd3eac7a71b53c95e6531ba66ce16d0886de6b52769";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/vi/firefox-118.0b9.tar.bz2";
-      locale = "vi";
-      arch = "linux-i686";
-      sha256 = "6535325b6f1182f0a67039f5c9ace2f1db8d5cae69ea03868828d75dacdc2df2";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/xh/firefox-118.0b9.tar.bz2";
-      locale = "xh";
-      arch = "linux-i686";
-      sha256 = "8e7d67535c19f672b42195327f85737cae24edf5dd96c2b474028b43860b3a34";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/zh-CN/firefox-118.0b9.tar.bz2";
-      locale = "zh-CN";
-      arch = "linux-i686";
-      sha256 = "24bddfdda2c7eeeaa1d66783cd4fe0b7b47b99d01250a1f6203f5049142be911";
-    }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/118.0b9/linux-i686/zh-TW/firefox-118.0b9.tar.bz2";
-      locale = "zh-TW";
-      arch = "linux-i686";
-      sha256 = "6fbd5d7bd31ac65cfe88e393cdab0ddab6d50c9f9e3718971bb16debf04bd10e";
-    }
-    ];
-}
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
new file mode 100644
index 000000000000..96dc4f28340d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
@@ -0,0 +1,1025 @@
+{
+  version = "123.0b9";
+  sources = [
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ach/firefox-123.0b9.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha256 = "8209ed22e390387eba266aaeae02c209b6cddf0bd91b1e416cb80bd419249b67";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/af/firefox-123.0b9.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha256 = "d78d5a00f702b0a839bb7720f7bb39d63efbe4b6dc5d211c6ee544a1cc8801c6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/an/firefox-123.0b9.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha256 = "5cf3ab8da40481ff2654bbce33078ca69b1221f588b43ebc816a3a9e6b2d702c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ar/firefox-123.0b9.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha256 = "f19e6a2d4ce8c8951004ec733932b1d54f9f7adb157ad7a4e1316d7d6fa0f70f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ast/firefox-123.0b9.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha256 = "84a55620452ded942cc7e676cc255caed1bd77e348d623102e4777c8c0fd4399";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/az/firefox-123.0b9.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha256 = "73e68424868d4b3e97f9f9f86ff993ddbc4f97eea90560d39536e7cd0103a970";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/be/firefox-123.0b9.tar.bz2";
+      locale = "be";
+      arch = "linux-x86_64";
+      sha256 = "7237e962cf46683f3fcb765dfea24b6780404e02ddbd64d0e00705189277fa2c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bg/firefox-123.0b9.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha256 = "d05e38d2072ed9ff831a6612fa99e413a1599e104052771f0745640b6300497f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bn/firefox-123.0b9.tar.bz2";
+      locale = "bn";
+      arch = "linux-x86_64";
+      sha256 = "872365d6a9f5fb8971a43f54b5a0dea2b7cc316fb10c451471766228392e6f64";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/br/firefox-123.0b9.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha256 = "51e953eb4ac3c1bf6df4f01dabaf5b59cf4f3b1c91b87c6bec14b9730515bd0e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/bs/firefox-123.0b9.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha256 = "fde3ada61deeacce592da0ac2dcc5eb95307958fb0059dbd040ffb9c1ab8e3dc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ca-valencia/firefox-123.0b9.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha256 = "80d3788f5a0f7dd2b1aad6d697a3b541586f64f99e3c8d16a168a25071565a56";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ca/firefox-123.0b9.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha256 = "aeeeddd7d7637416bddee7c91571483fd2c5e2a691202c0c011096e9d07b969a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cak/firefox-123.0b9.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha256 = "54ff9f05361862a95b5eeb083fc4c275d25be0ae22a5d69c2684f81faa4939ec";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cs/firefox-123.0b9.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha256 = "61d1ae17acebc1f3f6ad28121ccb67c0518e81fbaa1b83b4f09f4368522c0c91";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/cy/firefox-123.0b9.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha256 = "b8c10b6ce837a49bbd24ae964f6c7b2759a61b9fbeec3c7b2842eb6f19d211eb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/da/firefox-123.0b9.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha256 = "f08aa574567c7b7ab8ac5c49b67375a320f36b9e981e9c704f75ab21f50e547c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/de/firefox-123.0b9.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha256 = "4c5bc0b006e2d77f1f5c7e3d6a46eebc320129df0b0055074bb9592c3660d572";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/dsb/firefox-123.0b9.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha256 = "c38a3d3a2c59aa931fae6d4ea8527d52903a6efc1c550ccaa53b8187a26d4aab";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/el/firefox-123.0b9.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha256 = "399067d5a5fe987e3f72471194bed7599e8d4b19e96ef1486ccb557a829d9e4c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-CA/firefox-123.0b9.tar.bz2";
+      locale = "en-CA";
+      arch = "linux-x86_64";
+      sha256 = "b300f21deaf790a513d7de2595bab38ec054c50d0f9a7f4efae9b42fa688e965";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-GB/firefox-123.0b9.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha256 = "1c10607c48b8d6d14b35ce09af8acd658b065939ac848ee89e25018e10086d0d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/en-US/firefox-123.0b9.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha256 = "4c9913b8f7e7b11f22324c448f66a5e52a976b050a5945d9c70c21f8207022db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/eo/firefox-123.0b9.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha256 = "4678feea19c31bff30d3d2670c2d1e7b4e9041b7d6dbfebffe660a56bf882091";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-AR/firefox-123.0b9.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha256 = "447c0630b4689cf816ccfbb331ace2fc51f60d2e9bc6a75e77281ddf8d56d40a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-CL/firefox-123.0b9.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha256 = "89fd6ba2ba8f7679278158ce14e1a49341dd45825d9e223bf11359949f9cba8c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-ES/firefox-123.0b9.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha256 = "da23651ff75029833a2b2ae2003755a77f2db42a5f28d331bfda1ab38be8b8cb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/es-MX/firefox-123.0b9.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha256 = "ef04ce3ac698b8fa4bfa4977c07fb96ef81dd55f0128f9081c50813362b9e3bc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/et/firefox-123.0b9.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha256 = "025fb8761871202c4cf2f1ed02c391b4c7747d0e77c9c42fe70dfe5f4dc25ac8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/eu/firefox-123.0b9.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha256 = "0c6c8ec488436e177811c4afc46677e1785e2c352e95aceb4306568a196303ba";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fa/firefox-123.0b9.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha256 = "99b50a7b00a51261604e7d26750d69af607dfce2b632c5ed2363466819d42473";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ff/firefox-123.0b9.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha256 = "88e0d02eea30b035ace6f158f15c9072bd4baa03a6795281869d5e8f0726bf99";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fi/firefox-123.0b9.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha256 = "011207051635748ceae0653e1bbd04aafca1767884e3a1f949b8576eeb80bfa1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fr/firefox-123.0b9.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha256 = "2d9812633cf3e81b7d77dff833dc1eaa4ee42426e41737123499b5d9b999631d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fur/firefox-123.0b9.tar.bz2";
+      locale = "fur";
+      arch = "linux-x86_64";
+      sha256 = "1ef82eb28a2ac00f99825ccb23aab2b61d49187b0859ba95b3145227fe51cfbe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/fy-NL/firefox-123.0b9.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha256 = "3144dbcbb42e43a171a71bbafb90c1288bab31e53f387ff9720ba87722967ec7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ga-IE/firefox-123.0b9.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha256 = "c161abf7bee3547c6b7e26fec5c8f950a48dcdb65f9f71ea2ae52263499c6eb5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gd/firefox-123.0b9.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha256 = "3c11a0503f1c667a6ec446e2dccb55708cdf6371da5a57c15a34ce3e165772d3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gl/firefox-123.0b9.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha256 = "111df86012aff2b5f3e01971c7c893314b0cd56be238032cde0c64b74116d8c2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gn/firefox-123.0b9.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha256 = "e73b2e664be578050b26510c8cabeb320f3c88b3636c55a8bdbec9ede0bbb5cc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/gu-IN/firefox-123.0b9.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha256 = "c7b0374fdc46d06b747487cefa3b2ff0a0f7b16db67d64088a738b55a46a9da2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/he/firefox-123.0b9.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha256 = "50110443f2c1c14835de99165e5d204fabee330348d3b738055ec0482a2e9198";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hi-IN/firefox-123.0b9.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha256 = "e0e2d0ac60940742bf101da8612c4eaaf8f629a542d0e3f50cfc793c7f96e0c1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hr/firefox-123.0b9.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha256 = "ece1893493a54563a37c77595698ecdc140b988fc08cb93ae225288509d1e104";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hsb/firefox-123.0b9.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha256 = "37fcb9547fcbc09fa4dd988a5db48f5e19fdfb93dad2018cce85375b9ab9a89d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hu/firefox-123.0b9.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha256 = "c0d15d71cd51c22eb638c0b601b77fe57cea0e0ce729d80e698b6d991f5cde1a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/hy-AM/firefox-123.0b9.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha256 = "557b183f57e3242ad6494e3c218c49bfa7d0ce5a959b6274387d30d0f992821b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ia/firefox-123.0b9.tar.bz2";
+      locale = "ia";
+      arch = "linux-x86_64";
+      sha256 = "1c4e50d2729479b2560d5e0f63b8fd0e2a44d4f151c0fc790524b235a2976b1a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/id/firefox-123.0b9.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha256 = "a7fd20ca4863aec142c179b2074c1992d51bcd4f5b2c21aafc9d13c576638c00";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/is/firefox-123.0b9.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha256 = "c31796101cfe306e3b329caf59fe121fd96a0b7f1a9a65e29240388fb30f66b9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/it/firefox-123.0b9.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha256 = "d437b1c09a16c682420e0c307deac37877c076520189d080abf37ba19949122c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ja/firefox-123.0b9.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha256 = "9a27423301caccb65598bf762e571d5edbe578407e10a713065787f5dd7801c3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ka/firefox-123.0b9.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha256 = "0ad72172cd6ca3b20350fe7c59f2058810d317cd2cb81eb7e8af19e504250a98";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kab/firefox-123.0b9.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha256 = "4a7409d8af232aa26de33799919f628b20c8ed33c790db16e3bfc7aaddfdfaed";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kk/firefox-123.0b9.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha256 = "158acf0a9fcdf3ff101b48e1aa7e6d59ff248de43cd64b2d7893dc98402abf9d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/km/firefox-123.0b9.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha256 = "fed48b52226b652c8bf225f29560a36baa55f3c6ea91381ddf06fc4e23f03609";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/kn/firefox-123.0b9.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha256 = "0882f7afb3c43d878b274b5cb1f7e08e6852e3df3fdb7622d7a03427fae09fe7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ko/firefox-123.0b9.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha256 = "193650b946f896d2a530a0f7790d592451821c4e05fc9c4b34803a32ef17941e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lij/firefox-123.0b9.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha256 = "5e84cca3ace3945886a5e37deedb43f5ce37ce321fa94a222e3f54b4935a416d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lt/firefox-123.0b9.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha256 = "63825af98467f6f783c8687f199307039c3a1343bb4fefd656b418fb1704a969";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/lv/firefox-123.0b9.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha256 = "4f62dce67179b26e6696f52e186a95a7dc415929373d11098b34a60ca45c230f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/mk/firefox-123.0b9.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha256 = "5eb45feb1979929538b0ad32417caa04259c16ce8f970178971945ba532dc138";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/mr/firefox-123.0b9.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha256 = "14819b439fad588c9ba25e004c6357711094a9023bfffd82a35978a57beeed4f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ms/firefox-123.0b9.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha256 = "35406a942fc8d87324349311998048a0e56379f80f3eb1e77079c93875295c1d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/my/firefox-123.0b9.tar.bz2";
+      locale = "my";
+      arch = "linux-x86_64";
+      sha256 = "3e3e5b486bb4e82fc7a1093634b712b3d2ca7931e61e8885ba304144ea8e9e01";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nb-NO/firefox-123.0b9.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha256 = "54d62c9046f72c64c0ea620c5d950e56783fe5611ac05c0fab91c696a95ecc56";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ne-NP/firefox-123.0b9.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-x86_64";
+      sha256 = "124b00af69e7d0a0fb24773dda4c6b60c3f5d0a9c742581f8ea6a72e0b92e76f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nl/firefox-123.0b9.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha256 = "222707fbcb7eb0a8a75d167162e6ab4f4223d31a175beffe60688229f561920f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/nn-NO/firefox-123.0b9.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha256 = "f8d2132d32b74d90ace86b4850995f2e73012e51f5a52959ee76f5ec084fefd1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/oc/firefox-123.0b9.tar.bz2";
+      locale = "oc";
+      arch = "linux-x86_64";
+      sha256 = "826fe08fda4432824b0cb218e0b97deda2753e2234d0fbb92f4f0a45812998e0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pa-IN/firefox-123.0b9.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha256 = "7944d947d63faa0d61bf3c413e6853b61ab4873711426f5ae8aedc3f0da850b6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pl/firefox-123.0b9.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha256 = "d0e65c2645cb1417899374ac0672c574789d73dce85ec4f29cef0cf11217ae46";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pt-BR/firefox-123.0b9.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha256 = "79882a20b074a5a845d999fc75e748694030d8304b2ad5ffe52830095feea9d9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/pt-PT/firefox-123.0b9.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha256 = "696d249fe7755322a646d3f524e01376fd8ef6ebed23af2ed7fbdbbe49fc6bb0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/rm/firefox-123.0b9.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha256 = "bce959c6e1a70fe0bbe7f02e63539ab2a3918d3232a8b6016d1ea43b8dfdcca6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ro/firefox-123.0b9.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha256 = "5c00cb2104dc3b34334880d81de509bd4e74946d6c1fb0ef88b274bf20981790";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ru/firefox-123.0b9.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha256 = "6d00c0e5f06f69b6664fbb691b3c6f0e16abe731dddfdc44e7d82fd3e448c96a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sat/firefox-123.0b9.tar.bz2";
+      locale = "sat";
+      arch = "linux-x86_64";
+      sha256 = "3ab036ef76664c1a36d72f04193e245fb226d4bb40ede7d2a3e7470225f3dc9d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sc/firefox-123.0b9.tar.bz2";
+      locale = "sc";
+      arch = "linux-x86_64";
+      sha256 = "f724aed24de459c4192087a3ef82bc3c3119a15bdb6e5cbbbfabd626fe6cee27";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sco/firefox-123.0b9.tar.bz2";
+      locale = "sco";
+      arch = "linux-x86_64";
+      sha256 = "c00f9bf2423f846e480c7fa866ed70f9abc4159ebb1caec9cc5e2989b9d03734";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/si/firefox-123.0b9.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha256 = "e667830c941084ba40ed9b221cac1a507f388eb33e666def99de41a1ae793938";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sk/firefox-123.0b9.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha256 = "a6688dc13ec89142e38462d70b0619ccff78f663730e7c47c537f7606aaa9026";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sl/firefox-123.0b9.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha256 = "66f0e2a272a6e3c0c3888f2709a1f587949dffc6c34df05d18593edbfe98d501";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/son/firefox-123.0b9.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha256 = "fc8c11061ac5dfd722320217af5b59075149e335e47c0de1d58fa3ca2b856d96";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sq/firefox-123.0b9.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha256 = "79e89f51aa0e862ae0d7770df5d1983388e67fe5bad6d81af92a1b42a1560780";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sr/firefox-123.0b9.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha256 = "ee9d58dafcfcb7053be2a2908a5f8a9e732e0d54e5db7cf33f3a5679d480214d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/sv-SE/firefox-123.0b9.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha256 = "c1f518f1b7b77a61ef3e6556c91f96487218f65483df233a7f9923caecc07d7c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/szl/firefox-123.0b9.tar.bz2";
+      locale = "szl";
+      arch = "linux-x86_64";
+      sha256 = "58d672892449ce3eb72a1537cb4a8eedc1f0a8432ea9d3f58242421d0329be2e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ta/firefox-123.0b9.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha256 = "f7b4a0cebfbb62339b874fae0656905852ca5552d65845c0ecbbc930c5e5b287";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/te/firefox-123.0b9.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha256 = "d1049455de920ee08f40d8ebdd1143e32ed3de8be64a3e30ee2c32393f36bc0c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tg/firefox-123.0b9.tar.bz2";
+      locale = "tg";
+      arch = "linux-x86_64";
+      sha256 = "44e4e4d48909408d342220fe1a883ccfd0d34a58976712503958fe2fa6f6c1b4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/th/firefox-123.0b9.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha256 = "693603e33504925b50dc3fc497498c2d5f99532b101f8f6d9dbaa0f94d377c2d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tl/firefox-123.0b9.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha256 = "ea13c9359ecea4430a26d54b3e32648163f30170c5619316902dfc0d70c8f169";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/tr/firefox-123.0b9.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha256 = "41a011778c309257e6bee228a2a28358c0b0672a510411b7fbdf100f5eea7f18";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/trs/firefox-123.0b9.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha256 = "47567f4a6137d887dd499a46a46a4d544f0ae34431fcbe9fa4b0951378e51547";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/uk/firefox-123.0b9.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha256 = "1a66ec77a6ae077747adcd18f655ab40129cd205063318a2e0b2a1349f2d5ea1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/ur/firefox-123.0b9.tar.bz2";
+      locale = "ur";
+      arch = "linux-x86_64";
+      sha256 = "b209892f4e0efd73cc2c573c146b1a876afac6ab905528d03199ea392f765b79";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/uz/firefox-123.0b9.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha256 = "948832b99dfd27f52d10131687fefff725b496e762af1aeb8cf1b5380c3f257f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/vi/firefox-123.0b9.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha256 = "1b42542544b464550934034ffb053ccde15c35f88b9b7cf21e72320d293704ef";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/xh/firefox-123.0b9.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha256 = "5706b918757b868dd40d3ce4fe1016a2bd8d26f69f92a4d173a4e7cd6373d3b7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/zh-CN/firefox-123.0b9.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha256 = "92d4b507b9e778d1d0d843360670f5310c8fc0b25ab19c34debc58089bb77b26";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-x86_64/zh-TW/firefox-123.0b9.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha256 = "5fee9e93603176d7bcd11f2fd102ce92f282f03d656258ddc4152e3d0e082206";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ach/firefox-123.0b9.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha256 = "d5b7faca62980eb60b3f5b15740d3edeb615bef6c8c4fcd2198f9de8360b4ae1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/af/firefox-123.0b9.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha256 = "c70b956ba12f810903468435484316e72430c8de70777f3092a5c36e24fccdd9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/an/firefox-123.0b9.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha256 = "a4fbd6546609a81c127764effd2f642baf0a1b11bb976c213282537b11650054";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ar/firefox-123.0b9.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha256 = "9c21f5f486463a11361eabec3629c72f0556eb82837c84953657896d6e86c61d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ast/firefox-123.0b9.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha256 = "222abf96275b10413eed5560588752a40cd69e60220b3e18ebcff1d76511ffe6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/az/firefox-123.0b9.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha256 = "4f4f4dfc6853cbc4de7caa92fccf55bfdf128b1c9294d1f8d54473723a188082";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/be/firefox-123.0b9.tar.bz2";
+      locale = "be";
+      arch = "linux-i686";
+      sha256 = "4a8f94dab3f4317be256a9b202a0059de09393131dfac14bd3c9672fbfd187d7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bg/firefox-123.0b9.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha256 = "a245fdd791d2ebd7bf32f182978c7ad451993de70a5c9e82b4d75c5301f5a00c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bn/firefox-123.0b9.tar.bz2";
+      locale = "bn";
+      arch = "linux-i686";
+      sha256 = "15f5541fa3532e98369b6754cc5196ba3b94f180f1651292bdca1d0e58cfe041";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/br/firefox-123.0b9.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha256 = "01767e0407d7416fb0a1ce8114e10da18893e03bed3773493d6146bebce8439d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/bs/firefox-123.0b9.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha256 = "56a7013307c7bb92f7b2b58621483ae2a4d1c703f21c382e35c3a4d3b0be3445";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ca-valencia/firefox-123.0b9.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha256 = "d6f72828573337de0048a7bb27edfcfee2b2c24af0ad828b250a2014a5d0d16c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ca/firefox-123.0b9.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha256 = "6f496b9fd37151cb33e313fe910b35fc3548f6dbb58b663ed43094c2f46e4ab0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cak/firefox-123.0b9.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha256 = "f10e8923587fced7c5eb50b47da372039af7b98bef57b5bd904e00e321c4a8fc";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cs/firefox-123.0b9.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha256 = "b60ecd19158cdaf486c648c0df57064a7fdb293c99b39a1cbbdeb67b51e51942";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/cy/firefox-123.0b9.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha256 = "6e158fba363bf2ee757be59b8e42e49bd56c7967765cd552138e162de9b30173";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/da/firefox-123.0b9.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha256 = "848c6a2e972cf3375cbcfb1a7c1d47764e050b29d4dfa05c4cc9ef57e2a5aca2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/de/firefox-123.0b9.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha256 = "3f8b0ee49170ac754a74d6090f9ca1bae858ba8069c30bd9d99854a749033b03";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/dsb/firefox-123.0b9.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha256 = "75c46c7420f3f9de7d7a522dffd0019eb791e092ca252410e6289830da7a0fc9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/el/firefox-123.0b9.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha256 = "39d6d51f24710e964364130f06eb89bba9b6a0efcc1bf862f68c7b54595c5f28";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-CA/firefox-123.0b9.tar.bz2";
+      locale = "en-CA";
+      arch = "linux-i686";
+      sha256 = "b10311d4fc84724d91fe9bd2f3ebcac025c90ac8bc4809de965f2874312cca2c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-GB/firefox-123.0b9.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha256 = "45be86794e5e0cf782c32dce00bff43b9c1d89d5302f43d03ae51c26fd7b913b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/en-US/firefox-123.0b9.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha256 = "6c25b73f6d78a7154cd386656f1093a77b2c7be62bf2a30127473d510ddab00b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/eo/firefox-123.0b9.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha256 = "5aafa1ee1793ceddd7e9354607fa00c6c895c53729e6baafafd7ab6c3052d0fd";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-AR/firefox-123.0b9.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha256 = "b2e4ece1f06460d704df6fc1a74b3db56185cfadea8142f4a4f7416ea04e4108";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-CL/firefox-123.0b9.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha256 = "2832dae2d6ed9fad73e7891be3f25368c0d7c77722a570615c0c50d7c2190f20";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-ES/firefox-123.0b9.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha256 = "5203a071411aacbc5977c2d527f0442a03db4857dbb49b74fd0aac4ccdbb4bc3";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/es-MX/firefox-123.0b9.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha256 = "7be2064fca8828fe797d630bfa98ffb4a3e9392968e13f80484881e93419d4db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/et/firefox-123.0b9.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha256 = "bdf7c7faed05828548c9ddddd4769e004d5efabbff4d99fcff869e2cf9a5d78d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/eu/firefox-123.0b9.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha256 = "eeb1cdeb9be1671032e8e49973b30e8d7107b1ee546bc2622da1b2cac9a2d96c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fa/firefox-123.0b9.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha256 = "621e2a6e331428f5bd6f7fbf629b9a8847d18c5cdbaea039674176ddc8ddb230";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ff/firefox-123.0b9.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha256 = "b46eba6c387dcc6db00a8112b669d3131db54623fa34ebf7dd578a910ed5e962";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fi/firefox-123.0b9.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha256 = "999f38f9455b4cae8235c4c2c603082c3f2f2c91d4fae642648c21abd57bb812";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fr/firefox-123.0b9.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha256 = "e9c550198754a73e1e77c118dcf0721d4b2189b9c6d95a25c0c23ac67b9eb2a6";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fur/firefox-123.0b9.tar.bz2";
+      locale = "fur";
+      arch = "linux-i686";
+      sha256 = "9725c3a86ff48f57c192d74fc47809bb068198e674e5bbf29d6f96613804622b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/fy-NL/firefox-123.0b9.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha256 = "80d708621a4e582aa0346e6186cc72132e1f7339602695b9ccc56d7f7b66f898";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ga-IE/firefox-123.0b9.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha256 = "6861ae229bd89b194be861547d8b37ef211724184cb110f63f39465af3f71fa0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gd/firefox-123.0b9.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha256 = "43390f95044485b488af1b4dd648d777fac151a28e9f060225861a893f26b0b7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gl/firefox-123.0b9.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha256 = "e5f13c039545316bb38237a2e0badcaa3aaadeb5f3298a5525f346a48efd7a59";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gn/firefox-123.0b9.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha256 = "43603cf647819b22012f4bce67b1c2548c597a979d62ab1291b1654defe526fb";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/gu-IN/firefox-123.0b9.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha256 = "a1864886796967107fbff53bed131872c8daee83c5670cf0adbcbdc9708c7b9e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/he/firefox-123.0b9.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha256 = "b9d93f9a2a318c58ddb5a7553ed66522669fb8b990deffca2b9a910f29f3a3a0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hi-IN/firefox-123.0b9.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha256 = "864d372271465d592541266902d79fbb1597e8f551aa2d74c8e621edd0bc848d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hr/firefox-123.0b9.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha256 = "159344a6ee5f75450c24e77459a708d9a00644d0dae25839c050e680ebb309fd";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hsb/firefox-123.0b9.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha256 = "35438801c028e16e91499d5d6181c28f7381f9ea3b303d1fd093d671b2d72fa8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hu/firefox-123.0b9.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha256 = "14536367e6fccf1eb40707c099f61afd24ad725c6e632a68c6f3882a05a74d72";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/hy-AM/firefox-123.0b9.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha256 = "0dbf1390d37e3a3f1c02f704cb16bee1a5637ba6c0a9e8f2e701422a351f07fe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ia/firefox-123.0b9.tar.bz2";
+      locale = "ia";
+      arch = "linux-i686";
+      sha256 = "d98cdc377bdc432276ffd4765c9f28735a96c42615dfc972b0ba518d1ccaf475";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/id/firefox-123.0b9.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha256 = "7cdf79ce023b07ee0168dc355ffebe67b20b750a5c394d5d7fea359d1b0360db";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/is/firefox-123.0b9.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha256 = "29d5ed44417d2de01a3a57afd87822e957e10fc0fd8f2541723352e26576737d";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/it/firefox-123.0b9.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha256 = "a141fba436222a01b83715307d2df0d04e325e939ae9f30ab46f3bac47af1b53";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ja/firefox-123.0b9.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha256 = "5c5035b739bc69efe83401f457cabccae0dfb0ff8614374138937f0f01262ca0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ka/firefox-123.0b9.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha256 = "3733c734edbd6f819df7ce2043e68b1cdddbcbc861422dd973aa3f0e79e19398";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kab/firefox-123.0b9.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha256 = "d399a74c88bdef9109bde5402ad5cf636a88dc79c0f548c98155b8690defce7f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kk/firefox-123.0b9.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha256 = "559c3572225d355f066eab3fa773ac5ca92df6e950befbf20bc2e979e9def16f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/km/firefox-123.0b9.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha256 = "3b3596094c8146d4b661557d468cf3812a31cdd26cc1463cb4e727b4060c65a9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/kn/firefox-123.0b9.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha256 = "b4fb29401f943367acf87a528ee447802b6fd65c2e98067a71691d6a257a3e68";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ko/firefox-123.0b9.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha256 = "f31ae59ccec46036b2e6699491ffee5efb9d563614a4686faa6c23a437e4a193";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lij/firefox-123.0b9.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha256 = "a499dad5db3023d4547e44e7bdf8631a11fade8cccbc140c57fe0399b976d247";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lt/firefox-123.0b9.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha256 = "d395907a24ae9401eda5e89e44eb143930a4ddd7f131029fb64c65fc3b782c75";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/lv/firefox-123.0b9.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha256 = "7f5c5fc4cd1b5d5f5b1ce20a5b4830084044594d5a2cda5809467b25e318c6b4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/mk/firefox-123.0b9.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha256 = "cb2289e5ff3d65b86b60a6cc31e441ed4a59a28b9dbf4a17f96c7751f739e7ae";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/mr/firefox-123.0b9.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha256 = "15f8376b39bc3cef502cd7ba63c44686d9eeff13a60ccde81915d86f8aa96842";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ms/firefox-123.0b9.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha256 = "a8db595f7d8684ce59ac1188a4d54f12e40d267ed64443306a08305eb00b6d66";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/my/firefox-123.0b9.tar.bz2";
+      locale = "my";
+      arch = "linux-i686";
+      sha256 = "6253df53d97bd0890d0d30b9b626bd9132aad600b7cc5f6fa7dd41b73c56dc92";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nb-NO/firefox-123.0b9.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha256 = "c624fc4d2d7c71fa360c107fce1492171791951051a282407563f2ee7baa894f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ne-NP/firefox-123.0b9.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-i686";
+      sha256 = "3821c7294cf880d6908eee8aaa7041eebc5b5451f206dbc8335f1ddfee0569c0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nl/firefox-123.0b9.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha256 = "9edb7e9fda311c1cd2ad27ed90a1d7afd17dce9bb50cfff0d0b849ac5f61fb4a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/nn-NO/firefox-123.0b9.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha256 = "3e299af60c6a2445dc7b2455bf472366edc038942e08f98a77909a62bf370df5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/oc/firefox-123.0b9.tar.bz2";
+      locale = "oc";
+      arch = "linux-i686";
+      sha256 = "689680bde0000192dfd7ee9eb05b445ae4a01b5910ab97e155de359afb50d11b";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pa-IN/firefox-123.0b9.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha256 = "50b0a472403ecfc93c08857d48b94a9037be91d01f6e36e89520c0d3da671329";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pl/firefox-123.0b9.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha256 = "e79749dd60a0e0fe2887ca0078f21308cfa85fec649107e6488959068c6472b5";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pt-BR/firefox-123.0b9.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha256 = "d852b69c0468ddc10884d9ec147a5f90ad73ffbe54b94fa7207d82c9db95e8d1";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/pt-PT/firefox-123.0b9.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha256 = "206de8f529a10a91d46f809291928f22f8cb62b20f09b530af018f5048a3398e";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/rm/firefox-123.0b9.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha256 = "3e3b056fb6a27d45846bdf4ba4eb96443b2cf6c3cc20aa73b3c8fdf4a3a3240f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ro/firefox-123.0b9.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha256 = "a2e6c29e9bc97898a4c9c2e8aa2ec5f5305095bbcfd814c919437028e7082805";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ru/firefox-123.0b9.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha256 = "17db05c3fa9d7fc1ffc70632f0b30421af231a04db4f19ef0dccd7b89ca15710";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sat/firefox-123.0b9.tar.bz2";
+      locale = "sat";
+      arch = "linux-i686";
+      sha256 = "c2535de224f7c9261dda2ead53742d5117bd6d5ab069dfb659edd2b86fcdd336";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sc/firefox-123.0b9.tar.bz2";
+      locale = "sc";
+      arch = "linux-i686";
+      sha256 = "2eba84b27c6acc4c8767f96656ea341ce210ad51b7ef069fd4693ee9f009618f";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sco/firefox-123.0b9.tar.bz2";
+      locale = "sco";
+      arch = "linux-i686";
+      sha256 = "9c7c477c45438bf8841aa5b0801d11cdf574ee8369b865c95121a1b63fb7d268";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/si/firefox-123.0b9.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha256 = "ae6b6dbba8135d2d5676271e37e01c139c02cfe7c8bd7eb55e952939223b7fda";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sk/firefox-123.0b9.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha256 = "c92005529dbb54b1598f412058febd27358a20cb1d3d46f250eca6af800b5be4";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sl/firefox-123.0b9.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha256 = "6a76bcd6c51f6a599cccafda51e08c6ecc866b24f62994c6d961f7a9a6663afe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/son/firefox-123.0b9.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha256 = "e906c6797eab19b1df53a463a6498ddec5879c8eb39efa2bc1269e83ce3ca3cf";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sq/firefox-123.0b9.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha256 = "56f2847d3e3621fbff9da5c39f7189111e98588071cba30e5795a5084c73aa3a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sr/firefox-123.0b9.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha256 = "daed8402ef089177c7aa739220a2c45c2b8f1849f19bb73e1a924327b5d68898";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/sv-SE/firefox-123.0b9.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha256 = "741aa4c673fb743481c896873fb1614ea58386e8ddc9f52641bcee04ddd6fcb8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/szl/firefox-123.0b9.tar.bz2";
+      locale = "szl";
+      arch = "linux-i686";
+      sha256 = "4e86d7a26230ed3fc30f949468f600f3e2b0e1b59e860babe8bef9eae14d05a0";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ta/firefox-123.0b9.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha256 = "8b9867d32991813d1eced67bf218428e013d68513cf881e774708a0bd141c9c2";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/te/firefox-123.0b9.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha256 = "7350b9e762ce041cbad68d3e9d012e4a37e370d3eaf2ab2dee0a557464cda199";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tg/firefox-123.0b9.tar.bz2";
+      locale = "tg";
+      arch = "linux-i686";
+      sha256 = "2804dc0ae94e28757c67a3acf139eb2f55a857ee9f5f106e8b1ba0683c432a99";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/th/firefox-123.0b9.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha256 = "e43f2fcf8a868263d261385e8c9b77589f214f79bb73666f99033d7f3b5e9ee9";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tl/firefox-123.0b9.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha256 = "a69051c98978162f86c3e98853fa8b93d0467feb33367d70581edd6ac1c593e7";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/tr/firefox-123.0b9.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha256 = "3f1bb142b426efe2ecbd01afd64dbcc37e7309726713254e0c05cb040af1b409";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/trs/firefox-123.0b9.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha256 = "31bb39d12ade69d19b100161f65e33bc5df673367bb1c2b964a9bc061a7c18d8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/uk/firefox-123.0b9.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha256 = "b9c6b5931a5c0fdf1bf64b9f13c4f952215984915d6d5955e2b4b4d2b323fcbe";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/ur/firefox-123.0b9.tar.bz2";
+      locale = "ur";
+      arch = "linux-i686";
+      sha256 = "60724aa523d0fbcfaf1a9d33c6d972c93b1c0a770b225d1218fb08878b945970";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/uz/firefox-123.0b9.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha256 = "7a927c6a5c94c92934ee89105d657bf60363a41fd38d78471155e5b0d8d135a8";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/vi/firefox-123.0b9.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha256 = "86e5b0c7fa84265c5d2aff9a6a320cc50d0ced072c4d5d0255df9d83ec110fdf";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/xh/firefox-123.0b9.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha256 = "7ac828f9e5848962534f3c084c58ee81f4b77d51a62b1d6101074cb0f1bb3f8c";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/zh-CN/firefox-123.0b9.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha256 = "a52d18b69e11343cd7cd4b669541b022a60665fae420d1ce87d5b43ea0ecf27a";
+    }
+    { url = "https://archive.mozilla.org/pub/devedition/releases/123.0b9/linux-i686/zh-TW/firefox-123.0b9.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha256 = "badf91e9a7dfe5147849676f96f737177c0763611f1dcbad8edcc8ad5e33838e";
+    }
+    ];
+}
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 2b1b4948ae3e..e28a25b86c26 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "122.0.1";
+  version = "123.0";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ach/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ach/firefox-123.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "87d2fb3c8ab5b05dbaafabadde9e56abecb3897d331186cdaf6fb1fe27cb362b";
+      sha256 = "77690237d2a6050cc3ecd4886ee55034e481354d36946ec89b6ff0762c2c5270";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/af/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/af/firefox-123.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "8f478df085d0312e7fecf76057b3e006c3c1297bcb620957edac97084bc87466";
+      sha256 = "28612fb2d6bd49dcb85fe6738a8a576d25c189ce024d927011e387571b43d732";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/an/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/an/firefox-123.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "310341a1d14cc978d855e30abac4af29538e70afc90f9f50510597de6864b570";
+      sha256 = "ab47c849f70dd52ce7fcc319f5769b9afe8144040f7422f7287d3602afae847d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ar/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ar/firefox-123.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "054475b5c77c452062d89c37617fc0f6cffdf8786ee149bebabb55a2348348f0";
+      sha256 = "0e474420f3df5c718838c07cad174ef3191411067cfee5f437867998bc581ead";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ast/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ast/firefox-123.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "c8a6ba8934b1b9161c68749d6585ebdb3c561fe8c0e5c3abb91862c963e4319e";
+      sha256 = "b4aca6f686fe49aade22efa36afc78d7dd0b0aad7c09c56d9fce92ae011588fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/az/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/az/firefox-123.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "9bbd6a72a86910c51b99b82521bd3af8b045b470079349f6491369aed2c2c6c5";
+      sha256 = "09572fda80350c162dc8f6e70435cf4e6bf1bb5161757dca6dc2d19b499fb796";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/be/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/be/firefox-123.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "3a1fb23201159ac602c7441b9003a128c1c42f82564285739ddffe911cfaebf5";
+      sha256 = "1d8f6a5f6077c39f681b9543f765ee8dc4f3d13ea9eaa2eec11a69bd27410a6a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bg/firefox-123.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "fe7a0de5955d5d8d7f07550a2285110f4efc4a8dcc42a3a4454d3f5e4b535b7f";
+      sha256 = "71f82368afcc01ffb712d671ae25c93541fa4edd996640a0a096ef268718efb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bn/firefox-123.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "6c9710e8addf0476ce6848136eb3ef4e95c65ac2e31c1f5894e427ed670a2bf1";
+      sha256 = "b1ede0a5dde692b1ad533c2ce58133e634f82d21d4056548238d0a66af410602";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/br/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/br/firefox-123.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "b5527d9fde97249e45d1a8b3803c1afbb7afd233ded8a2782c0784176c964411";
+      sha256 = "e746842328f1b6e7b1a83d2d2438dd13fd2862a9c28070903eb7f19a90816a24";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/bs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/bs/firefox-123.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "9120cfe7387e4d9e7326aa8528c412195c5dc71eb28f38547d06b50ae3b3ea72";
+      sha256 = "9e153086f4a5ac8221f57293543395b2f725a1734b8f91281b0262900579f3f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ca-valencia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ca-valencia/firefox-123.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "ad08b8988eed1f8e863f38489425a3c22baf5592d30a9a3aef483e5e79cbeb6e";
+      sha256 = "76526bae8aa35f74af801fa8958a6c7a496411bed119462f04de484b6f8bcb89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ca/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ca/firefox-123.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b3e83eec3ee87adbce9d71454fc5d724b978d2be8547e4290586583f792fe943";
+      sha256 = "7e651a5e0d18f3772795f93d7c24559a359eb8a541ecb665f9ec74160109ecd2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cak/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cak/firefox-123.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e533367b100edec15744200bab031d4ea209950022cbead53182b5848ecc962f";
+      sha256 = "6f030b32bdee05b653bcb877a0e236cb28ec0d25db0188cafdac8da7ca8b50a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cs/firefox-123.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "9170ab278d48571e17ac97d26f4b92cee13d6a7bebe96dd2f2b41934bba6d6a2";
+      sha256 = "946c4eba95b2d013984b4014094551e55facf2eb15193cbd83b946712ef87883";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/cy/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/cy/firefox-123.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "a17f5c48be514e815a4f590f23dac58719dfaaa4cfd422406bfe349ee77cb105";
+      sha256 = "dd8c850d60fec75c66e53eaf23cd341caecd34dadce3c1d2e842780444c51669";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/da/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/da/firefox-123.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "bda93ef58e555bdd42bde9e06441109ec756964de5e28e64eda09f27de8af736";
+      sha256 = "cc444c35225c789dd672e1c95e16277c56e68e26a95a076f4c19ef0e9e1e7f29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/de/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/de/firefox-123.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9922a6f2773c57e20348f3fe7c3992a4f4940ecc7eb9b1dd3465a9ec91095083";
+      sha256 = "6f039544067b34ebea06a810496eb339b41708d4d334e0497cc78f06b58240a8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/dsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/dsb/firefox-123.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "f05a2d8fa31ae73d40e95171902fe231091043e23ebc6765a2e1817c2cee150b";
+      sha256 = "8e74c65fee96a2f94ce7d9a979d5bb731556eb59e9bf28aac2ebd5b77e28e623";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/el/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/el/firefox-123.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "d54bb7bfe7d0b4419429ac94dc3de14a302b44815d4e421a07850e97bce0544c";
+      sha256 = "4b829b5a8abe7bcc1f3ef5b7114fc449bf6af856e748dbeeff9cf3ada78be80c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-CA/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-CA/firefox-123.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "90bf34f39f1994d95620da4dc9ab7a9c158058f7fd4f8513b98faeac4e492270";
+      sha256 = "862c3ec0271805f2d1f161c03916ef26a2881f612834d0143ca81d6833bc2bff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-GB/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-GB/firefox-123.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "ba7e41efadd6c562a82007934d3bb8d7fb0e144e57c427973d02b2ded9df6a04";
+      sha256 = "04e04c8b79ffb71ed2dea4065686ae77122091a03a39ed410169e2e04b4a1369";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/en-US/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/en-US/firefox-123.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "1c502c15f71bb729e6506667c32de525849d6571f4a3a21e5b02fc08312b20e7";
+      sha256 = "99f86e24eacbaa429e5438bfc0b21e411ff1f8be95fda9800cbfb9c4ed0dc095";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/eo/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/eo/firefox-123.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "ab5afc9cff7bcac9e85dbf2b09f4b3ad53bdc89e979490d30b055eed21736cba";
+      sha256 = "f309857e8a4d501e65bd0a87445c328a11c57b94ca6d66ccbeb88fec5dc2a380";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-AR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-AR/firefox-123.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "7675c6a57e611488d0261eebd459e92964f89e82089935857b6988ba9a7c9cc3";
+      sha256 = "5fed56d99290a19f05498e05316dcd2254237d4bd5541ead3d9332ba01b623ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-CL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-CL/firefox-123.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "a05422ec2138dc17caa34df9b62e39034c3acd34ee80f9933a469a1729629900";
+      sha256 = "9d88c7e873eb015546cb408b1699350843348307a27d045c7e7ab3db31be6c63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-ES/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-ES/firefox-123.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "755c91a99272198b9eacfc6e3bbc25779cad7023de2c20f8c7668894f0402c00";
+      sha256 = "66a979e75f0f327044de1cd2e22b205ff52d8a7ec03ae1c86a03a0a4de9fff64";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/es-MX/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/es-MX/firefox-123.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "3c879c3a04dfc3af235963fb48f822383e3f35132c4d4aad7d498de12314a039";
+      sha256 = "2cf18e2d9f1a7e5b749b9c883a46a37c62244fb13296dfdaceec76d3d66b6361";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/et/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/et/firefox-123.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "2051ddebd23a9472bd00ddbd17284d1a54c5f4fed5aac551a8bb3a7c00219407";
+      sha256 = "e06221a02677b6c233932255202939ef1210bb78f1d5cc955b77dcf73c2b815c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/eu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/eu/firefox-123.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "741782b9c5148b7c75cad4af2bd09494dc13a27c314d2aa597121485b80f5b92";
+      sha256 = "186733233d4ce2d1fd91594de643ec6d90c29401fe3912ebae131456e768cfa8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fa/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fa/firefox-123.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "06da8e5ae2e43a1f288c6c9c600c6b4756e47cff9e8f7289c5fd3b7fa905f698";
+      sha256 = "f40df5cae1f5292a8bf220a4a8ed506c51b45bd2d0bfad2d23abcddc676a05eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ff/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ff/firefox-123.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "9590a1c0d162b261ff95f6d9091bf01596945b4ab805620ba142635490c592b7";
+      sha256 = "d1db403302df12becaebfb3ced39cd22010cddcb737bd356e7694ada3c1498ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fi/firefox-123.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "1c658c356e27da1258c6c0ab9fbc14b60e606079ad6efad5c1f98f900bb40689";
+      sha256 = "6e27e43bcedc9319f8395b76523d138c31cd4f3bf13d11f6e2175b83f95797ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fr/firefox-123.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "bfde4cb740bdd5db0e76a96bd6bf8fe51e2c0e27d01a617d3156231ad044f9f4";
+      sha256 = "81eecfb5a5fcd8c4e3d845de2a40d64b12af8c55cc1982508a3f695696217704";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fur/firefox-123.0.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "9d5e9438572e029e7686ad037a68bb9df6818e4277bcdf7c26b80658b7d48733";
+      sha256 = "06b571761ff3d1c8e444ff8bd4585011f9abf0a78a8e23f632c79e1bcd769eed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/fy-NL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/fy-NL/firefox-123.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "8c33e40731d948a80500562ef8734e8637c94a7e3f46960622cf5ac993ac7188";
+      sha256 = "06c1297da763e6619e6fd74d16ed33368692902868d44befa019904931ebde44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ga-IE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ga-IE/firefox-123.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "82423f4bea377e33145a3a3924313fda11bded9bf20f3ebca16e945bb0f0d295";
+      sha256 = "caa2f774926b4b544b9cba93864e04a1c6d53da0619c4599edd3def3021f0ad5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gd/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gd/firefox-123.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "ffcc242c45924a48506d5bc1946981068fd9f44919d85badeb8164dc827f9bef";
+      sha256 = "065b787c59a7ffa4370467aeed0d43d133530882e0b142f631119c000093ebba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gl/firefox-123.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "a52969ff57c55e3ff699830b057b28a4385f7445cdedac7d5a40676bc12b588e";
+      sha256 = "d67ff0cafae8f213810724c12614fd27f53c90f537bc2d45e8003413c20a3ee4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gn/firefox-123.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "f88bebb932b86954aa653acb0ad41b94eecf6f7e175248aa1d00ea2590bd35e9";
+      sha256 = "c41093e82346f6cf48b964fb6bad95388af26a391a566ba1b86809b4c792f8db";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/gu-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/gu-IN/firefox-123.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "f887c108bb15eef8eedc36e072fe722acdd40d679d9047a3baaa376233371f34";
+      sha256 = "2066acdee48e92b50de8f6957e473cedc47493c5dc8faea08b3ccfd370d6cf4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/he/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/he/firefox-123.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "420af3bd36a698d513d3505e06e8fcfc966281d25f92c22482e680e3ace16cb5";
+      sha256 = "6ee8fcbb528948f0ce5a4eaaab17b396f4339fc1f0092ed54bb9cd9ae8481d6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hi-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hi-IN/firefox-123.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "ef5fa866483a47a8f6653071d13e98a2bb2c0b393b91ba65bfb8cea63c4ad3b7";
+      sha256 = "cb68fc42008b86e5109e5cc6ca4591c8596f4800b8d37bf1c712f7265eaee2d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hr/firefox-123.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "e3a148bb810559956fc864d8676707e079698a8047d80faf8a49b709f7a82ca2";
+      sha256 = "c2e3972ab34fea61a0454448e92b47f5b37359036da701587e71086edf94c373";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hsb/firefox-123.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "efd884097d7f1691adf4c71f76fc2d583312e3f2a604701ba9c7f3849f7bbe95";
+      sha256 = "dd8e8375948464aeb5309291a8ee41afdf32efd9d2023d199e316fcfa4e8c9f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hu/firefox-123.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "14ae9e0897ee1845f170377b2cd38129a98e28ce41124b7889be4deb1311c61c";
+      sha256 = "8815e567c20fb5494d8e22090d5263e142c2b2ede710d6ce5ae1db8a68e67396";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/hy-AM/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/hy-AM/firefox-123.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "8256c6ad0ad1f3380aaabb83683b906f0cd2b0b058a2746a9a8d9cca095a1b04";
+      sha256 = "b95a492899cf2747a6a034dee619d72a79512e678ff4ed5f195b8d901379c7fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ia/firefox-123.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "8625909890df1bc6e8e88df8cc889ac6f05a548d96617a175bc9aeb97be85c30";
+      sha256 = "9833cd7a3b68e0c71c0b73f2b29c2b3563e5f1f6e99319f6d900a47c11cde0ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/id/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/id/firefox-123.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "5b137a307ce81c637e4b26bbde5abbdc1a6ac483bf6ec5c28473f4e9fac2d9af";
+      sha256 = "c49f8c99837faa03d569b8de7617c2f539fa150eff9ed4164a4b8cd76031534c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/is/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/is/firefox-123.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "b17e1f2e1386a25ddbc4c956b8cdf1452a1b26b963f97a422702388b4195558d";
+      sha256 = "f6233a16977fba31fcdb04e42637c0b448fcaa882ef9238008bc6ba444561d1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/it/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/it/firefox-123.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "40697742feddd0cae8592f9bd1dee30e24d4e41684e645d4ae890ad1743312f9";
+      sha256 = "2e1c98b38ff865c8459df69a11d59d720f16f7dea29d4df99232b8ed30518e33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ja/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ja/firefox-123.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6a04035aebed5649fb962aaea113db85c6284319ca18c741d4ce67576c452d13";
+      sha256 = "ca84e564d535b5c4acb5bd06b709e7beafe3a9530db82a492d5085598165eab7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ka/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ka/firefox-123.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "951ac43e83f1c3813efe6362cc30d3407b71e8849bdeca459f1d0f507fe24e0f";
+      sha256 = "6fd2ec6eaff21123c8709c27583afc338f821afe95017393159e61485dae3127";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kab/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kab/firefox-123.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "98eea4f28bcf2627a10a87f795048bc1aa78f3a285ae051ebafa0cd4d2bf5e90";
+      sha256 = "2c0a2f5d5db93f3e0528885aae97043f483d5aa7d883fd6cca256c51e832ed72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kk/firefox-123.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "706dc890046e95acb887bded8237eed722218935194e1c6a6a7676452cbc17ec";
+      sha256 = "ae247787e95e314942b0239da267ff4493e29fdb10ba467e70dbc6dc322f68bd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/km/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/km/firefox-123.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "b517a7f8bc031ddd1782e61377d1febafeafd2bc235ff1bb3893456ef9b686d6";
+      sha256 = "75752463383fcad2a1a9fe73eec0ea77726021c7ca6f77454d7e47d155ae60fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/kn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/kn/firefox-123.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "90f99fda8b1ba5f1bba3130c51f38666107be2f74a0235bd33f2a0064041cb0e";
+      sha256 = "f8f3d2b334bf98d75e00182eb9b9cf9bb9f2e9a91573265e9f4c628d914418de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ko/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ko/firefox-123.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "95b189b69477197bb7014cfc8299d35a07b253890e05a0241e74bf1428621fe1";
+      sha256 = "7f58939e7273169cd9f595fd2545f5a0a8c72462d9b3d7fcef67359cd4d6b784";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lij/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lij/firefox-123.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "17e3d23d36c1a8d69bd396255966c77dc0346a939e2bb4e07c30d9df94206fe1";
+      sha256 = "c406b342cdb97a6298ea7c642a4ee30a751057170c7d159ff3e601fa47cd33a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lt/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lt/firefox-123.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "e5b15d7476498388b2b083d5d4df6753b1793668ad5b03d5d180347ef2b6956e";
+      sha256 = "8a459fad3903cbb326ae68672cedc8642ad299b1a0d8a36542f3b5284b4c1a49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/lv/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/lv/firefox-123.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "781bc0a84e021a2967e96eb0b123b8697fe0085602b91155c0ab5f81b07e0ba7";
+      sha256 = "8856e177e8dd811b7167fb669c3bd46e26d00c38dcbf79d1b73791d094979a3d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/mk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/mk/firefox-123.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "cc6e48f58dfe64fcc3b3361ccc9013392c704053235d2521da0ef206762857e9";
+      sha256 = "7e502528691fb7a04abfb1b82a28cb17a9323959dba931fb9d861a89128aeb72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/mr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/mr/firefox-123.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "cab1fc74b0f325afec17acb7b49ca5a3166b65686fe15ad14adfe868aa6cc010";
+      sha256 = "e2c3ca9ca1fd53db22c22efd5fdf4b2aabe7aa1633315de3bdd6aa04d8a6d621";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ms/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ms/firefox-123.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "0d3a46f193032b2c3633a9bf4e228a4cc6ba66536d849b4c299b63f42b9c0435";
+      sha256 = "bc75b3c7a67ab5a08e179319a1f59e79f771b1e146ffb3b0a1f24512a962b73e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/my/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/my/firefox-123.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "e429d77852544239e9055c128a44097ca47aed391f202549d0d6b01251b4f1a7";
+      sha256 = "def15827046c9f535ab20766d89a290bca22e52c125e4feda52f9bf1af0c6dd3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nb-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nb-NO/firefox-123.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "177744ba68ab213e286267b9a86a47de75c18fc77f779e8e7989239768e35d5f";
+      sha256 = "c6a428d86e13e6961bb1ebf5f97b9fa70445b97f4c40dbc7a0c414ea26aba4b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ne-NP/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ne-NP/firefox-123.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "59e4d7905ee970afa8b3cbdab92d3dbb696af8d50d388efe6fda24ba704f2aa6";
+      sha256 = "48fe82570a9f1e1c039dac153b5c420e3a4639ccbed3dde6ac5f1679b6d5f863";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nl/firefox-123.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "a7b143950ce826873f9ac2a16ecb40da4e4fa4f5fc4485375d473567dc46a8ff";
+      sha256 = "b238a50cf67708b1a8edb0914b83e265ef167be525fcd8d66a79d1b3d82c8fe0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/nn-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/nn-NO/firefox-123.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "bae2a2d29404b2e8b774036118b581255246048dc2db3d1d5c1df0a4d357d46b";
+      sha256 = "af04457fcb89a59e8f830dab026608d2b868a8ae84c879751ce197c59cf27041";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/oc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/oc/firefox-123.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "fb0cdc063b703e83dade0de48d9755e80c441f52b251918be87679ed26c35e50";
+      sha256 = "44128299782ba02cc78de92094e2711b03c6ac78ef6b171c896178c67c7af895";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pa-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pa-IN/firefox-123.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "40d614dd180de1bdcded224461552841211460c58199c6b727bfdebe4c5110e2";
+      sha256 = "451bb49eb1aa7f1a0fa2a022293c44c8f9c364b89c35efe935cccebfcf1af47a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pl/firefox-123.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "6074705678ebee6b0d6e39bdf7db4cf1de4ee95b04219cda1360f45b78bd8245";
+      sha256 = "884e210f3fea3a0c87af84e8e0a25e6fa693b0cb71a28db23bf8d1667d498db2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pt-BR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pt-BR/firefox-123.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "06f6e69bb03cd841e671744b055fe68b60aa6d175d4f6d9305f800c1a4adedea";
+      sha256 = "2d56adf4e91f5bc5022b7522a845055d7c8fcac63bb412886361e7c93d699759";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/pt-PT/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/pt-PT/firefox-123.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f8422d0279fc3aa964260b1640779bf9779440122d0d218ef561ff6aad5a1b99";
+      sha256 = "17ca950bf39ee9001a6176713aeb26e98f48b17124f1b5dbd2bdf19f05b7bd9d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/rm/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/rm/firefox-123.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cabc9c53234221702d14185197facabc5e0985cd1792f3e7f70ddd4390d32640";
+      sha256 = "14acfd73c1d7846401201f21150ca9d3fca1b7dad66004fb884b55829ad1da7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ro/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ro/firefox-123.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "37007221fed3907845ba83d61ca2cc80aad46abef89f239e79a408f723539219";
+      sha256 = "9f3daea8cef1b30b69cc198285897b04e867e28bcc587755040161a7b7407f14";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ru/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ru/firefox-123.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "d3a20fc678dd39c645a2243bc381e28172a7724d521ed469f61f46dfca251dfb";
+      sha256 = "372616e8c58417d2c90a86a75bc32d73a4b323e441a59b80f7c2177474787216";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sat/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sat/firefox-123.0.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "d2e862396f4d639cddf24cb7ce095e8250524707c8fe0101442fed8012c6b3ef";
+      sha256 = "bc23484856827252ecf44026ac7a05d185596f68968ca0bff86ac2b9b7321015";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sc/firefox-123.0.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e738bcd151599587a191e91f69a19eeb93b54a9d2c286cb26a036096dedee314";
+      sha256 = "cd55fc366fc0827a6ad2c054f69ed8c5ab0fa96a2554fd4c2ec10fa7aa484971";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sco/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sco/firefox-123.0.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "13dedb8a3bd4f3b3829a89631eb89050bc8bf8900eac255a3b1bf5262f5b0315";
+      sha256 = "17bad03c9a5d3587566384b8c471561dcba2ceb748ca48ddd5115dabe77ea402";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/si/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/si/firefox-123.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "fb8aea5f87e783a5b2093e47d161941dad0e3361d11cb38fe58fb9ada8bed817";
+      sha256 = "1ec2f95d6ab9adfbc2db5355ca8e2db66c28f3a87d14c723f41c4efaefb30535";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sk/firefox-123.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6b8e48667c8dfe2f6653cb1f01f70be5a03dea65093328a4853f3d394bd4e9cc";
+      sha256 = "c97a0c034e925ef8f8619dd62a6ea6634531586a519a0850c4a720936690d6b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sl/firefox-123.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "8ba5e3b60c7ebaf67152159bf70a3994665e558116ab53b14726d34e6de4293e";
+      sha256 = "5352fb8eddd14ba4f944b6f800b470fd83a80a678d43120d90ae66b1c54c7ec9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/son/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/son/firefox-123.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "4f3cd3cd5bcf33a56b30ff4e13fe15f430efd388b07cab3e00b2ffbece14723f";
+      sha256 = "a0853d1efeba0883a951d088aba122adf5bc317f27f2fa4494227b6840592ae9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sq/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sq/firefox-123.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "4527ebdf68a826e0466e70a4d950def970f95ee7643869d6af5637b4160304d7";
+      sha256 = "ec79d3e2b2d40f3c0fcc000498f5039d059467894501ad25b418ab2717fea9ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sr/firefox-123.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "7561bc0453c754ad669d23fec2514686ec00764370573a41ee0a6e15193a78bb";
+      sha256 = "9feedf5df618b7e79caaa0cfd2df4b6e241558dcb9300684c0bd2c9cc8fafef9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/sv-SE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/sv-SE/firefox-123.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "839238e8c0fcb271aa31b86a6b0f1263e27a7e772e30caae2b54b54efaa0eb6b";
+      sha256 = "efc647e2c29a35fa7b99c26360b90dc3d8905d02a356a2baf641490021bc1626";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/szl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/szl/firefox-123.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "40432314dd689be9dd7533f5bee389a737a2f4b3a652be9807ce69c65a565d5b";
+      sha256 = "fcb8ecfbfbf211ab65e599b4f3f4c20901d334fa72e80371f57e13e9ca9b72ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ta/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ta/firefox-123.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "178605125e37528925892974f166183426bb73372e55f733cf8684802b0ed734";
+      sha256 = "aa9e12e6b5d8db1ce7782e4bbdd9d0e32ebb67128f7f701c1144858aa00c0376";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/te/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/te/firefox-123.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "87be183215ec6cd002f2038bdabd58687fd5cb09a850969066ca8171ce8f8849";
+      sha256 = "d81fb0616ac881787852786f95df8a6c5f604baf0be27d8515ea783d12ad2ae9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tg/firefox-123.0.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "46884de41e3d92fbee26eaba661ec83dbf98774c06a7ff78d127beb191aabc91";
+      sha256 = "f954f98aba28e6dfaf9efaa291a2322ae92ca6c9893a0457ef8623c4d5721440";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/th/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/th/firefox-123.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "9bd390a57fad34758f803ee8adb84ec97904eecb78ff6564bed4edc7c8b8aab1";
+      sha256 = "41314682d5c0f84b63da0a28f324b4cd7eb917f07f6e020c002efde46822b16e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tl/firefox-123.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "b46eb8372d30931ee08603c093b563fbf7e461e27e008cbc9055b52a0f255a93";
+      sha256 = "1ccdd8e1aee130496431af2269724bf9591bc79189671e3087af4d8bc559b12e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/tr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/tr/firefox-123.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "576c4c8a916c7dc56d7c9d05c0c408e6744cbf3bd18a384b09070eff58cebae4";
+      sha256 = "364adba5d91f5acc590d24cea3bc5ba54ec67accbe8f2b5ceaa828b3a29b5d11";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/trs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/trs/firefox-123.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "2e2688d77c6618cd9af6a7ea7ad25d2e1889e58f048ea2cad3cb031bfccd67a4";
+      sha256 = "bb95f1fcba9280abcac3b1811796aa53483ecfd0f5f8cbf666879e1e22b425a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/uk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/uk/firefox-123.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "e68d443391893283076d55ec7eec4bc3e6294fef71a5e46d29937b6aa2cdfe63";
+      sha256 = "00b9e880d47718d74d3288a2327eed7992158c91ccf1f0be3a4856959b57fdef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/ur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/ur/firefox-123.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "18674f0245e0d5494ada3aac535b6514ef11791efc9cc1937c5244a96356f3bd";
+      sha256 = "a864cc84c290b94919c8a6293986581af2756dd1bc8f3f3f6de8798bfd156527";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/uz/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/uz/firefox-123.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "e8f62d7c923a41e2f56927a0a535684879bd0fcb32153b400696b655f40ed6da";
+      sha256 = "b5f447c79f24029608c14cc1506cc40566d67ded4d43ceaa61d6f7e29763bef7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/vi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/vi/firefox-123.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "bff26ad0736edb6acfef09fd9bc9e075b63f1a1f4372db8b40df958ba3ddac82";
+      sha256 = "f12ff5bc011ad9ae8be0cadadcb76dc4ab48419bd679c9ce411ee338bec13287";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/xh/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/xh/firefox-123.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "d926d0c95fdaa190c7eb50d0bbbcc4645f8313cd7327eb47880ad713293a27b8";
+      sha256 = "8ae2689564b3dae4162baeee13819ff6ee7b2c883020a9cfccc24813e7bcdaf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/zh-CN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/zh-CN/firefox-123.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "b8e8fc2ed7f12f6caecbecfc1f9ffdfe3d4c786885b3b2dbb9af3164bb878d99";
+      sha256 = "d535de12ddc701a332f889fecd8f31d55798f0cabe65bfb29840faeed97da42b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-x86_64/zh-TW/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-x86_64/zh-TW/firefox-123.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "27e798e5e16fb4cff152c5c0a87f0961a5fafc3a286d6a2c01903ca68b55299a";
+      sha256 = "f53791620ad0ae7297b6639915b8437624787c075e976a3ea2ef96cc38ff9f63";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ach/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ach/firefox-123.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "8c42826fc2d06a64f7f8119c9d627a8d7295ec31a61b4a4ce418da2d1c67e49f";
+      sha256 = "d9b0f69979efe0f33d49b16e8ed64065b8ec050c88e9a1ce96469d0e2c56c889";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/af/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/af/firefox-123.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "61108266d21b7b4d52214232738f228d2c3fce60eedeaea10e244614239b9d7c";
+      sha256 = "5c57ec8875f4e966b5b1538d4a0c7f6c6a2f70a1fef3a1fdbdeb3d246fd60442";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/an/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/an/firefox-123.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "c068faeab22065aec67ed8ac08ca71b9f3e64cb65cffe140e7763111c8c7a809";
+      sha256 = "54b49b0e9873739d3c864eb911a83834892a865ae3bb82bb1e05b8641ae7003b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ar/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ar/firefox-123.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "168b4e1b40626a2c17a7a45857d988cabbccb8e24a23601a6dc6f9f47a8a5e22";
+      sha256 = "418e94a33d742cda9cdbc128a79312f68729d04b69331a86db76a7b10e31d114";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ast/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ast/firefox-123.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "46c659a452700f3cb2170c6ee3387eec173f33d8f3fdecb407dbabca75c96eef";
+      sha256 = "15083b9597202be549379c900fec8427c40225d70d269cbeb4df7f3e5d023d3e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/az/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/az/firefox-123.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "26c2995c9d4445e9fa8b3cb677600bffee8de65195d51f7f8f9b53e3233ce4d0";
+      sha256 = "fbc30bf16d6d2c5dcdc4e8018affb54b00c80cbc10fc6f94526bc810f164b50c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/be/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/be/firefox-123.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "c69b550e4c535a70bf56b0cc6293d56258c287073b5363abbcd02c67ba89d35c";
+      sha256 = "dc5994fdf7289a6d7087d472ff7cea723b7f8c6f672e8ce4ac98050309ecc6dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bg/firefox-123.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "934f9ad4a956f8b123cb3df5611ddb9335e74793de149d68ec326e297b003553";
+      sha256 = "b8d258e01f9de51ce25f6973b0cd27ccfeb1e4fdf2420abe0517e6e60f9215df";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bn/firefox-123.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "f87a72cc2ad4f1252a68f9f36fe6ac1c0ac0e855d8f69ead51a44e7c9ae8dba6";
+      sha256 = "a21320e0189199bc30afbf5196985900b4a6d4840f0ab78c1dec2379d0ec386a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/br/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/br/firefox-123.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "b7a173f62afa300ac17f2cb4e37cbbdc96d8a57392b9ff2c4017122582a3de25";
+      sha256 = "4586a11253ab3ebe45e0e33489a3a4fc45f5a29cd4494a343f5afdc073666a78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/bs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/bs/firefox-123.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0419834292bb48d0b1512d3939d999937f9cdc5cc2c0c4417ec0e378c23fd9d0";
+      sha256 = "2905e6aa34a2106ff6b2081935fc199fd6e1a5fb85db073abaae3843963216d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ca-valencia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ca-valencia/firefox-123.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "733def892b1a1455a86ed16f9d6ffacb4d6f4db7b84abf6b480b689ec0db435f";
+      sha256 = "822c14ecdec113a1c8ba5197b7540588f194b42cc21100cfc4900f27f180ba2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ca/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ca/firefox-123.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "318795845f45d3fd17496fead10cdf283909d00b4235a663372967b6fa4b4775";
+      sha256 = "82bcffc9d8c604875b55a694e93dd31333187d8ab5f4a8902627edf196e61422";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cak/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cak/firefox-123.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ebb2d1044837615b2ff3ea53e68051abeb9cba027c046f26a3a728f94115df9c";
+      sha256 = "a31b79f9c0adf381c308274854d064c54cd8f8dfac7b5ff4831b8513408fe4b3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cs/firefox-123.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "9d26dda1a043c926501d9d6c33474de1615dd340c94e8c742d10602fda9cf0e8";
+      sha256 = "aede37d321ef4a520e3d160e8feee46014fdd1f52c9b77f9f2a743373db28a41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/cy/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/cy/firefox-123.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "5bd8d1d29d0545756ea6b11feb116f09daaa67b9087cafcf6ca1a0e71ad9504f";
+      sha256 = "4a282e25dd6b181403b5ef974c63ede86e21f5b5405d2c98ae17617fcda9b0c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/da/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/da/firefox-123.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "0f46031ddd3d88d7f2cd28377d0bd6b3acc8cb2b2d5cfb0726083bc45136f825";
+      sha256 = "d5a84a401381a0ff4ac179238ecc9c77d4de9fe5d5db636560c12976e56d3327";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/de/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/de/firefox-123.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "96fe952a4518d40b3e66fad2fe6d785f74e82f6cea30a36c9952a91f934cdda5";
+      sha256 = "e420af00a1328d5676f55b71f84d517f6273c933566006fda5a0b37add2cdd8c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/dsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/dsb/firefox-123.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "d2733aadd255232f06095af0b3c5821832648a038eddfe5442e78ec5ec13e898";
+      sha256 = "37cb330b48e3fc6939e252882d84da397c946c821258af5ceb1f8114926f1f3a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/el/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/el/firefox-123.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "81f92fcfc5326e8a3838c62d899a4b03c0af5608ef9b553af467dbd0fe46234a";
+      sha256 = "fcd5ea52d4e9052bd2b2416e1d0f5b21d56b916a14b06ee40852e240c2ebc850";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-CA/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-CA/firefox-123.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "c503f40b269ee94336987aefffd38ebb545f3e126d98e24be3f17a66b57d2dbd";
+      sha256 = "306296c8139c9030f4a0b463ba41689217bae4822dfdc630397680e9962d1c17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-GB/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-GB/firefox-123.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "f4d77eb0178cae7fb8c4f01a4442a172b3d69674e9fc12e2bb1afa9a95c13c5b";
+      sha256 = "a92e6d8434740163e4c96f31906faa36ef7338b016621a82fcb47d27fbb2a34e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/en-US/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/en-US/firefox-123.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "962bd73ee0f4769c6dc16c93d8ca55f76cff7868e59ada6041e351d3fdefc088";
+      sha256 = "21fb022928f0f7cabde7721162ccbda2bceaadb5f6d921ac807163988e7a1846";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/eo/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/eo/firefox-123.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "25365b28eb2ca306fdd84ed3770f31b1ce1a90a07f7ab5c4dcce259b50637bfa";
+      sha256 = "74e2a5e97852c56d6068753374462f4a7c8b85f4b3350dd64db732516b6a1b2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-AR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-AR/firefox-123.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "930be4e579d4a750c0652ef51c2a4e57afae57715ee124479a448ac1a5e0022e";
+      sha256 = "e1cbc415bee64c59e76f655d43d37997a33da53401a3964125084248c0a8fe95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-CL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-CL/firefox-123.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "421e2c9b51cc4290a42bc19914e76d85aa9f67eeefbce4898c3de5a5744e92e8";
+      sha256 = "e10b02f180f5fb7def189dd6ff0c4ca4951e8d9b71952df28719844fb3492559";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-ES/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-ES/firefox-123.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "e1d1456c80a1b05a698e7391c8d147e0d8b02693fd9d9f39ecd2c3df2a497804";
+      sha256 = "ddecb4855247c6bcd13799f13282abe1de3880ac7a2506d95511db543cb1662e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/es-MX/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/es-MX/firefox-123.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "97653e79fbc1420c423cd125f92f445c95c23a00c33f4753424d3812d6b9ff78";
+      sha256 = "dde99569d920f57b494c675173ca895bb92fa51f7fbb04a88bec33a4758bef59";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/et/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/et/firefox-123.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "c99a9d96f26fdbe598c5bd4c3e85dc91688d2e38568bc2464a3ba26456a56d84";
+      sha256 = "2970dac68708816df59efaa430dd4c4b150e3be1f4503468d978fbe412414092";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/eu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/eu/firefox-123.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "80fe7311c034ee2fb5a1c5b13687945ddddbe6516b7ed55a3bc1b79c43555faf";
+      sha256 = "b5725e2edc644854b8982552eff271561f01c5e2f147b3aa8339cd603f7f9331";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fa/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fa/firefox-123.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4823668ef67f88cafcc63f85ae8e9bf4438ad6ed9ab78c229cb6d69b2e64592d";
+      sha256 = "2dd05247965d0f1ec19fd80ea951c2df4089ec5f165bb25f3b534ca019fdb2c9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ff/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ff/firefox-123.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "3ce1d6d0d778c1b54238cfe49ce840696b434def6bfc4fe8c9c2ccf40ed9a871";
+      sha256 = "ee088b83d19c71fc88accdf7bb381ac985132c64ad6f762d240dc7bdd6d7a910";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fi/firefox-123.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "adbfe2b24b91c9eb995e6c313b14924912d8ea4bd61ff9703f1a1647f3ecb228";
+      sha256 = "ad2f1dd5c4dea8be65ee13cc25d300a7f062cb7a4cd0d9e63eb5be69788e82f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fr/firefox-123.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "9bdec1fab6941c94b1886ab24698328fd860d87fde22dc406b51cc974a5d9984";
+      sha256 = "adc060686a523f3941d7c6202cb0ec70e7542044ba1c03b21f53d40ed213ace3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fur/firefox-123.0.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "108ee2a6feef00db395d1d600f110c9cc37991bac9438b9e97d5f4ffa18b45a1";
+      sha256 = "53ab666f2a8436810de228203610a5a0839a846db4dabed64e644244cfffbd40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/fy-NL/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/fy-NL/firefox-123.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "ebc3f4fda7d7988b627762503dca60a58612b5ed8bffec49d993f19a3bb63961";
+      sha256 = "f9d3dbd232e8814f6046b9fad128ad5c35f360c16d4150752058c22e4be728a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ga-IE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ga-IE/firefox-123.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "dbe96f67558387dfb3c3ec5077838c71b9bb67e10b81db0be618159da08bf7e6";
+      sha256 = "ea1e61dc866cdc2e9975dabe62d5a2fd62db43e9d6b71d29dc129d76c2531a2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gd/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gd/firefox-123.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "99117b23101e08d0c5211164f7037ea9f86abbbfcd86a39771a8a96e3d513b36";
+      sha256 = "c8ae1504d924acfbb9d6a4d1593346506e024985acbe9862f7f1c5ffb47a92ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gl/firefox-123.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "a87f29ceedb296ee6ddcd7ae12a2d76ec0a8ac84e1053ca5574a19d3c89dc3b0";
+      sha256 = "c03ccb715416c37bfa339732d93f7cb78d97e30308774e97b011e4f2e00172b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gn/firefox-123.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6a9c258ef059b08a4efdedbb563bf7ce5eb2012f7555e9396646895b0dd49455";
+      sha256 = "ddfee5aaef9a23a0e651423b6e2871246d30c27e728469fb7cbe4cab3af89822";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/gu-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/gu-IN/firefox-123.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "4f1c540295696288e48c60e09127149040f0855ef18fdce807147295fb10edb1";
+      sha256 = "7ac034123a46a9406eb5d8bdaeb0f77220b761c9a6b3d53dacd5851dca748143";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/he/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/he/firefox-123.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "e579f5746ac7c33aac50ed1c16b414c3c6689ad6b7a9168978d01a619db6a64d";
+      sha256 = "e26b370448acce614e8b1334eea330076e7a576b36b312831fd7ee9a718b6f61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hi-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hi-IN/firefox-123.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "51f89a45ecab2d9d84770bca4b6984ebeaf3149021ba048ef8344aae73d1d00a";
+      sha256 = "edbbad89cba749501e644abeb4079bc47c8050147411d3bcc976c3ac1d31ecc3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hr/firefox-123.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "e21df40e75be3838c9745187c96614cb5ceb1607a7e70c3260b8bbf90c361655";
+      sha256 = "059de94836be5e9442c855818609878264bbc19b7ad5e5dc1f3e8a78450d9ec2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hsb/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hsb/firefox-123.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "443d403f438967426e342dc02291070208e3263e5f1e7df20e1a8fe27e367c3e";
+      sha256 = "c7f2a498c478e700f5c78e5ddde95a3466c53f07223f6edbd8e913dd254fdcfe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hu/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hu/firefox-123.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "81a2efeef635fe56424bce4fe384dd478b6f661898632f6f7516a1e438897100";
+      sha256 = "7119d51288b35825d102841c1cb0c0e676e34cacba147be9abfeedab51bda3fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/hy-AM/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/hy-AM/firefox-123.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e453ccbe2bc84c5ffa62e2e1770d74ccafb68fe6a19deeed128c76aa38b5bb76";
+      sha256 = "87c8db667df3cc15be8c7950395284efdc3be1c38a469059e77285ed4aecba32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ia/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ia/firefox-123.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "4ba5033f0a92a53e32a8a6bfabf53c77630f6189ee3500a059b271621168a3df";
+      sha256 = "7aba56886b0bdec257b3b877be6af48f449612c8e2a623c87540cf62c3a2cb45";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/id/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/id/firefox-123.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "f910310581790dbe915283efec2fbb369f7c352c4a29ccd0026d71b7db915e21";
+      sha256 = "8d0953e1dfe017b060333888635968946f8cafb0bec4c1d2e4acb78ab79a9b57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/is/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/is/firefox-123.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "da3bf47c84a32260e6e50c1b23d0013904343a87340eaa7748ffac07433a0472";
+      sha256 = "36a9f53f6c994b6376adb126d4434ef995fa9f3595a29068a379664f21f54656";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/it/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/it/firefox-123.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "73b02550cd2e4df3e959b81dc0a37ab7ed8a4899717380a9d2a9685bd87393af";
+      sha256 = "62c08f6248cf08b587fc3393fa5794bb1dc7d84606dfdb14c8362ea8442109d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ja/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ja/firefox-123.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "bd3074689b47b6f175279ee747e07f875ab6dfc9697921b36cf619c2b81bd65e";
+      sha256 = "140b1a66204d25f2a3e30405e1f9a4aae1b50f19d7bad4c717919340c43d422d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ka/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ka/firefox-123.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "bbcfd4ba5fd38e517e895dd781dc647dcaf44d45b87fc6fd70a382127bbfe95f";
+      sha256 = "be6d75006de544a0d56ae5f39b156073ae75971e3423c27657bc4ca00c20fdb7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kab/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kab/firefox-123.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "93a251b0c97c38612791548085e76678def6ebdca4f36273839613b646c48304";
+      sha256 = "0f7c11140dd576f879122a06b8381efecf31b4400857aa5df724011703d72145";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kk/firefox-123.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "d4e12d3c61e169e1ca6f69c43d3f8a00e9043062194ba8a5550ff77ab2ee32b3";
+      sha256 = "4dbe464caa982f21dc53791265e8163e7ede519922b0cec9b8c11bc1f5addb89";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/km/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/km/firefox-123.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "e2faec4305bdeddb9b9062968d02aab6a5e1d2ac862fb2169ef242d2a8c90e8b";
+      sha256 = "d60612f02a7c7a6732278f389ecc0c386fdd5b0c599082c37ba85fb9be12717e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/kn/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/kn/firefox-123.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "7f1b1786fa92b2181e90c9512013d36adff640e6a6bd75a8108d8cf2152b7019";
+      sha256 = "8963cdfcf17e372dd29fac2858a977d9c8642272c842a4593de33c34f9b45ca9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ko/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ko/firefox-123.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "4ab5d6a270d1cc146e5452d4b82cd9f7f817879d78e29884091001c953b343bd";
+      sha256 = "963a805660a1326d1e67d588d5915ee618625e31e0a9b1fd19a48a01eef0fb44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lij/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lij/firefox-123.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "a22deb4303a74ed45dd9f46c19543852aa87a4091910350b3e97645f651eb7e3";
+      sha256 = "216ce3887b26eafc57a337aa045338528bad2c738217cafe2e771133cad2e502";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lt/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lt/firefox-123.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "944e1d73a6a1e97fb76c2b2b4e16d9af3a4f6e0d7d73bc57a092cee36f334dc4";
+      sha256 = "ee328b25e123b0e101a11f65e296809811417a652ed2006121fb32d005108e61";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/lv/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/lv/firefox-123.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d197fcdf8158132f3c3f7decd6fc94bd908ab98b78750431ffc569ba9509406a";
+      sha256 = "acce55ed4deb7f21ecb0d7d3500beba76095c092a87762b090eb0a8981df0cf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/mk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/mk/firefox-123.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "bf39f56a838ad8aff227c74c14aba89bddae5e31954458d1e721105e6bb8a36a";
+      sha256 = "dea7b2f795f0b4475dc59ed5d3dd63594df0ba3acc8763befe0bc95d50681440";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/mr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/mr/firefox-123.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "2b76724ff6a72eb1446d29aa5da5c2c3ded2d268b268ce1343ab97f2678a603a";
+      sha256 = "4ea6cb1680f63f83d3df7a92141eb4d74960bacbd60af4dbee4ce38d2a2dee4f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ms/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ms/firefox-123.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "55779e68b20c726a3979551a359fb3a8625c1366e0707d060fb39a78bfb1cb0f";
+      sha256 = "783fd930af351d7157e0474b535dcfe762f019e7e909d7fee30f0909485f4c83";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/my/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/my/firefox-123.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "19c5629516881675ebaa1bc22905616f5f7aa02105419fa38aa0fb31fef5ef44";
+      sha256 = "66ae8d7a5f0bbc4beafca1f64de54259de826ad0a86f7396a36d30b7eaa0bc10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nb-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nb-NO/firefox-123.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "de8eaed1e26851841b26a427c9fa1553edf3a0dc13a98a8f09ae658a0d1fbe67";
+      sha256 = "8a0543cbbaf16690224f86fb122a5b6af9ad3a14faea6d3bdd36923bc951a56f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ne-NP/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ne-NP/firefox-123.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "1c40693435f64d2d5465bfe7efebec3e93d44d060e17a15b3994feebb7b22092";
+      sha256 = "e1f69c1dfc0f471116e9ada03b84d25f01bb88537c44094ced72342ab6b38f69";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nl/firefox-123.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ba86d009f88c4101485b093b6de945c5b610c6b85bfc01f018a1c4b362962dc1";
+      sha256 = "78a577a9648ee182022b76a040a34daba1b9dcde06e4952cf1c391b36ea413eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/nn-NO/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/nn-NO/firefox-123.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "3678a4db0b45b17d259450b6604439b55350ff2893d9e248a9806c44b69d13ad";
+      sha256 = "b6da6694179a75bc8a318c4447323e0d0e06b527f8547a5e2a5007c8ac7cad10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/oc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/oc/firefox-123.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "defd7b804c3f9e1fe461db1fd64c34c0ff67b90782257bbece440c08172f87df";
+      sha256 = "948c33cc954a004e57935e30e7326611ab1e8ccd22ae113fddb815fc200d8b1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pa-IN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pa-IN/firefox-123.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "8f934f3cfd335cd46c9be9341d43bdfcb6faeff2bb6bcdb4b62b28a89f071163";
+      sha256 = "3321f42a229e4a43bd4682c996d8389ce9eee1b1e532042eec0cbddaa28f5266";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pl/firefox-123.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "23040ccf99acedb9c43e085d908abf90a9c2900889fa29aabc376e5ab5cf201e";
+      sha256 = "48aaf41b865f91cf7da845a7925a6174719c00b256e908ee4128f98653b5236a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pt-BR/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pt-BR/firefox-123.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "ee82f5af259ff705e2aac90aedc6625dec39858b7ac09091026ca3211b1a2774";
+      sha256 = "2101d2288dc70a0fcae1f569698b63ef8efd3823b5c73ada33635c183c81185f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/pt-PT/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/pt-PT/firefox-123.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "c98a69e2df896b6214dcfb1ede0bcc7ccd104937f621bc85c137d7b64f348e6b";
+      sha256 = "828b80057708afbf62f13ddd98b746e507313eb6bcbcea17632dc36ad79cdb1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/rm/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/rm/firefox-123.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "05f81db7c1781a5ba8453afd44adff343985e666b91f7a07a782b57680296534";
+      sha256 = "1444757dad4500106a9c5c172249c38205a87ec33f2460be77ff8ffed462f71a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ro/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ro/firefox-123.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "14609104e99ca7dab6f9b1fa839509e58f57a99c9ba9275e04a2d1e54769980d";
+      sha256 = "dbfe09e5375b846686f5802ced2207deee5333a18690bbf8b8dacebbc3685eae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ru/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ru/firefox-123.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "90b3c054d9759365ff51334d46006837ccaf74f1151f2963e3f093f307a5b5e8";
+      sha256 = "243a05136163fdaad3a2e909bc45ee5d323459f2370cc17e0350636d9f7c3697";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sat/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sat/firefox-123.0.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "5b53e9ceca6bec9e2ff07813d4d9a1733dd75bfbe7e80a688ccd761f86c615d0";
+      sha256 = "89ffc0d27680d1872e52ad36f965633e27d237b09ab888ac7aeeb2a537233322";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sc/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sc/firefox-123.0.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "9f4ef95620876739ad590f7f0c406eef650114f1ebfe77ef9c9ab3434711489a";
+      sha256 = "312fc2f17294d1e5e873454df30e605115717f9e6b05fc177964a8fa3d7090eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sco/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sco/firefox-123.0.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "d8503bc0fdc4eb7a0468f58d065f42c304b4badd032bd6d20d539924a4d89e59";
+      sha256 = "0f59c86a2ec3734af979edc53db2efa45aa11e22c00ee17a9599f98f7d6bb35b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/si/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/si/firefox-123.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "9988e5f7d55c2c5b08207c4bf94809a53387f05835e0e54e4e26965823809338";
+      sha256 = "4fa2acc0ab72faaeb7bfea6d21cccb15f21361229d796aedfcdc302ff3df7bea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sk/firefox-123.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0adc99fb2eba6946e95df1e9321f2b72799a473250f8b00def8c949f0488f61c";
+      sha256 = "a4bd6f94ee2f98423bc6e088d0e0140481ccc091c486b714ecd00d68acb3f663";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sl/firefox-123.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2f123577501c774fe9a1b9d8c75aea79de4abd17d38bec872bf9d8888c28af59";
+      sha256 = "1d1776b293bd280e925364ffd02368a72a2d4a6e8f5b872de7de2b9b12ab6b98";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/son/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/son/firefox-123.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "7cf067d05270b6578b2ee18e397310714b16af4b8575449c25386a4b283d576a";
+      sha256 = "e79948880ffa2a58ce8774cf699ebe7d4666b0b8e3ec911adf664362913e96b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sq/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sq/firefox-123.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "a4410f567b1f0be814813475a008ed8351b81e281fd56c3600fee2e82f376d53";
+      sha256 = "ab9b9d1b1033dae7129ef4f4578876162584a1a45fcef699071cca22e6f77418";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sr/firefox-123.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "12bdd341c317fe2e8482b6252d11bb6aa9b1b5fb9d580cd3b29c0d390bfdb313";
+      sha256 = "07f7fd29bff98b95ed4ca96f245d0e0e9460262e48ee6ff6725154b9203a6a5b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/sv-SE/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/sv-SE/firefox-123.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "401bd2e9b6c111c073b47d211ff675875bd81702d69348ea984ce1d73c488ed1";
+      sha256 = "77a5baaf75299b0bd2d43766659a25281e4aa2d99dd54a6fdc37e2014c2417d5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/szl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/szl/firefox-123.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "8b5bdbe0da8d313467c593214619f82519628dd5437b26a75512d445cba9d487";
+      sha256 = "62885ad6b49aa4e004f4fd742a418f60061ed127ff976380b1e65e73bb475031";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ta/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ta/firefox-123.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "28353ecdd5bcab284e72d75cb1f941fb544647a8b9d7414adb7340a069c974ce";
+      sha256 = "da86bb6f88abf58d2ce8989259d23afc7d8439cb6bf7332724d6ab1657c4a49f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/te/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/te/firefox-123.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "ee22377e923bd420f7ecf7be062f05b4148c8b0cee1d32653ae7e1dc351b1693";
+      sha256 = "486b4ec9adb5c6c0f66b835e67f03df8a945cf7cccb662262511d0f39215878b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tg/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tg/firefox-123.0.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "737dcddc4af3038ea8e5efb410b7207d51338e074012416a5059019604bbb433";
+      sha256 = "659c97cba8500c25c463add4879dc775b59cffea3307d4c29ad2cfeb06b32a02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/th/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/th/firefox-123.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "3a9e64df862df2856372473d958748a1769eddb113bc59e3962f6e4e079ee392";
+      sha256 = "b0459cc57451b268657b11fb31bff5a17f522fe4e4f2e5e0f6a995828e660d34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tl/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tl/firefox-123.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "44859c949a37ab3155ca30f1fe072f156da980c982db889de92a9a36c416f64d";
+      sha256 = "d826b7764fb3002abd86525f48e729b4030572dd5059fb2c0af9e94422bf5561";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/tr/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/tr/firefox-123.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "4d35be66330b611ffd7eb2202498bbc11545c29bbc0819b5603d6185918851c5";
+      sha256 = "21518da790c3544ec63575f086c89977dbe012476c6557c0a7dae1f4c28206ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/trs/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/trs/firefox-123.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "b97c43e287b01b4068cf12c3e3f86314df86f2fb64a9adeedf5123bc0c68abac";
+      sha256 = "5a13597b71d04a274ca10f2aae1bd3a51e1e7b670b904b0ee5f2f65481d28b32";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/uk/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/uk/firefox-123.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "37169aa34b014f1472cab9b9cb35cf47d20d5e060b543364bf74c4fe1c226d16";
+      sha256 = "c8737e732213f706872da5f6785a0ecdf2349923670f136a5446d8649e652164";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/ur/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/ur/firefox-123.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "f52f30613d9ab195cabdf5f31d50b3232e2c0fd905d9e57d9b9c100276c07805";
+      sha256 = "4baad19e8cc53c486c997af7145d55700c4ab60d0fbd21810239cfd3615f634e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/uz/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/uz/firefox-123.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "33ddafa1d0f02ecbcad705ce0863f99e83aace8d44a115a643b3e49dc94aa624";
+      sha256 = "dcb849f095c73ef95db0ecb12c6de2b77b6cedbae490beba5c25649186ab020c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/vi/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/vi/firefox-123.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "6b167ea7ed46a891d2be3b957920a53152284144cea5de538c6ad1a3e8d2c42f";
+      sha256 = "34ecc0483625d6945eb9b432f2fcf36771d72a71b0e104acd538b66968b7beb4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/xh/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/xh/firefox-123.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "d4feaa8a5fbedbff6b897484ca636e15a9235f67c1eb1eee52ffccaebb2e3bfa";
+      sha256 = "068f2e224fb66fc120c75dc0688f925621988ad8ed68c87477fd1fd989406bd5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/zh-CN/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/zh-CN/firefox-123.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "5ded51e830879a1065f9768e0206874f154e82019d06e37e6ca73a10e1110c35";
+      sha256 = "bef0bb2d779b9bf3cdfe1170c3f49679e6f398536a07091c3ffb56d5a32ba162";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/122.0.1/linux-i686/zh-TW/firefox-122.0.1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/123.0/linux-i686/zh-TW/firefox-123.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "22cf838196513e44940be27a6f6c9f2b468c9374117be3d24ffba5afebdfda52";
+      sha256 = "caa9465e0ca789c368097a828009006f1bd733a4dacd25f054317b267ef3647d";
     }
     ];
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
index 2424b8f8fb35..697d5075d3b2 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "122.0.1";
+    version = "123.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41";
+      sha512 = "a19567a13e1b663e538c4af17491146adad1f0ab977995e8da9ce9ed428008ad20902dee4efb82d54e1319a0e31768609696bc822563d75732b622760129d8bb";
     };
 
     extraPatches = [
@@ -33,11 +33,11 @@
 
   firefox-beta = buildMozillaMach rec {
     pname = "firefox-beta";
-    version = "121.0b9";
+    version = "123.0b9";
     applicationName = "Mozilla Firefox Beta";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "a107ba7127f40763325335136c5aeaf6d873dd9ca1c8ca95d93e96b377b41a0974056c84e8323c51ed57e01a2e4ef9996ef2ee2d804053aa2226bd837026523a";
+      sha512 = "87c564bf30e93a544fe65cf5eb0d46e2e992558df36d2808eee990772648c193ab051120a3400dacd6973dde8afbec9bea0f3b0b4adc923a5fea6f4005b46210";
     };
 
     meta = {
@@ -62,13 +62,13 @@
 
   firefox-devedition = buildMozillaMach rec {
     pname = "firefox-devedition";
-    version = "121.0b9";
+    version = "123.0b9";
     applicationName = "Mozilla Firefox Developer Edition";
     requireSigning = false;
     branding = "browser/branding/aurora";
     src = fetchurl {
       url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "732c2b3f1e47512bee9af696e8763ce13b39497a6ec9af0de9904ce4f55b03bc799e628e17e84ce7062ebd5a7dc50290fbbfa17b0f41622ce5088f1d548897b5";
+      sha512 = "63b3e99fab51a219c537baef4f613c1efd174d8c567d7e77007b901d0800b88cfe872b56293473e5406aef15a5c6ab35b9ddf9966a447c001ca16e92469d984f";
     };
 
     meta = {
@@ -94,11 +94,11 @@
 
   firefox-esr-115 = buildMozillaMach rec {
     pname = "firefox-esr-115";
-    version = "115.7.0esr";
+    version = "115.8.0esr";
     applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922";
+      sha512 = "4b8c06b5eb3617700a72aaad8831d703a537fe600740f1acb8377bd0ce198a199938603fd7e6b2007671a578dfb24aa8f5c031c6c1ccf15d4a34562679eaa883";
     };
 
     meta = {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/librewolf/src.json b/nixpkgs/pkgs/applications/networking/browsers/librewolf/src.json
index 357868b665fb..bbc259efc19f 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/nixpkgs/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "122.0-2",
+  "packageVersion": "122.0.1-2",
   "source": {
-    "rev": "122.0-2",
-    "sha256": "139vqa0czhbsg8naz75pcf5d8dql30slwrn4l8hkr4r1s1mslyq1"
+    "rev": "122.0.1-2",
+    "sha256": "0bp9x5hvjhdvrb5niyx4si7in116l37y5km7a207z7zl1z5d3q16"
   },
   "settings": {
-    "rev": "fe568fa26d52fa917c89d735468a17b990a23e2c",
-    "sha256": "1gska84ib386a1021r1n54mb1a47bqn459v5n26g4wqx3xrma48n"
+    "rev": "c242d6d6c77948451af5bd52125a8a81259a7a77",
+    "sha256": "1s56a4a8wz92gh1cxk8qny3qzvmanl6q34yp049f18c4zrk23lax"
   },
   "firefox": {
-    "version": "122.0",
-    "sha512": "619b735c16970207f3f8fb31dd2350a5e665a802c30501c89aee4817b8b0f7f466da93c66ab238e94967587e538e6858934b18164ff312dbdbfbc3b2bf8bd824"
+    "version": "122.0.1",
+    "sha512": "1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41"
   }
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix b/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
index 1bb3fbc97d97..f032d54db348 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/links2/default.nix
@@ -1,23 +1,23 @@
 { lib, stdenv, fetchurl
 , gpm, openssl, pkg-config, libev # Misc.
-, libpng, libjpeg, libtiff, librsvg # graphic formats
+, libpng, libjpeg, libtiff, librsvg, libavif # graphic formats
 , bzip2, zlib, xz # Transfer encodings
-, enableFB ? true
+, enableFB ? (!stdenv.isDarwin)
 , enableDirectFB ? false, directfb
-, enableX11 ? true, libX11, libXt, libXau # GUI support
+, enableX11 ? (!stdenv.isDarwin), libX11, libXt, libXau # GUI support
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   version = "2.29";
   pname = "links2";
 
   src = fetchurl {
-    url = "${meta.homepage}/download/links-${version}.tar.bz2";
-    sha256 = "sha256-IqqWwLOOGm+PftnXpBZ6R/w3JGCXdZ72BZ7Pj56teZg=";
+    url = "http://links.twibright.com/download/links-${finalAttrs.version}.tar.bz2";
+    hash = "sha256-IqqWwLOOGm+PftnXpBZ6R/w3JGCXdZ72BZ7Pj56teZg=";
   };
 
   buildInputs = with lib;
-    [ libev librsvg libpng libjpeg libtiff openssl xz bzip2 zlib ]
+    [ libev librsvg libpng libjpeg libtiff libavif openssl xz bzip2 zlib ]
     ++ optionals stdenv.isLinux [ gpm ]
     ++ optionals enableX11 [ libX11 libXau libXt ]
     ++ optionals enableDirectFB [ directfb ];
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableFB "--with-fb"
     ++ lib.optional enableDirectFB "--with-directfb";
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int";
+  };
+
   meta = with lib; {
     homepage = "http://links.twibright.com/";
     description = "A small browser with some graphics support";
@@ -38,4 +42,4 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
-}
+})
diff --git a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/browser.nix b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
index 9d3da97fff8c..a73768519086 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
@@ -180,7 +180,9 @@ stdenv.mkDerivation rec {
       --add-flags ${lib.escapeShellArg commandLineArgs}
   '';
 
-  passthru.updateScript = ./update.py;
+  # We only want automatic updates for stable, beta and dev will get updated by the same script
+  # and are only used for testing.
+  passthru = lib.optionalAttrs (channel == "stable") { updateScript = ./update.py; };
 
   meta = with lib; {
     homepage = "https://www.microsoft.com/en-us/edge";
diff --git a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 62222a80553b..62fb771cd3a7 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   stable = import ./browser.nix {
     channel = "stable";
-    version = "121.0.2277.113";
+    version = "121.0.2277.128";
     revision = "1";
-    hash = "sha256-VbWM0xC9OlumTf3lBhjd5tdkIx2SGQPf3rhin+rrQvA=";
+    hash = "sha256-ooZzTDmddlYwWoDMqzFPfbUImT351/ptfdlxKEtI77s=";
   };
   beta = import ./browser.nix {
     channel = "beta";
-    version = "122.0.2365.16";
+    version = "122.0.2365.38";
     revision = "1";
-    hash = "sha256-SeLX7UibXd1nOhxWwMuUTCKK4GkN2TmJPesWhLwCD6A=";
+    hash = "sha256-u0qk4T695LyhtfMw5929z4U8+jM2o/gbq8DFtD1PNTU=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "123.0.2380.1";
+    version = "123.0.2400.1";
     revision = "1";
-    hash = "sha256-SBlHXURiPoC5Q7wi67tgnuV2PUw4ffniGq6kmOZtIf0=";
+    hash = "sha256-I9PT320DJgqJYNwB0pvngyLlV+N2jaS5tOwVwwNHex0=";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/update.py b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/update.py
index 616dc0999505..724a83d09d54 100755
--- a/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/update.py
+++ b/nixpkgs/pkgs/applications/networking/browsers/microsoft-edge/update.py
@@ -31,7 +31,7 @@ def latest_packages(packages: bytes):
             old_package = latest_packages[channel]
             if old_package.get_version() < package.get_version():  # type: ignore
                 latest_packages[channel] = package
-    return latest_packages
+    return OrderedDict(sorted(latest_packages.items(), key=lambda x:x[0]))
 
 
 def nix_expressions(latest: dict[str, Packages]):
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/browser.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/browser.nix
index d9df75b00c2b..0297301096d6 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/browser.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/browser.nix
@@ -5,12 +5,14 @@
 , check
 , curl
 , expat
+, gperf
 , gtk2
 , gtk3
 , libXcursor
 , libXrandr
 , libidn
 , libjpeg
+, libjxl
 , libpng
 , libwebp
 , libxml2
@@ -44,11 +46,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf";
-  version = "3.10";
+  version = "3.11";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
+    hash = "sha256-wopiau/uQo0FOxP4i1xECSIkWXZSLRLq8TfP0y0gHLI=";
   };
 
   nativeBuildInputs = [
@@ -63,10 +65,12 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     check
     curl
+    gperf
     libXcursor
     libXrandr
     libidn
     libjpeg
+    libjxl
     libpng
     libwebp
     libxml2
@@ -103,8 +107,20 @@ stdenv.mkDerivation (finalAttrs: {
 
   env.NIX_CFLAGS_COMPILE = "-fcommon";
 
+  env.CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
+
+  patchPhase = lib.optionalString stdenv.cc.isClang ''
+    runHook prePatch
+
+    substituteInPlace Makefile \
+      --replace-warn '--trace' '-t' \
+      --replace-warn '-Wimplicit-fallthrough=3' '-Wimplicit-fallthrough'
+
+    runHook postPatch
+  '';
+
   preConfigure = ''
-    cat <<EOF > Makefile.conf
+    cat <<EOF > Makefile.config
     override NETSURF_GTK_RES_PATH  := $out/share/
     override NETSURF_USE_GRESOURCE := YES
     EOF
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libcss.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libcss.nix
index 66a3a4057d85..4b54f013449b 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libcss.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libcss.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libcss";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libcss-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
+    hash = "sha256-LfIVu+w01R1gwaBLAbLfTV0Y9RDx86evS4DN21ZxFU4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   env.NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=implicit-fallthrough"
-    "-Wno-error=maybe-uninitialized"
+    "-Wno-error=${if stdenv.cc.isGNU then "maybe-uninitialized" else "uninitialized"}"
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libdom.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libdom.nix
index 328bed30f17d..2f198021fafb 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libdom.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libdom.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libdom";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libdom-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
+    hash = "sha256-0F5FrxZUcBTCsKOuzzZw+hPUGfUFs/X8esihSR/DDzw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libhubbub.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
index 29a312928092..5847fd21d2ae 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, gperf
 , perl
 , pkg-config
 , buildsystem
@@ -9,16 +10,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libhubbub";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libhubbub-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
+    hash = "sha256-isHm9fPUjAUUHVk5FxlTQpDFnNAp78JJ60/brBAs1aU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
+    gperf
     perl
     buildsystem
     libparserutils
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
index 9ae8dafa1b0d..a0c1cf106288 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsbmp";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsbmp-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
+    hash = "sha256-VAenaCoSK6qqWhW1BSkOLTffVME8Xt70sJ0SyGLYIpM=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 20c990448e77..0f57939e1700 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsgif";
-  version = "0.2.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsgif-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
+    hash = "sha256-YBTIQvYUVNL1oPgkPXqNe96bfaPM/cotNGx8CyxMBhs=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsutils.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
index 80e883e4b244..141117a94f70 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libnsutils";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libnsutils-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
+    hash = "sha256-VpS0Um5FjtAAQTzmAnWJy+EKJXp+zwZaAUIdxymd6pI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libparserutils.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
index 411495b8e215..a7db88925768 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
@@ -3,20 +3,22 @@
 , fetchurl
 , perl
 , buildsystem
+, iconv
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libparserutils";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libparserutils-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
+    hash = "sha256-MX7VxxjxeSe1chl0uuXeMsP9bQVdsTGtMbQxKgMu0Tk=";
   };
 
   buildInputs = [
     perl
     buildsystem
+    iconv
   ];
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index 19b523ce50ff..a672a7b7cde9 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-libsvgtiny";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/libsvgtiny-${finalAttrs.version}-src.tar.gz";
-    hash = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
+    hash = "sha256-w1cifwLoP7KnaxK5ARkaCCIp2x8Ac2Lo8xx1RRDCoBw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/cloudflared/default.nix b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
index 97515d4ead7a..9e597df79288 100644
--- a/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2024.1.5";
+  version = "2024.2.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflared";
     rev = "refs/tags/${version}";
-    hash = "sha256-g7FUwEs/wEcX1vRgfoQZw+uMzx6ng3j4vFwhlHs6WKg=";
+    hash = "sha256-jcIHpRHcAgzzSKvZH9SLfu5Ake3zCgsSw1iv64yXW2E=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
index 37eca7125898..7391fc9d7c81 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.9.6";
+  version = "2.10.1";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-TwDWcTxYRopQjjtY3OxOL/BDAF2/eJuqIhDJLxpgr3E=";
+    hash = "sha256-sQbRrNTeLUSal9gBAnqx+x0glPykjw0DN+j7xHoZcLY=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
-  vendorHash = "sha256-gpg9tXVR/svWwbjIiY1OlOf56azxk/dEz+VtaaTeDSk=";
+  vendorHash = "sha256-WVufVd8E2rVBA59qEYdRq38W70lApMGZV/26jhn5HGw=";
 
   # Set target as ./cmd per cli-local
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
diff --git a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
index 39f5f70988c5..a8f2c5050ae5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.10.20";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    hash = "sha256-aOJ07Ks+J7cDvF3InKGYx4dJAql9ltJQqa8P+4cKhNk=";
+    hash = "sha256-DsKc+AT+0vIaJftBFLqVXx/CJRNNgE/vzSxlHkCSJaI=";
   };
 
   CGO_ENABLED = 0;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/atmos/default.nix b/nixpkgs/pkgs/applications/networking/cluster/atmos/default.nix
index cb313d833dae..7f43c1b4657a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/atmos/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/atmos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "atmos";
-  version = "1.57.0";
+  version = "1.63.0";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-saOEMGZKtlMDZjkzac3j5hu5j0rKCNnDKV3aRnP5TWc=";
+    sha256 = "sha256-3XmRTboq8DSIV4w6EFsbgl21eY3QA5DicE9nM5sAZOQ=";
   };
 
-  vendorHash = "sha256-Gjff8341MrUal3fVTDXE6nP9RwxaHYTjhPImaEv/9RU=";
+  vendorHash = "sha256-i7m9YXPlWqHtvC4Df7v5bLWt2tqeT933t2+Xit5RQxg=";
 
   ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix b/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
index 16bf611f3665..145c5d332e00 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
@@ -2,16 +2,16 @@
 
 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
   inherit pname;
-  version = "3.27.0";
+  version = "3.27.2";
 
   src = fetchFromGitHub {
     owner = "projectcalico";
     repo = "calico";
     rev = "v${version}";
-    hash = "sha256-BW7xo7gOeFOM/5EGMlhkqDyOdZOkqliWa4B2U1fLn5c=";
+    hash = "sha256-iVRK/5vjPnfJMULaufaOu8u09utSt3u85R4cIBl+yUI=";
   };
 
-  vendorHash = "sha256-DK+mkbmOS56gVU/hIqAIELTkeALcdR7Pnq5niAhyzLw=";
+  vendorHash = "sha256-h4qTtMG4Xi6YqLMMsXZRWVVdQ3U3VrFG6bV7YDwT5Zk=";
 
   inherit doCheck subPackages;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
index 73dffd03400b..e871b43a91d5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-tS/s8zrOomuUBIoIh81RMdwmPM9pcz4cNSKVQfNxlrI=";
+    hash = "sha256-pq7v7j/w+gDlyjYyrOk86YW76rwxLQQUFwhaPrblCSw=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-9Y8u6DVS08liliMNEalX6XQU50qRFy5qZq/9EvRSBRQ=";
+  vendorHash = "sha256-HHlZkxXEJIP3u2rB4+B8Z9vcGwzRT5dtjf5Hu1WVroI=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix
index 6b7f263a1aea..afb7fe938709 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.16.3";
+  version = "1.16.4";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-BGyaYINFFCqEH+UH8XqKom+2eUhgPRF3cMp9fq3whpI=";
+    hash = "sha256-gLm9PEcNg/YeAjT97W9jDOi4ECBrmp2ZAuUTkhZNxyw=";
   };
 
   vendorHash = "sha256-GTd38gSlCKTjfLkAW/Tz22oQJ4FhZB+9vpN/8q4JSCo=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
index 474eb557c6b7..3d2c2ffbf3ee 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubernetes-helm";
-  version = "3.14.0";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-xkMPROdhZ6mq839aMkpCvYIU8SVt48K0n17WnYFfQ+0=";
+    sha256 = "sha256-J7hREQMPN1RrnPmOyK2XgfvbAH2dl2H5TopnH8fF1V8=";
   };
   vendorHash = "sha256-pYB9J7Zf6MApGpFL7HzqIDcC/vERiVE4z8SsipIeJ7c=";
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
index 3ed94a3a621c..267aceb08298 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-diff";
-  version = "3.9.2";
+  version = "3.9.4";
 
   src = fetchFromGitHub {
     owner = "databus23";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4EjvjvW8aal/ekGV0ePevPf30NarrWIh6id30n1r2dE=";
+    sha256 = "sha256-hDni0bAF4tp7upP/D5S6dGN//zaNHidWAYf/l6W9j28=";
   };
 
-  vendorHash = "sha256-RPb5+tZkOsubOl0YlSXsybmlOtKVbJ97c+f/wiz/gmE=";
+  vendorHash = "sha256-51xjHGU9TC4Nwa9keR0b7bgwpZcRmG7duT9R1JRr3Uw=";
 
   ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
index 24a0df3f70b5..4c19d2404834 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.20.2";
+  version = "1.20.3";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    hash = "sha256-0Ep7HPc+1e2M87Z6qCKvAxpYxWjajruTrpP9EBe1PC0=";
+    hash = "sha256-NimwuQj/EvWtXt87LgHWwcZ2hAd548o/agXY4TVK63o=";
   };
-  vendorHash = "sha256-o9NFRVAY5AD5CB9GGSJTvxJM6uXBrDQVBy1slOByIrU=";
+  vendorHash = "sha256-4HzUsTLt4R35TS4jKOmrKW0At9q8W61TU+NTQ/K7Axk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/1_28/versions.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
index f1d3ea13177a..2b8085795577 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/1_28/versions.nix
@@ -1,8 +1,8 @@
 {
-  k3sVersion = "1.28.6+k3s1";
-  k3sCommit = "39a0001575780fffa6aae0271f4cb4ce7413aac8";
-  k3sRepoSha256 = "1bhbpbgs02gh5y7pgn6vmanacrz3p0b2gq3w2kqpb11bijp2alld";
-  k3sVendorHash = "sha256-Mo+gZ+NOZqd3CP/Z02LfO4dHyEuRhabZVAU60GofOMo=";
+  k3sVersion = "1.28.6+k3s2";
+  k3sCommit = "c9f49a3b06cd7ebe793f8cc1dcd0293168e743d9";
+  k3sRepoSha256 = "0vz5976q58v9x6g1qz6kz3xksgf8gm1f727ccckmpbyxbhw75zsa";
+  k3sVendorHash = "sha256-HG4x3N/F5qCFpLxGrUWPkBHHqY7WBRDWN7DNyAcJwyI=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/1_29/versions.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
index 00bc1476306d..bfb337a9824b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/1_29/versions.nix
@@ -1,8 +1,8 @@
 {
-  k3sVersion = "1.29.0+k3s1";
-  k3sCommit = "3190a5faa28d7a0d428c756d67adcab7eb11e6a5";
-  k3sRepoSha256 = "1g75a7kz9nnv0vagzhggkw0zqigykimdwsmibgssa8vyjpg7idda";
-  k3sVendorHash = "sha256-iHmPVjYR/ZLH9UZ5yNEApyuGQsEwtxVbQw7Pu7WrpaQ=";
+  k3sVersion = "1.29.1+k3s2";
+  k3sCommit = "57482a1c1bb9c67b5f893418a114edca1004258e";
+  k3sRepoSha256 = "0pvab3dd6dzgk1zgra4jmdwba5b8xssfjr3mihwq1h0c5bxf1cza";
+  k3sVendorHash = "sha256-EkRbdUoYpK7M+Wbc2Cf37bOwdwPB6/xLxULO7Bkpt5c=";
   chartVersions = import ./chart-versions.nix;
   k3sRootVersion = "0.12.2";
   k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k3s/builder.nix b/nixpkgs/pkgs/applications/networking/cluster/k3s/builder.nix
index a914cf87102e..3f44deb9771d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k3s/builder.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k3s/builder.nix
@@ -30,6 +30,7 @@ lib:
 # It is likely we will have to split out additional builders for additional
 # versions in the future, or customize this one further.
 { lib
+, fetchpatch
 , makeWrapper
 , socat
 , iptables
@@ -184,6 +185,16 @@ let
     src = k3sRepo;
     vendorHash = k3sVendorHash;
 
+    patches =
+      # Disable: Add runtime checking of golang version
+      lib.optional (lib.versionAtLeast k3sVersion "1.28")
+        (fetchpatch {
+          # https://github.com/k3s-io/k3s/pull/9054
+          url = "https://github.com/k3s-io/k3s/commit/b297996b9252b02e56e9425f55f6becbf6bb7832.patch";
+          hash = "sha256-xBOY2jnLhT9dtVKtq26V9QUnuX1q6E/9UcO9IaU719U=";
+          revert = true;
+        });
+
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ libseccomp sqlite.dev ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k8sgpt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k8sgpt/default.nix
index 9f9e4bc6740b..a24b521e242c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k8sgpt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k8sgpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "k8sgpt";
-  version = "0.3.26";
+  version = "0.3.27";
 
   src = fetchFromGitHub {
     owner = "k8sgpt-ai";
     repo = "k8sgpt";
     rev = "v${version}";
-    hash = "sha256-FUYtBoJAnY8WRh0eABniOgg781UooG67RKTHp1u3SiQ=";
+    hash = "sha256-HWcEcufn0NM+7AF4/M29bsUoQYlVA1nbrkCKt9F1g6k=";
   };
 
-  vendorHash = "sha256-sd4QIQQpDyPV4pqk9VJBApzRzjwxMFieCOQQjJzFXHc=";
+  vendorHash = "sha256-b8Y95BDOR5HI6QMU4XLn5FmSHFD9fntc80r84KgmkuY=";
 
   CGO_ENABLED = 0;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index c40a5c3d5613..7b238fb8b1f1 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k9s";
-  version = "0.31.8";
+  version = "0.31.9";
 
   src = fetchFromGitHub {
     owner = "derailed";
     repo = "k9s";
     rev = "v${version}";
-    hash = "sha256-sZtMeFoi3UJO5uV4zOez1TbpBCtfclGhZTrYGZ/+Mio=";
+    hash = "sha256-yPSAHqnGdLW2a2TCR7HPl8e5WlG+ruHwITATtivtBnw=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-0Tq74BtSk5mp0eZjTevvDFWnEc5tnSwO7ZckcJXd/Yo=";
+  vendorHash = "sha256-roHFUKH72BSzqZp2qh/Hw7rfTXj9yqpJyB2dozUz+Y8=";
 
   # TODO investigate why some config tests are failing
   doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubectl-klock/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubectl-klock/default.nix
index 4b617fd8d854..044e12837c9d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubectl-klock/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubectl-klock/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper }:
 
 buildGoModule rec {
   pname = "kubectl-klock";
-  version = "0.5.0";
+  version = "0.5.1";
+
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "applejag";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fR97rTMFwtqVH9wqKy1+EzKKg753c18v8VDCQ2Y69+s=";
+    hash = "sha256-q7Wq1mTjOB7tT66+LWIwwqltQcQSHD/VHLO7nCTZTQ0=";
   };
 
-  vendorHash = "sha256-AkYKKM4PR/msG44MwdSq6XAf6EvdtJHoXyw7Xj7MXso=";
+  vendorHash = "sha256-3CJ/tmFFkmq6wHxbqk8u+GxxbSrUpB/JD5s/S7hegB8=";
+
+  postInstall = ''
+    makeWrapper $out/bin/kubectl-klock $out/bin/kubectl_complete-klock --add-flags __complete
+  '';
 
   meta = with lib; {
     description = "A kubectl plugin to render watch output in a more readable fashion";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index 1972ad27af33..c965e6a3046f 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-P4B5N2hIDTYtrHk86n3MCvy6IXlDyAUc1wFhXmEkQFA=";
+    sha256 = "sha256-1HxTpDBKZZoGlsGra2DXw4kEDTUOcrayDvbUzUY/y1k=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
index f67d650e77a5..5e8cfc2b166c 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.28.4";
+  version = "1.29.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    hash = "sha256-aaGcAIyy0hFJGFfOq5FaF0qAlygXcs2WcwgvMe5dkbo=";
+    hash = "sha256-DFQaDlp8CqN0jKTVO5N9ZQYyM2gm/VnQfO4/bfvYrTE=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
index eef739ebdbf4..921797d1591a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-maDfKFrszKexwzHw50iPu+aLLhi/QqKj6zmes9kS5Lk=";
+    sha256 = "sha256-rOaczDGjocGpYEPJpMiveWE7sHU9L0Csx2nX0Z3IrBs=";
   };
 
-  vendorHash = "sha256-3SrfD+6Gg9T9Qtb2PbipJZTe8Szs8Cef/61alwgHUUA=";
+  vendorHash = "sha256-UicMiSSSQzquNAHFpnWKbybimz3jjbBgWykhyRSU7ZI=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubeshark/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeshark/default.nix
index e60da24772cc..4149962e49ff 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.1.30";
+  version = "52.1.45";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-9nlPfWKgx56evxJkW+iRWJCBxqmMaBH0nCJBAAoibJc=";
+    hash = "sha256-XxdOXcdXkMedhhuVbWNnW0ONVmEhsXyFqyN2moj46Nc=";
   };
 
   vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix b/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
index 7d2b896b4c3a..3feed7bf8e4b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "24.2.1";
-  sha256 = "1flbjsa2wj35zgiq4vgb2bqvjvxmpla6fnrlkwnh2l10w4i2n5sl";
-  vendorHash = "sha256-1DyqtUSMzVahy8yzX8HAnCe3UI5Z1Pht5XQaMS2i9mw=";
+  version = "24.2.3";
+  sha256 = "0l1sa8xzqddvyzlzddcb9nbvxlj06dm5l6fb0f6fw9ay0d8qm22k";
+  vendorHash = "sha256-g1e1uY43fUC2srKK9erVFlJDSwWrEvq4ni0PgeCFaOg=";
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
index dbd04f026dfa..bd9d0fece1b5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
@@ -7,7 +7,10 @@
 , which
 , libvirt
 , vmnet
+, withQemu ? false
+, qemu
 , makeWrapper
+, OVMF
 }:
 
 buildGoModule rec {
@@ -24,6 +27,22 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU=";
   };
+  postPatch =
+    (
+      lib.optionalString (withQemu && stdenv.isDarwin) ''
+        substituteInPlace \
+          pkg/minikube/registry/drvs/qemu2/qemu2.go \
+          --replace "/usr/local/opt/qemu/share/qemu" "${qemu}/share/qemu" \
+          --replace "/opt/homebrew/opt/qemu/share/qemu" "${qemu}/share/qemu"
+      ''
+    ) + (
+      lib.optionalString (withQemu && stdenv.isLinux) ''
+        substituteInPlace \
+          pkg/minikube/registry/drvs/qemu2/qemu2.go \
+          --replace "/usr/share/OVMF/OVMF_CODE.fd" "${OVMF.firmware}" \
+          --replace "/usr/share/AAVMF/AAVMF_CODE.fd" "${OVMF.firmware}"
+      ''
+    );
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
index 84d27a186c12..dd0eced01663 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Y76H/88/esziIermnzfOS48FLBRnVBN8u4C381n184M=";
+    hash = "sha256-d90xwrMtDK5ibRHIeV6nzv5jqJfaQXpU9xKTH49yiX4=";
   };
 
   vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
index 2f76d4c17421..e0181e69c0b9 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/nomad/default.nix
@@ -57,9 +57,9 @@ rec {
 
   nomad_1_5 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.5.13";
-    sha256 = "sha256-SFPjcr3W6Sj1n+1ooi1HDMQEapgGapVy4HtqxSIVi9U=";
-    vendorHash = "sha256-F9lzO3jMVbDq8sA4rBo81vmIoOhK2N8d4HXX58HOw18=";
+    version = "1.5.15";
+    sha256 = "sha256-OFmGOU+ObA0+BS48y0ZyyxR+VI5DYL39peVKcyVHgGI=";
+    vendorHash = "sha256-Ds94lB43cyMNyRJZti0mZDWGTtSdwY31dDijfAUxR0I=";
     license = lib.licenses.mpl20;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
@@ -69,9 +69,9 @@ rec {
 
   nomad_1_6 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.6.6";
-    sha256 = "sha256-E7HLBABOtDO/BUc2+4mD4yJ/sfy85gy67ZylRTZI3Cg=";
-    vendorHash = "sha256-6jq00RsukuP8OSkXhqYqQxpXtp/jm/GChEwEJTVyO10=";
+    version = "1.6.8";
+    sha256 = "sha256-lc/HZgyzqWZNW2WHOFZ43gCeL5Y2hwK4lXPgWGboPOY=";
+    vendorHash = "sha256-ecLhq4OHDhA1Bd/97NMpfePqtuCtVje3BdvCzcwWzas=";
     license = lib.licenses.mpl20;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
@@ -81,9 +81,9 @@ rec {
 
   nomad_1_7 = generic {
     buildGoModule = buildGo121Module;
-    version = "1.7.4";
-    sha256 = "sha256-iyY899W/uwP/wQcarKufSpJdXRAtwDxT6yw5vrB6Xmk=";
-    vendorHash = "sha256-yPf19IRTq+LAaoHsEFVuPJLapFxH3o16y0PbYW0ehiw=";
+    version = "1.7.5";
+    sha256 = "sha256-uwPAmmxxlPp5NuuCUTv5VykX+q2vbA0yCRoblrJPP1g=";
+    vendorHash = "sha256-xu1odCHUO3cv0ldXj3T8aM+fqPzc4r1gyFWsiuyzOpU=";
     license = lib.licenses.bsl11;
     passthru.tests.nomad = nixosTests.nomad;
     preCheck = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix b/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
index f36ee0254c1d..c349e93b6ba3 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.5.3";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-p1hkiXHwh8Vo2LIP1BeE5XSc/gKjn9XN30usGwCVj7w=";
+    hash = "sha256-TPgXjM7RyjI8NmfiZHkHF3txfzAwjOg7kGODBj37JEI=";
   };
 
-  vendorHash = "sha256-eH4FBfX9LNb1UgSRsYSd1Fn2Ju+cL6t64u+/sf9uzNM=";
+  vendorHash = "sha256-0H9K3/BwdSExADFHaYtn2RrHZ6AyEjzlBKYXL/Ow9JA=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix
index 72954741b614..bbcc4e0de957 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "talosctl";
-  version = "1.6.1";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "talos";
     rev = "v${version}";
-    hash = "sha256-xJKYnKJ0qvgVZ2I7O+qYO/ujuW03B+DykXO/ZYLgoyU=";
+    hash = "sha256-2ZccpOqddgq51Q1AxV1uK9fThPMtJIL66ZGU51k2eL0=";
   };
 
-  vendorHash = "sha256-CIDCUIk0QFSHM2gc1XpD6Ih11zXbCDDeSf5vf6loI9w=";
+  vendorHash = "sha256-BC3RMhpYmyELJDzOva31QsTmrPeptMcfDYNK3q8D+dw=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 9b34dfcd888b..cf52f6d948ea 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.35.0";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-4n+20EZvj1cCJTZFSYTpOeArVKvpz4+U1qYxaqWXBSc=";
+    sha256 = "sha256-/o0UzjIUlRP936YG7fgfonPHc86z1WFCBcELor2frqE=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
index 559cb30b3155..f143d2c3fca5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
@@ -26,7 +26,7 @@ let
         inherit hash;
       };
 
-      ldflags = [ "-s" "-w" ];
+      ldflags = [ "-s" "-w" "-X 'github.com/hashicorp/terraform/version.dev=no'" ];
 
       postConfigure = ''
         # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
index 92a66eb8172a..e3d2bdce753b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.55.1";
+  version = "0.55.2";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SYMdn/d13YUlgK1l1pWQsJo31JG4leaCZckKmUWqpUA=";
+    hash = "sha256-6lUBtTG05Bz+M9Jj5HaOqG2yelwbC1trCM33NzUP1U4=";
   };
 
   vendorHash = "sha256-uFSkolmQV11cY+3ZWrlByHDFolpr2E+9/R95bhBn6zo=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix b/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
index d08fb76b68fa..486bfe5a6429 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.289";
+  version = "1.2.292";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-0BinJVTjD8iDlhK50qVODQIKj1KDwhgOMg3HHstYHeg=";
+    hash = "sha256-jBGAd7He2ap7+IF5Og7J6iBoIoLG8KqxSLcPKogJwP8=";
   };
 
-  vendorHash = "sha256-YHLa0hTXCswkvVxyNp5ezqyEu18Jfnl9n7JMdqMeBSA=";
+  vendorHash = "sha256-JaAiQC5QnamzUz1hPSldXtZqhTQIlGFGMYhLJd7t3j4=";
 
   proxyVendor = true;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/yor/default.nix b/nixpkgs/pkgs/applications/networking/cluster/yor/default.nix
index 27e5eedc31a7..ce83ef028706 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/yor/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/yor/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "yor";
-  version = "0.1.188";
+  version = "0.1.189";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-8bQUZFV5euXki7jz3tZmhJ/vSFnJusYyejfw0s+N6rk=";
+    hash = "sha256-9xZVim5fMKDaeATSpgEGV5ukLv+aw7A99825iBIvvb0=";
   };
 
-  vendorHash = "sha256-VYzMdYwWe2TTIV28kORX6pImSE04aFISDCjlQvqiIp8=";
+  vendorHash = "sha256-RNtWPAAOCGs0aCR0PWnOP4GxaXTXA3uLI3aGLuMNGYI=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/applications/networking/discordo/default.nix b/nixpkgs/pkgs/applications/networking/discordo/default.nix
index bb426cbc777c..029ad55ae030 100644
--- a/nixpkgs/pkgs/applications/networking/discordo/default.nix
+++ b/nixpkgs/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2024-01-25";
+  version = "unstable-2024-02-16";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "301b7c7a792b427595803679e37fe99007de9451";
-    hash = "sha256-ufAlwlH++g9L3aaA5soJ6r2oiJZi8Ny/6P530oV+BiY=";
+    rev = "7476d8b391f23fa576f8f34eef3829c6212c6331";
+    hash = "sha256-x1/CXHqfiT0HgIPsiRluifPOJUrulN+fih0aOrj3us0=";
   };
 
-  vendorHash = "sha256-fy3FI1K57hLAgbw3WfmVNZT9ywCSXwRKSq+ATjG+Qpo=";
+  vendorHash = "sha256-PW0PPMlNB5aa81tsYWUk9mWfSyafI5A0OxqJTCe0OdI=";
 
   CGO_ENABLED = 0;
 
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
index 3afc84905fb5..da247efb5c8b 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/Cargo.lock
@@ -31,9 +31,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -83,9 +83,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.5.0"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -97,43 +97,43 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.3"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "2.1.0"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arc-swap"
@@ -144,9 +144,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 [[package]]
 name = "article_scraper"
 version = "2.0.0"
-source = "git+https://gitlab.com/news-flash/article_scraper.git#f9812b556c9cf05de13d936ea73f03c95de79bbc"
+source = "git+https://gitlab.com/news-flash/article_scraper.git#0dcebe8b49b8d867810d0f7ff155e502f637bb96"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "chrono",
  "encoding_rs",
  "escaper",
@@ -157,7 +157,7 @@ dependencies = [
  "once_cell",
  "regex",
  "reqwest",
- "rust-embed 6.8.1",
+ "rust-embed",
  "thiserror",
  "tokio",
  "url",
@@ -165,16 +165,16 @@ dependencies = [
 
 [[package]]
 name = "ashpd"
-version = "0.6.2"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7"
+checksum = "01992ad7774250d5b7fe214e2676cb99bf92564436d8135ab44fe815e71769a9"
 dependencies = [
- "async-std",
+ "async-fs 2.1.1",
+ "async-net",
  "enumflags2",
  "futures-channel",
  "futures-util",
- "once_cell",
- "rand 0.8.5",
+ "rand",
  "serde",
  "serde_repr",
  "url",
@@ -193,20 +193,22 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "1.9.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 2.5.3",
+ "event-listener 5.0.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-compression"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb42b2197bf15ccb092b62c74515dbd8b86d0effd934795f6687c93b6e679a2c"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
 dependencies = [
  "brotli",
  "flate2",
@@ -218,15 +220,15 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.5.3"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78f2db9467baa66a700abce2a18c5ad793f6f83310aca1284796fc3921d113fd"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite",
+ "futures-lite 2.2.0",
  "slab",
 ]
 
@@ -236,25 +238,21 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
-name = "async-global-executor"
-version = "2.3.1"
+name = "async-fs"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
 dependencies = [
- "async-channel",
- "async-executor",
- "async-io",
- "async-lock",
+ "async-lock 3.3.0",
  "blocking",
- "futures-lite",
- "once_cell",
+ "futures-lite 2.2.0",
 ]
 
 [[package]]
@@ -263,21 +261,40 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "cfg-if",
  "concurrent-queue",
- "futures-lite",
+ "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
- "rustix 0.37.23",
+ "polling 2.8.0",
+ "rustix 0.37.27",
  "slab",
- "socket2 0.4.9",
+ "socket2 0.4.10",
  "waker-fn",
 ]
 
 [[package]]
+name = "async-io"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "parking",
+ "polling 3.4.0",
+ "rustix 0.38.31",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -287,20 +304,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-net"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
+dependencies = [
+ "async-io 2.3.1",
+ "blocking",
+ "futures-lite 2.2.0",
+]
+
+[[package]]
 name = "async-process"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-signal",
  "blocking",
  "cfg-if",
- "event-listener 3.0.0",
- "futures-lite",
- "rustix 0.38.14",
- "windows-sys",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.31",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -311,69 +350,42 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "async-signal"
-version = "0.2.1"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4af361a844928cb7d36590d406709473a1b574f443094422ef166daa3b493208"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-io 2.3.1",
+ "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
- "concurrent-queue",
  "futures-core",
  "futures-io",
- "libc",
+ "rustix 0.38.31",
  "signal-hook-registry",
  "slab",
- "windows-sys",
-]
-
-[[package]]
-name = "async-std"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
-dependencies = [
- "async-channel",
- "async-global-executor",
- "async-io",
- "async-lock",
- "crossbeam-utils",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-lite",
- "gloo-timers",
- "kv-log-macro",
- "log",
- "memchr",
- "once_cell",
- "pin-project-lite",
- "pin-utils",
- "slab",
- "wasm-bindgen-futures",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.4.1"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.73"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -405,21 +417,15 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.4"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bigdecimal"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "454bca3db10617b88b566f205ed190aedb0e0e6dd4cad61d3988a72e8c5594cb"
+checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9"
 dependencies = [
  "autocfg",
  "libm",
@@ -442,9 +448,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block"
@@ -489,25 +495,25 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
 
 [[package]]
 name = "blocking"
-version = "1.4.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite",
+ "futures-lite 2.2.0",
  "piper",
  "tracing",
 ]
 
 [[package]]
 name = "brotli"
-version = "3.3.4"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -516,9 +522,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.3.4"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -526,27 +532,27 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f"
 
 [[package]]
 name = "bytecount"
-version = "0.6.3"
+version = "0.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
+checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
@@ -562,23 +568,22 @@ checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c0466dfa8c0ee78deef390c274ad756801e0a6dbb86c5ef0924a298c5761c4d"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "cairo-sys-rs",
  "glib",
  "libc",
- "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
 dependencies = [
  "glib-sys",
  "libc",
@@ -596,9 +601,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.3"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
+checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
 dependencies = [
  "serde",
 ]
@@ -627,9 +632,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.5"
+version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -643,16 +648,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -666,9 +671,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.5"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824956d0dca8334758a5b7f7e50518d66ea319330cbceedcf76905c2f6ab30e3"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -676,9 +681,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.5"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122ec64120a49b4563ccaedcbea7818d069ed8e9aa6d829b82d8a4128936b2ab"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
 dependencies = [
  "anstream",
  "anstyle",
@@ -688,27 +693,27 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.2"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "color-backtrace"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6fcd4d200ae702628e8d54bafff5f7e7397b031a5849656a6f5bfe2c5fb780d"
+checksum = "150fd80a270c0671379f388c8204deb6a746bb4eac8a6c03fe2460b2c0127ea0"
 dependencies = [
  "backtrace",
  "termcolor",
@@ -728,10 +733,11 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "commafeed_api"
-version = "0.1.0"
-source = "git+https://gitlab.com/news-flash/commafeed_api.git#701976f8fccf887416a1306b6d0e0a3bb026573f"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "013b56b25f5e10cae0fac4564fd64aa54766a860b896fc2d582f97616be6e92c"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "chrono",
  "log",
  "reqwest",
@@ -743,18 +749,18 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "cookie"
-version = "0.16.2"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24"
 dependencies = [
  "percent-encoding",
  "time",
@@ -763,12 +769,12 @@ dependencies = [
 
 [[package]]
 name = "cookie_store"
-version = "0.16.2"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6"
 dependencies = [
  "cookie",
- "idna 0.2.3",
+ "idna 0.3.0",
  "log",
  "publicsuffix",
  "serde",
@@ -780,9 +786,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -790,79 +796,70 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crc-any"
-version = "2.4.3"
+version = "2.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"
+checksum = "c01a5e1f881f6fb6099a7bdf949e946719fd4f1fefa56264890574febf0eb6d0"
 dependencies = [
  "debug-helper",
 ]
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -882,9 +879,9 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "debug-helper"
@@ -894,9 +891,12 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
 
 [[package]]
 name = "deranged"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
 
 [[package]]
 name = "derivative"
@@ -928,9 +928,9 @@ checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7"
 
 [[package]]
 name = "diesel"
-version = "2.1.2"
+version = "2.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53c8a2cb22327206568569e5a45bb5a2c946455efdd76e24d15b7e82171af95e"
+checksum = "62c6fcf842f17f8c78ecf7c81d75c5ce84436b41ee07e03f490fbb5f5a8731d8"
 dependencies = [
  "bigdecimal",
  "chrono",
@@ -956,7 +956,7 @@ dependencies = [
  "diesel_table_macro_syntax",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -976,7 +976,7 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
 dependencies = [
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1021,31 +1021,11 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
-name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
- "dirs-sys 0.4.1",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "dirs-sys",
 ]
 
 [[package]]
@@ -1057,14 +1037,14 @@ dependencies = [
  "libc",
  "option-ext",
  "redox_users",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "encoding_rs"
@@ -1083,21 +1063,21 @@ checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca"
 
 [[package]]
 name = "enum-as-inner"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
+checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "enumflags2"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -1105,13 +1085,13 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1122,23 +1102,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1167,9 +1136,20 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.0.0"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -1177,10 +1157,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "event-listener"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+dependencies = [
+ "event-listener 5.0.0",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exr"
-version = "1.71.0"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
  "bit_field",
  "flume",
@@ -1194,9 +1205,9 @@ dependencies = [
 
 [[package]]
 name = "eyre"
-version = "0.6.8"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
+checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
 dependencies = [
  "indenter",
  "once_cell",
@@ -1219,18 +1230,18 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
 
 [[package]]
 name = "feed-rs"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dbec361cb401c1b86aea784fb809073733da06b1a1fd794222e7bf9845db327"
+checksum = "1ebf574f2f8a63948eae0d786c1fe339d71b6c98e735d58c81c85d93c8a66edf"
 dependencies = [
  "chrono",
  "lazy_static",
@@ -1239,7 +1250,7 @@ dependencies = [
  "regex",
  "serde",
  "serde_json",
- "siphasher",
+ "siphasher 1.0.0",
  "url",
  "uuid",
 ]
@@ -1304,9 +1315,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.27"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -1318,7 +1329,7 @@ version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "spin 0.9.8",
+ "spin",
 ]
 
 [[package]]
@@ -1344,9 +1355,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1363,9 +1374,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1378,9 +1389,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1388,15 +1399,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1406,9 +1417,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -1426,33 +1437,46 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1468,22 +1492,21 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
  "glib",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -1494,9 +1517,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6"
+checksum = "6771942f85a2beaa220c64739395e4401b9fab4a52aba9b503fa1e6ed4d4d806"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -1509,9 +1532,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
+checksum = "1eb95854fab65072023a7814434f003db571d6e45c287c0b0c540c1c78bdf6ae"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1536,24 +1559,13 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -1588,15 +1600,15 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57052f84e8e5999b258e8adf8f5f2af0ac69033864936b8b6838321db2f759b1"
+checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1605,7 +1617,6 @@ dependencies = [
  "gio-sys",
  "glib",
  "libc",
- "once_cell",
  "pin-project-lite",
  "smallvec",
  "thiserror",
@@ -1613,24 +1624,24 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
 dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
  "system-deps",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "glib"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c316afb01ce8067c5eaab1fc4f2cd47dc21ce7b6296358605e2ffab23ccbd19"
+checksum = "ab9e86540b5d8402e905ad4ce7d6aa544092131ab564f3102175af176b90a053"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "futures-channel",
  "futures-core",
  "futures-executor",
@@ -1642,30 +1653,28 @@ dependencies = [
  "gobject-sys",
  "libc",
  "memchr",
- "once_cell",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "glib-macros"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8da903822b136d42360518653fcf154455defc437d3e7a81475bf9a95ff1e47"
+checksum = "0f5897ca27a83e4cdc7b4666850bade0a2e73e17689aabafcc9acddad9d823b8"
 dependencies = [
  "heck",
- "proc-macro-crate",
- "proc-macro-error",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "glib-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
 dependencies = [
  "libc",
  "system-deps",
@@ -1678,22 +1687,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
-name = "gloo-timers"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
-dependencies = [
- "futures-channel",
- "futures-core",
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
 name = "gobject-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1702,9 +1699,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-rs"
-version = "0.18.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
 dependencies = [
  "glib",
  "graphene-sys",
@@ -1713,9 +1710,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1741,9 +1738,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e"
+checksum = "0e8ce8dee0fd87a11002214b1204ff18c9272fbd530408f0884a0f9b25dc31de"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1756,9 +1753,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55"
+checksum = "2660a652da5b662d43924df19ba40d73f015ed427329ef51d2b1360a4e0dc0e4"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1772,9 +1769,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842"
+checksum = "7d26ffa3ec6316ccaa1df62d3e7f5bae1637c0acbb43f250fabef38319f73c64"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1793,12 +1790,12 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
+checksum = "c8b86439e9896f6f3f47c3d8077c5c8205174078760afdabd9098a8e9e937d97"
 dependencies = [
  "anyhow",
- "proc-macro-crate",
+ "proc-macro-crate 3.1.0",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1807,9 +1804,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.7.3"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8"
+checksum = "2abc0a6d356d59a3806021829ce6ed3e70bba3509b41a535fedcb09fae13fbc0"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1826,9 +1823,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
@@ -1836,7 +1833,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap",
  "slab",
  "tokio",
  "tokio-util",
@@ -1845,18 +1842,19 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.2.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
+ "cfg-if",
  "crunchy",
 ]
 
 [[package]]
 name = "hard-xml"
-version = "1.27.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b74134bb74033894bf6b22cb9078c5e19bb750bd586f5cea24bc4acf23e9da9a"
+checksum = "fafc2bcb74049535eb6fab49eb20164a427867a9e809516ef95a98e961164432"
 dependencies = [
  "hard-xml-derive",
  "jetscii",
@@ -1867,9 +1865,9 @@ dependencies = [
 
 [[package]]
 name = "hard-xml-derive"
-version = "1.27.0"
+version = "1.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f50ce8d120d040bf18a4d8dd75ea96497cc75d285b09e2473e88df57bb20f3ab"
+checksum = "57a345b327da51b997c94f841d9db6b2d292c7632713bd8a1b8b191e8b819df7"
 dependencies = [
  "bitflags 1.3.2",
  "proc-macro2",
@@ -1879,15 +1877,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
 name = "heck"
@@ -1897,9 +1889,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
 
 [[package]]
 name = "hex"
@@ -1920,9 +1912,9 @@ dependencies = [
 
 [[package]]
 name = "html2pango"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e22f189d26bf7cf4652dbe49da86f3a27628f745469365f1d2575ea8caf54eaf"
+checksum = "a5f061cc3c0538033f81a94417f209e2b1908e3dab8b87b205d84e6109c8091b"
 dependencies = [
  "ammonia",
  "anyhow",
@@ -1950,9 +1942,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -1961,9 +1953,9 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
  "http",
@@ -1990,9 +1982,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2005,7 +1997,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.5.5",
  "tokio",
  "tower-service",
  "tracing",
@@ -2013,20 +2005,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "hyper-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
-dependencies = [
- "futures-util",
- "http",
- "hyper",
- "rustls",
- "tokio",
- "tokio-rustls",
-]
-
-[[package]]
 name = "hyper-tls"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2041,16 +2019,16 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -2064,20 +2042,19 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2085,9 +2062,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2095,9 +2072,9 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -2105,7 +2082,6 @@ dependencies = [
  "exr",
  "gif",
  "jpeg-decoder",
- "num-rational",
  "num-traits",
  "png",
  "qoi",
@@ -2120,22 +2096,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown",
 ]
 
 [[package]]
@@ -2155,7 +2121,7 @@ checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
  "hermit-abi",
  "libc",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -2164,17 +2130,17 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.4",
+ "socket2 0.5.5",
  "widestring",
- "windows-sys",
+ "windows-sys 0.48.0",
  "winreg",
 ]
 
 [[package]]
 name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "ipnetwork"
@@ -2196,24 +2162,24 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "javascriptcore6"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ab2e7a6ba3112cf23e7bf63f0aefe5058e6b4f1f759d47bf22922f73ed17e79"
+checksum = "d95a69260c40bbf52066f2c6fa520c00c1ec8ab8208636cf3070c0157c5221f8"
 dependencies = [
  "glib",
  "javascriptcore6-sys",
@@ -2222,9 +2188,9 @@ dependencies = [
 
 [[package]]
 name = "javascriptcore6-sys"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5a26b89c59d679b0d57dd98235e3125b132407cc14c3fb6382df4b84475c39f"
+checksum = "fc104f99c5adcd7ed53dd491121c111e05e3e8d40020d3519e98c346ca64186b"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -2240,32 +2206,23 @@ checksum = "47f142fe24a9c9944451e8349de0a56af5f3e7226dc46f3ed4d4ecc0b85af75e"
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "kv-log-macro"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
-dependencies = [
- "log",
-]
-
-[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2279,9 +2236,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libadwaita"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c"
+checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
 dependencies = [
  "gdk-pixbuf",
  "gdk4",
@@ -2295,9 +2252,9 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a"
+checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -2311,21 +2268,32 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.148"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
+]
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
 dependencies = [
  "pkg-config",
  "vcpkg",
@@ -2365,9 +2333,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.7"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "locale_config"
@@ -2384,9 +2352,9 @@ dependencies = [
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2399,7 +2367,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 dependencies = [
  "serde",
- "value-bag",
 ]
 
 [[package]]
@@ -2410,9 +2377,9 @@ checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7"
 
 [[package]]
 name = "log4rs"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d36ca1786d9e79b8193a68d480a0907b612f109537115c6ff655a3a1967533fd"
+checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6"
 dependencies = [
  "anyhow",
  "arc-swap",
@@ -2423,7 +2390,9 @@ dependencies = [
  "libc",
  "log",
  "log-mdc",
+ "once_cell",
  "parking_lot",
+ "rand",
  "serde",
  "serde-value",
  "serde_json",
@@ -2450,22 +2419,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
 
 [[package]]
-name = "mach2"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "magic-crypt"
-version = "3.1.12"
+version = "3.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0196bd5c76f5f51d7d6563545f86262fef4c82d75466ba6f6d359c40a523318d"
+checksum = "6c42f95f9d296f2dcb50665f507ed5a68a171453142663ce44d77a4eb217b053"
 dependencies = [
  "aes",
- "base64 0.13.1",
+ "base64",
  "block-modes",
  "crc-any",
  "des",
@@ -2523,12 +2483,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
 [[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
 name = "md-5"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2547,9 +2501,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
 
 [[package]]
 name = "memchr"
-version = "2.6.3"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -2576,7 +2530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada"
 dependencies = [
  "serde",
- "toml",
+ "toml 0.7.8",
 ]
 
 [[package]]
@@ -2608,11 +2562,11 @@ dependencies = [
 
 [[package]]
 name = "miniflux_api"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c402b227e14d83831bfb5a5d4bc347b1a925889f733b27697610a307b0bd8e89"
+checksum = "babaa4cdaadf81050c03f93f16375cf305a29b2d6f099d66ff40aae93afcfee2"
 dependencies = [
- "base64 0.13.1",
+ "base64",
  "log",
  "reqwest",
  "serde",
@@ -2624,9 +2578,9 @@ dependencies = [
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
  "simd-adler32",
@@ -2634,23 +2588,23 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "wasi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "moka"
-version = "0.11.3"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa6e72583bf6830c956235bff0d5afec8cf2952f579ebad18ae7821a917d950f"
+checksum = "b1911e88d5831f748a4097a43862d129e3c6fca831eecac9b8db6d01d93c9de2"
 dependencies = [
- "async-io",
- "async-lock",
+ "async-lock 2.8.0",
+ "async-trait",
  "crossbeam-channel",
  "crossbeam-epoch",
  "crossbeam-utils",
@@ -2659,7 +2613,6 @@ dependencies = [
  "parking_lot",
  "quanta",
  "rustc_version",
- "scheduled-thread-pool",
  "skeptic",
  "smallvec",
  "tagptr",
@@ -2701,12 +2654,12 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 [[package]]
 name = "news-flash"
 version = "2.3.0-alpha.0"
-source = "git+https://gitlab.com/news_flash/news_flash.git#b1763aa942149891afa760255724b0a03319e1e4"
+source = "git+https://gitlab.com/news_flash/news_flash.git#46cf25eff46655e314ae38b28c04f0f943b3910a"
 dependencies = [
  "article_scraper",
  "async-trait",
- "base64 0.21.4",
- "bitflags 2.4.0",
+ "base64",
+ "bitflags 2.4.2",
  "bytes",
  "chrono",
  "commafeed_api",
@@ -2721,7 +2674,7 @@ dependencies = [
  "greader_api",
  "hex",
  "image",
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "libxml",
  "log",
  "magic-crypt",
@@ -2738,7 +2691,7 @@ dependencies = [
  "random_color",
  "regex",
  "reqwest",
- "rust-embed 8.0.0",
+ "rust-embed",
  "sanitize-filename",
  "semver",
  "serde",
@@ -2753,13 +2706,13 @@ name = "news_flash_gtk"
 version = "0.0.0"
 dependencies = [
  "ashpd",
- "base64 0.21.4",
+ "base64",
  "bytesize",
  "chrono",
  "clap",
  "color-backtrace",
  "diffus",
- "dirs 5.0.1",
+ "dirs",
  "eyre",
  "feedly_api",
  "futures",
@@ -2779,11 +2732,12 @@ dependencies = [
  "news-flash",
  "once_cell",
  "pango",
+ "parking_lot",
  "percent-encoding",
  "rc-writer",
  "regex",
  "reqwest",
- "rust-embed 8.0.0",
+ "rust-embed",
  "serde",
  "serde_json",
  "thiserror",
@@ -2811,7 +2765,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "488e5fb51484deb6bc5bc22f0b0db4902ae7e391d075f8d1a1b9a9674ea326d3"
 dependencies = [
- "base64 0.21.4",
+ "base64",
  "log",
  "reqwest",
  "serde",
@@ -2846,31 +2800,25 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
-name = "num-rational"
-version = "0.4.1"
+name = "num-integer"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
- "num-integer",
  "num-traits",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.16"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
@@ -2922,18 +2870,18 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -2943,11 +2891,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openssl"
-version = "0.10.57"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -2964,7 +2912,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2975,9 +2923,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -2987,9 +2935,9 @@ dependencies = [
 
 [[package]]
 name = "opml"
-version = "1.1.5"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "657e16a7677a52c9bcfca579d77c087bc4240644d7e5491b359bb76ed62c779d"
+checksum = "df2f96426c857a92676dc29a9e2a181eb39321047ac994491c69eae01619ddf2"
 dependencies = [
  "hard-xml",
  "serde",
@@ -3004,9 +2952,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
 name = "ordered-float"
-version = "2.10.0"
+version = "2.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
+checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
 dependencies = [
  "num-traits",
 ]
@@ -3023,22 +2971,21 @@ dependencies = [
 
 [[package]]
 name = "pango"
-version = "0.18.0"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1"
+checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d"
 dependencies = [
  "gio",
  "glib",
  "libc",
- "once_cell",
  "pango-sys",
 ]
 
 [[package]]
 name = "pango-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -3048,9 +2995,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.1.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3064,22 +3011,22 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -3107,7 +3054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
  "phf_shared",
- "rand 0.8.5",
+ "rand",
 ]
 
 [[package]]
@@ -3116,7 +3063,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
 dependencies = [
- "siphasher",
+ "siphasher 0.3.11",
 ]
 
 [[package]]
@@ -3144,15 +3091,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -3174,10 +3121,30 @@ dependencies = [
  "libc",
  "log",
  "pin-project-lite",
- "windows-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "polling"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.31",
+ "tracing",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3196,7 +3163,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -3225,9 +3201,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.67"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -3250,11 +3226,11 @@ dependencies = [
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "memchr",
  "unicase",
 ]
@@ -3270,16 +3246,15 @@ dependencies = [
 
 [[package]]
 name = "quanta"
-version = "0.11.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
+checksum = "9ca0b7bac0b97248c40bb77288fc52029cf1459c0461ea1b05ee32ccf011de2c"
 dependencies = [
  "crossbeam-utils",
  "libc",
- "mach2",
  "once_cell",
  "raw-cpuid",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "web-sys",
  "winapi",
 ]
@@ -3292,9 +3267,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quick-xml"
-version = "0.27.1"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "encoding_rs",
  "memchr",
@@ -3302,9 +3277,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -3322,37 +3297,13 @@ dependencies = [
 
 [[package]]
 name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg",
-]
-
-[[package]]
-name = "rand"
 version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -3362,16 +3313,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core",
 ]
 
 [[package]]
@@ -3380,50 +3322,32 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.10",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
+ "getrandom",
 ]
 
 [[package]]
 name = "random_color"
-version = "0.6.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f34bd6526786b2ce5141fd37a4084b5da1ebae74595b5b0d05482a7cef7181"
+checksum = "0085421bc527effa7ed6d46bac0a28734663c47abe03d80a5e78e441fad85196"
 dependencies = [
- "rand 0.7.3",
+ "rand",
 ]
 
 [[package]]
 name = "raw-cpuid"
-version = "10.7.0"
+version = "11.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
+checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -3431,9 +3355,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -3447,38 +3371,29 @@ checksum = "ca8049c74229f22d8cba889ee1d541b05da9c9668d8fe2011bb922250d0be148"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
- "getrandom 0.2.10",
- "redox_syscall 0.2.16",
+ "getrandom",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.5"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3488,9 +3403,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.8"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3499,18 +3414,18 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "reqwest"
-version = "0.11.20"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
  "async-compression",
- "base64 0.21.4",
+ "base64",
  "bytes",
  "cookie",
  "cookie_store",
@@ -3521,7 +3436,6 @@ dependencies = [
  "http",
  "http-body",
  "hyper",
- "hyper-rustls",
  "hyper-tls",
  "ipnet",
  "js-sys",
@@ -3532,14 +3446,14 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls",
  "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
  "tokio",
  "tokio-native-tls",
- "tokio-rustls",
  "tokio-socks",
  "tokio-util",
  "tower-service",
@@ -3549,7 +3463,6 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots",
  "winreg",
 ]
 
@@ -3564,84 +3477,35 @@ dependencies = [
 ]
 
 [[package]]
-name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin 0.5.2",
- "untrusted",
- "web-sys",
- "winapi",
-]
-
-[[package]]
-name = "rust-embed"
-version = "6.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661"
-dependencies = [
- "rust-embed-impl 6.8.1",
- "rust-embed-utils 7.8.1",
- "walkdir",
-]
-
-[[package]]
 name = "rust-embed"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
+checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f"
 dependencies = [
- "rust-embed-impl 8.0.0",
- "rust-embed-utils 8.0.0",
+ "rust-embed-impl",
+ "rust-embed-utils",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-impl"
-version = "6.8.1"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac"
+checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16"
 dependencies = [
  "proc-macro2",
  "quote",
- "rust-embed-utils 7.8.1",
- "syn 2.0.37",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-impl"
-version = "8.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
-dependencies = [
- "proc-macro2",
- "quote",
- "rust-embed-utils 8.0.0",
+ "rust-embed-utils",
  "shellexpand",
- "syn 2.0.37",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-utils"
-version = "7.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74"
-dependencies = [
- "sha2 0.10.8",
+ "syn 2.0.48",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-utils"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada"
+checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665"
 dependencies = [
  "sha2 0.10.8",
  "walkdir",
@@ -3664,67 +3528,45 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
+version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
 dependencies = [
  "bitflags 1.3.2",
  "errno",
  "io-lifetimes",
  "libc",
  "linux-raw-sys 0.3.8",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "rustix"
-version = "0.38.14"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.7",
- "windows-sys",
-]
-
-[[package]]
-name = "rustls"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
-dependencies = [
- "log",
- "ring",
- "rustls-webpki",
- "sct",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
-dependencies = [
- "base64 0.21.4",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.101.6"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "ring",
- "untrusted",
+ "base64",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "same-file"
@@ -3747,11 +3589,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3770,16 +3612,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sct"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
 name = "security-framework"
 version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3804,18 +3636,18 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.19"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
@@ -3832,20 +3664,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.188"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
  "itoa",
  "ryu",
@@ -3854,20 +3686,20 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.16"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -3886,14 +3718,15 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.8.26"
+version = "0.9.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+checksum = "adf8a49373e98a4c5f0ceb5d05aa7c648d75f63774981ed95b7c7443bbd50c6e"
 dependencies = [
- "indexmap 1.9.3",
+ "indexmap",
+ "itoa",
  "ryu",
  "serde",
- "yaml-rust",
+ "unsafe-libyaml",
 ]
 
 [[package]]
@@ -3933,11 +3766,11 @@ dependencies = [
 
 [[package]]
 name = "shellexpand"
-version = "2.1.2"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
+checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
 dependencies = [
- "dirs 4.0.0",
+ "dirs",
 ]
 
 [[package]]
@@ -3962,6 +3795,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
+name = "siphasher"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
+
+[[package]]
 name = "skeptic"
 version = "0.13.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3987,15 +3826,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -4003,19 +3842,19 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "soup3"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f"
+checksum = "3fb6bbb0e56d089517432ca8aac0879e5f343b309783384a7fdbdd6d5232e681"
 dependencies = [
  "futures-channel",
  "gio",
@@ -4026,9 +3865,9 @@ dependencies = [
 
 [[package]]
 name = "soup3-sys"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27"
+checksum = "f9c6d7beef555a91c6129f5e71ecf4b6e9eac8b48914098d713b1537ebbf6917"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -4039,12 +3878,6 @@ dependencies = [
 
 [[package]]
 name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spin"
 version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
@@ -4086,9 +3919,9 @@ dependencies = [
 
 [[package]]
 name = "strsim"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 
 [[package]]
 name = "syn"
@@ -4103,9 +3936,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.37"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4113,15 +3946,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
 name = "system-deps"
-version = "6.1.1"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
 dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml",
+ "toml 0.8.10",
  "version-compare",
 ]
 
@@ -4133,27 +3993,26 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.11"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "temp-dir"
-version = "0.1.11"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
+checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.3.5",
- "rustix 0.38.14",
- "windows-sys",
+ "rustix 0.38.31",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4169,49 +4028,48 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.49"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "thread-id"
-version = "4.2.0"
+version = "4.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669"
+checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b"
 dependencies = [
  "libc",
- "redox_syscall 0.2.16",
  "winapi",
 ]
 
 [[package]]
 name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
  "jpeg-decoder",
@@ -4231,12 +4089,14 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.29"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -4250,10 +4110,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -4274,9 +4135,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -4284,20 +4145,20 @@ dependencies = [
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2 0.5.4",
+ "socket2 0.5.5",
  "tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4311,16 +4172,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokio-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
-dependencies = [
- "rustls",
- "tokio",
-]
-
-[[package]]
 name = "tokio-socks"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4334,9 +4185,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.9"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -4355,14 +4206,26 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.5",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -4373,11 +4236,35 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.1",
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99e68c159e8f5ba8a28c4eb7b0c0c190d77bb479047ca713270048145a9ad28a"
+dependencies = [
+ "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.1",
 ]
 
 [[package]]
@@ -4388,11 +4275,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -4400,35 +4286,35 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "triomphe"
-version = "0.1.9"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f"
+checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3"
 
 [[package]]
 name = "trust-dns-proto"
-version = "0.22.0"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26"
+checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374"
 dependencies = [
  "async-trait",
  "cfg-if",
@@ -4437,10 +4323,10 @@ dependencies = [
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna 0.2.3",
+ "idna 0.4.0",
  "ipnet",
- "lazy_static",
- "rand 0.8.5",
+ "once_cell",
+ "rand",
  "smallvec",
  "thiserror",
  "tinyvec",
@@ -4451,16 +4337,17 @@ dependencies = [
 
 [[package]]
 name = "trust-dns-resolver"
-version = "0.22.0"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe"
+checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6"
 dependencies = [
  "cfg-if",
  "futures-util",
  "ipconfig",
- "lazy_static",
  "lru-cache",
+ "once_cell",
  "parking_lot",
+ "rand",
  "resolv-conf",
  "smallvec",
  "thiserror",
@@ -4471,9 +4358,9 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "typemap-ors"
@@ -4492,10 +4379,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi",
 ]
@@ -4511,9 +4399,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -4540,19 +4428,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "untrusted"
-version = "0.7.1"
+name = "unsafe-libyaml"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
- "idna 0.4.0",
+ "idna 0.5.0",
  "percent-encoding",
  "serde",
 ]
@@ -4571,20 +4459,14 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.4.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.10",
+ "getrandom",
 ]
 
 [[package]]
-name = "value-bag"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3"
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4629,21 +4511,15 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4651,24 +4527,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4678,9 +4554,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4688,28 +4564,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.37",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -4720,9 +4596,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4730,9 +4606,9 @@ dependencies = [
 
 [[package]]
 name = "webkit6"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "111922d85b0f570bc1468d190037299fd0eca36f24147f74c1ad20fae5e21370"
+checksum = "9d82bda18116290a9effc1e0f8dbd00236807bf4a9b990b9484bad5ba852fc06"
 dependencies = [
  "gdk4",
  "gio",
@@ -4740,16 +4616,15 @@ dependencies = [
  "gtk4",
  "javascriptcore6",
  "libc",
- "once_cell",
  "soup3",
  "webkit6-sys",
 ]
 
 [[package]]
 name = "webkit6-sys"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfc4fbaf44fd645711e36a97437443e7f06b401fb66ccc3e5ae17eeb6f5cb681"
+checksum = "6c459941f1b22750cbda435ede3f94ed8e8dd8c8608d324ecb0b9a8556b49abd"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -4763,16 +4638,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "webpki-roots"
-version = "0.25.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
-
-[[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "widestring"
@@ -4812,12 +4681,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4826,7 +4695,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4835,13 +4713,28 @@ version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
@@ -4851,46 +4744,97 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.15"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winnow"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401"
 dependencies = [
  "memchr",
 ]
@@ -4902,16 +4846,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
  "cfg-if",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "xdg-home"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nix",
+ "libc",
  "winapi",
 ]
 
@@ -4934,9 +4878,9 @@ dependencies = [
 
 [[package]]
 name = "xmlparser"
-version = "0.13.5"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
 name = "xmltree"
@@ -4948,25 +4892,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "yaml-rust"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
 name = "zbus"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
 dependencies = [
  "async-broadcast",
  "async-executor",
- "async-fs",
- "async-io",
- "async-lock",
+ "async-fs 1.6.0",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -4983,7 +4918,7 @@ dependencies = [
  "nix",
  "once_cell",
  "ordered-stream",
- "rand 0.8.5",
+ "rand",
  "serde",
  "serde_repr",
  "sha1",
@@ -4999,11 +4934,11 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.14.1"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "regex",
@@ -5052,7 +4987,7 @@ version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 5631a8419cc2..c6ed075a0bd0 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -25,22 +25,21 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsflash";
-  version = "3.0.2";
+  version = "3.1.3";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = "refs/tags/v.${finalAttrs.version}";
-    sha256 = "sha256-tJKr2bGkdpEb+25eN0ZfHhEDl5Zdf8fdaC/rNMbH8Ws=";
+    hash = "sha256-eaZkuFy+pDL09S8TQjpUUPIy+mFIwBScgc8hgbkRJDc=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "news-flash-2.3.0-alpha.0" = "sha256-H0osT7IrPbQ3RQYJZE7J+n7u4UCT86LAybUF3vvIXkA=";
+      "news-flash-2.3.0-alpha.0" = "sha256-Gr7EyAbIFABZx9GR/WvshF0vfJaul7wz4pro2EbwSM8=";
       "newsblur_api-0.2.0" = "sha256-eysCB19znQF8mRwQ64nSp6KuvJ1Trot4g4WCdQDedo8=";
-      "article_scraper-2.0.0" = "sha256-FnOmrZyYewOuU8Au7fhmSJHN7UPCx/CxBV8UtSHattU=";
-      "commafeed_api-0.1.0" = "sha256-69UAmyUm0WG3qPoWZw4PekXh1RjIP5l3dx3gjWfxJDQ=";
+      "article_scraper-2.0.0" = "sha256-URiteEJ1kXoGfRopGoRI/4iPbzd+F9bQaMJKpkrh/sE=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
index ab4972b11a13..ba316812bbeb 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
+++ b/nixpkgs/pkgs/applications/networking/feedreaders/newsflash/no-post-install.patch
@@ -1,14 +1,15 @@
 diff --git a/meson.build b/meson.build
-index 1d7089c..1952e7f 100644
+index e554ddd7..55a5048a 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -58,8 +58,8 @@ meson.add_dist_script(
+@@ -56,10 +56,3 @@ meson.add_dist_script(
+ subdir('data')
+ subdir('po')
  subdir('src')
-
- gnome.post_install(
+-
+-gnome.post_install(
 -  gtk_update_icon_cache: true,
-+  gtk_update_icon_cache: false,
-   glib_compile_schemas: false,
+-  glib_compile_schemas: false,
 -  update_desktop_database: true,
-+  update_desktop_database: false,
- )
+-)
+-
diff --git a/nixpkgs/pkgs/applications/networking/flexget/default.nix b/nixpkgs/pkgs/applications/networking/flexget/default.nix
index c2f13faa10c4..5c2825eb8bdb 100644
--- a/nixpkgs/pkgs/applications/networking/flexget/default.nix
+++ b/nixpkgs/pkgs/applications/networking/flexget/default.nix
@@ -6,7 +6,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.17";
+  version = "3.11.18";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C6BVSrF6xM3tnNnGS39T57N9jB5LnOq4W1hcF99CgPk=";
+    hash = "sha256-ykHBGZS/1cRBdMuZ6tz+3QY5cOBxt+Z2Dp3lKuTKj7w=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/headlines/default.nix b/nixpkgs/pkgs/applications/networking/headlines/default.nix
index 8db698e963bc..a4e5a8e684c6 100644
--- a/nixpkgs/pkgs/applications/networking/headlines/default.nix
+++ b/nixpkgs/pkgs/applications/networking/headlines/default.nix
@@ -14,7 +14,7 @@
 , gtkmm4
 , libsecret
 , fetchFromGitLab
-, makeWrapper
+, wrapGAppsHook4
 , xdg-utils
 , youtube-dl
 , ffmpeg
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
-    makeWrapper
+    wrapGAppsHook4
   ];
 
   buildInputs = [
@@ -56,10 +56,10 @@ stdenv.mkDerivation rec {
     gst-plugins-bad
   ]);
 
-  postFixup = ''
-    wrapProgram "$out/bin/headlines" \
-      --prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${lib.makeBinPath [ xdg-utils youtube-dl ffmpeg ]}"
+    )
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/beeper/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 21542fc5f475..e555aec38724 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -11,11 +11,11 @@
 }:
 let
   pname = "beeper";
-  version = "3.95.22";
+  version = "3.96.30";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.95.22-build-240206gs9w02ysg-x86_64.AppImage";
-    hash = "sha256-svTHoKLlKoCEL+Cc5VCJBJQSO8b/4T1Ukpwbc2nuHxA=";
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.96.30-build-240217e2y4xz3z3-x86_64.AppImage";
+    hash = "sha256-j/ACMLHircmt5yKhQIeZnVaJBDBcB2YYA+XOjcdMjxc=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
index 0d1e0a52ef06..53473310b6a3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,22 +2,22 @@
 let
   versions =
     if stdenv.isLinux then {
-      stable = "0.0.42";
+      stable = "0.0.43";
       ptb = "0.0.67";
-      canary = "0.0.267";
+      canary = "0.0.278";
       development = "0.0.13";
     } else {
-      stable = "0.0.292";
-      ptb = "0.0.96";
-      canary = "0.0.401";
-      development = "0.0.27";
+      stable = "0.0.294";
+      ptb = "0.0.97";
+      canary = "0.0.416";
+      development = "0.0.30";
     };
   version = versions.${branch};
   srcs = rec {
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-7can15JhBc6OJAWZMk8uEdt/D1orCKG1MN1WBdTZrI0=";
+        hash = "sha256-DO8bS5luSKhKW6sJZhz4xVeIPexQVoaD4xYugHCN3uk=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
@@ -25,7 +25,7 @@ let
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-Hq78SDer7Gb+ju8wk9DrMLisHnoYoSwTzrs8PKhbS3s=";
+        hash = "sha256-ypnw/CDY02jD8xLpJvS4Y7GjahgvUhcmV7zSDaVkNpk=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -35,19 +35,19 @@ let
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-1BKMIWSb7+oQ+B80GUCslKn5VNdM0hPTNyZkI/RsxhM=";
+        hash = "sha256-OzaAHCGusctuQk2uzJhCQCTI6SNRGQZXbQ0FgPZLV8w=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-dG0Wcx8X2+kzrpacFZmMCXfLsuLOLbDK4qVLAMzd4RA=";
+        hash = "sha256-nONU9TZAWtxqh5PpvgsvaEHESOKhMYGTe184EgCNxHQ=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-fz/LDQJ/B8luN6Ffobp82hnycBOLg9Kdi0kXLGltCDc=";
+        hash = "sha256-3Vl5qQihUqyQdHnM/968xaCPIM6P6ImLQAiWKXwYnps=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
-        hash = "sha256-MRCBPe98Czm1OG2l3c1GAW4a27fV8XMtQ9pPIJMgqzA=";
+        hash = "sha256-ffTIfurfYprKAJbOOGzzxCfGQofiVy+Q0NmEJ59ENk4=";
       };
     };
     aarch64-darwin = x86_64-darwin;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock b/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
index d4b2aa7a916f..c3a79854053e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
@@ -99,10 +99,58 @@ dependencies = [
 ]
 
 [[package]]
+name = "anstream"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "anyhow"
-version = "1.0.76"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arrayref"
@@ -118,9 +166,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "ashpd"
-version = "0.6.7"
+version = "0.6.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf"
+checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81"
 dependencies = [
  "enumflags2",
  "futures-channel",
@@ -154,7 +202,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 4.0.1",
+ "event-listener 4.0.3",
  "event-listener-strategy",
  "futures-core",
  "pin-project-lite",
@@ -182,18 +230,18 @@ dependencies = [
 
 [[package]]
 name = "async-io"
-version = "2.2.2"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7"
+checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744"
 dependencies = [
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.2.0",
  "parking",
- "polling 3.3.1",
- "rustix 0.38.28",
+ "polling 3.3.2",
+ "rustix 0.38.30",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -210,11 +258,11 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "event-listener 4.0.1",
+ "event-listener 4.0.3",
  "event-listener-strategy",
  "pin-project-lite",
 ]
@@ -232,7 +280,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "windows-sys 0.48.0",
 ]
 
@@ -244,7 +292,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -253,13 +301,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.2.2",
+ "async-io 2.3.0",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -267,32 +315,33 @@ dependencies = [
 
 [[package]]
 name = "async-task"
-version = "4.6.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.75"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "async-tungstenite"
-version = "0.23.0"
+version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc"
+checksum = "3609af4bbf701ddaf1f6bb4e6257dff4ff8932327d0e685d3f653724c258b1ac"
 dependencies = [
  "futures-io",
  "futures-util",
  "log",
  "pin-project-lite",
  "rustls-native-certs",
+ "rustls-pki-types",
  "tokio",
  "tokio-rustls",
  "tungstenite",
@@ -327,21 +376,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.12.3"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
-
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bincode"
@@ -366,9 +403,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "blake3"
@@ -414,11 +451,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock 3.2.0",
+ "async-lock 3.3.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite 2.1.0",
+ "futures-lite 2.2.0",
  "piper",
  "tracing",
 ]
@@ -459,11 +496,11 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.3"
+version = "0.18.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1"
+checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cairo-sys-rs",
  "glib",
  "libc",
@@ -503,9 +540,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.5"
+version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -543,15 +580,15 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "41daef31d7a747c5c847246f36de49ced6f7403b4cdabc807a97b5cc184cda7a"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
  "serde",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -566,21 +603,18 @@ dependencies = [
 ]
 
 [[package]]
-name = "cmake"
-version = "0.1.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
-dependencies = [
- "cc",
-]
-
-[[package]]
 name = "color_quant"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
 name = "concurrent-queue"
 version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -613,9 +647,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -631,34 +665,28 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.17"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -710,7 +738,7 @@ source = "git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve2551
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -759,7 +787,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -792,20 +820,30 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "9eeb342678d785662fd2514be38c459bb925f02b68dd2a3e0f21d7ef82d979dd"
 dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
  "humantime",
- "is-terminal",
  "log",
- "regex",
- "termcolor",
 ]
 
 [[package]]
@@ -857,9 +895,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "4.0.1"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -872,7 +910,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "event-listener 4.0.1",
+ "event-listener 4.0.3",
  "pin-project-lite",
 ]
 
@@ -909,9 +947,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.1"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -940,7 +978,7 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
 
 [[package]]
 name = "flare"
-version = "0.11.2"
+version = "0.12.0"
 dependencies = [
  "ashpd",
  "async-trait",
@@ -951,7 +989,7 @@ dependencies = [
  "gdk4",
  "gettext-rs",
  "gtk4",
- "image 0.24.7",
+ "image 0.24.8",
  "lazy_static",
  "libadwaita",
  "libsignal-service",
@@ -1087,9 +1125,9 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -1103,7 +1141,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1147,9 +1185,9 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.18.3"
+version = "0.18.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c"
+checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
@@ -1264,9 +1302,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -1364,11 +1402,11 @@ dependencies = [
 
 [[package]]
 name = "glib"
-version = "0.18.4"
+version = "0.18.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "951bbd7fdc5c044ede9f05170f05a3ae9479239c3afdfe2d22d537a3add15c4e"
+checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "futures-channel",
  "futures-core",
  "futures-executor",
@@ -1387,16 +1425,16 @@ dependencies = [
 
 [[package]]
 name = "glib-macros"
-version = "0.18.3"
+version = "0.18.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5"
+checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
 dependencies = [
  "heck 0.4.1",
  "proc-macro-crate 2.0.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1535,6 +1573,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "h2"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http 0.2.11",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util 0.7.10",
+ "tracing",
+]
+
+[[package]]
 name = "half"
 version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1555,10 +1612,10 @@ version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
 dependencies = [
- "base64 0.21.5",
+ "base64",
  "bytes",
  "headers-core",
- "http",
+ "http 0.2.11",
  "httpdate",
  "mime",
  "sha1",
@@ -1570,7 +1627,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
 dependencies = [
- "http",
+ "http 0.2.11",
 ]
 
 [[package]]
@@ -1590,9 +1647,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
 
 [[package]]
 name = "hex"
@@ -1648,13 +1705,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "http"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
 name = "http-body"
 version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http",
+ "http 0.2.11",
  "pin-project-lite",
 ]
 
@@ -1686,13 +1754,14 @@ dependencies = [
  "futures-channel",
  "futures-core",
  "futures-util",
- "http",
+ "h2",
+ "http 0.2.11",
  "http-body",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2 0.5.5",
  "tokio",
  "tower-service",
  "tracing",
@@ -1701,16 +1770,17 @@ dependencies = [
 
 [[package]]
 name = "hyper-rustls"
-version = "0.24.2"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+checksum = "399c78f9338483cb7e630c8474b07268983c6bd5acee012e4211f9f7bb21b070"
 dependencies = [
  "futures-util",
- "http",
+ "http 0.2.11",
  "hyper",
  "log",
  "rustls",
  "rustls-native-certs",
+ "rustls-pki-types",
  "tokio",
  "tokio-rustls",
 ]
@@ -1729,9 +1799,9 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -1781,21 +1851,20 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "exr",
  "gif 0.12.0",
- "jpeg-decoder 0.3.0",
- "num-rational 0.4.1",
+ "jpeg-decoder 0.3.1",
  "num-traits",
- "png 0.17.10",
+ "png 0.17.11",
  "qoi",
- "tiff 0.9.0",
+ "tiff 0.9.1",
 ]
 
 [[package]]
@@ -1839,17 +1908,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix 0.38.28",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "itertools"
 version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1893,18 +1951,18 @@ dependencies = [
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1958,9 +2016,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "libm"
@@ -2003,12 +2061,12 @@ dependencies = [
 [[package]]
 name = "libsignal-service"
 version = "0.1.0"
-source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=9d55addebe010f0acbcabdfc02ab41979c1863e0#9d55addebe010f0acbcabdfc02ab41979c1863e0"
+source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=a2e7540a71866a62028ad0205574a5feb0e717ec#a2e7540a71866a62028ad0205574a5feb0e717ec"
 dependencies = [
  "aes",
  "aes-gcm",
  "async-trait",
- "base64 0.13.1",
+ "base64",
  "bincode",
  "bytes",
  "cbc",
@@ -2020,15 +2078,16 @@ dependencies = [
  "hkdf",
  "hmac",
  "libsignal-protocol",
- "log",
  "phonenumber",
- "prost 0.10.4",
- "prost-build 0.10.4",
+ "prost 0.12.3",
+ "prost-build 0.12.3",
  "rand",
  "serde",
  "serde_json",
  "sha2",
  "thiserror",
+ "tracing",
+ "tracing-futures",
  "url",
  "uuid",
  "zkgroup",
@@ -2037,7 +2096,7 @@ dependencies = [
 [[package]]
 name = "libsignal-service-hyper"
 version = "0.1.0"
-source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=9d55addebe010f0acbcabdfc02ab41979c1863e0#9d55addebe010f0acbcabdfc02ab41979c1863e0"
+source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=a2e7540a71866a62028ad0205574a5feb0e717ec#a2e7540a71866a62028ad0205574a5feb0e717ec"
 dependencies = [
  "async-trait",
  "async-tungstenite",
@@ -2048,14 +2107,15 @@ dependencies = [
  "hyper-rustls",
  "hyper-timeout",
  "libsignal-service",
- "log",
  "mpart-async",
- "rustls-pemfile 0.3.0",
+ "rustls-pemfile",
  "serde",
  "serde_json",
  "thiserror",
  "tokio",
  "tokio-rustls",
+ "tracing",
+ "tracing-futures",
  "url",
 ]
 
@@ -2102,9 +2162,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "locale_config"
@@ -2155,9 +2215,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -2248,7 +2308,7 @@ dependencies = [
  "bytes",
  "futures-core",
  "futures-util",
- "http",
+ "http 0.2.11",
  "httparse",
  "log",
  "memchr",
@@ -2258,7 +2318,7 @@ dependencies = [
  "rand",
  "thiserror",
  "tokio",
- "tokio-util",
+ "tokio-util 0.6.10",
 ]
 
 [[package]]
@@ -2422,7 +2482,7 @@ dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2477,9 +2537,9 @@ checksum = "44d11de466f4a3006fe8a5e7ec84e93b79c70cb992ae0aa0eb631ad2df8abfe2"
 
 [[package]]
 name = "oo7"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "220729ba847d98e1a9902c05e41dae79ce4a0b913dad68bc540dd3120a8c2b6b"
+checksum = "aceca83a983f36dd8ee90230636fbf92897cb2dc2701d2ae66f885e20e56978d"
 dependencies = [
  "aes",
  "byteorder",
@@ -2627,6 +2687,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "pin-project"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "pin-project-lite"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2651,15 +2731,15 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "platforms"
-version = "3.2.0"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "png"
@@ -2675,9 +2755,9 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -2715,14 +2795,14 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.1"
+version = "3.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "tracing",
  "windows-sys 0.52.0",
 ]
@@ -2770,9 +2850,9 @@ dependencies = [
 
 [[package]]
 name = "pqcrypto-kyber"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e205df07793e278e4a77c44db68b7d0e81064984cfcf508f24ae68cde63b6609"
+checksum = "c32fe9d5c9913b1aed1ba92b3449eb2d7cf7ca29741b11455dfa34c711b95776"
 dependencies = [
  "cc",
  "glob",
@@ -2790,14 +2870,13 @@ checksum = "94e851c7654eed9e68d7d27164c454961a616cf8c203d500607ef22c737b51bb"
 [[package]]
 name = "presage"
 version = "0.6.0-dev"
-source = "git+https://github.com/Schmiddiii/presage?rev=e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1#e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1"
+source = "git+https://github.com/Schmiddiii/presage?rev=75011227faac60773bb1422d365ecc7fed95484a#75011227faac60773bb1422d365ecc7fed95484a"
 dependencies = [
- "base64 0.21.5",
+ "base64",
  "futures",
  "libsignal-service",
  "libsignal-service-hyper",
  "log",
- "parking_lot",
  "rand",
  "serde",
  "serde_json",
@@ -2810,7 +2889,7 @@ dependencies = [
 [[package]]
 name = "presage-store-cipher"
 version = "0.1.0"
-source = "git+https://github.com/Schmiddiii/presage?rev=e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1#e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1"
+source = "git+https://github.com/Schmiddiii/presage?rev=75011227faac60773bb1422d365ecc7fed95484a#75011227faac60773bb1422d365ecc7fed95484a"
 dependencies = [
  "blake3",
  "chacha20poly1305",
@@ -2827,16 +2906,16 @@ dependencies = [
 [[package]]
 name = "presage-store-sled"
 version = "0.6.0-dev"
-source = "git+https://github.com/Schmiddiii/presage?rev=e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1#e74ea1bcf5acb27853c9eb9c9c2ff3d1d653fdf1"
+source = "git+https://github.com/Schmiddiii/presage?rev=75011227faac60773bb1422d365ecc7fed95484a#75011227faac60773bb1422d365ecc7fed95484a"
 dependencies = [
  "async-trait",
- "base64 0.12.3",
+ "base64",
  "fs_extra",
  "log",
  "presage",
  "presage-store-cipher",
- "prost 0.10.4",
- "prost-build 0.10.4",
+ "prost 0.12.3",
+ "prost-build 0.12.3",
  "quickcheck_macros",
  "serde",
  "serde_json",
@@ -2846,6 +2925,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "prettyplease"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
+dependencies = [
+ "proc-macro2",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "proc-macro-crate"
 version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2891,9 +2980,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.71"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -2910,12 +2999,12 @@ dependencies = [
 
 [[package]]
 name = "prost"
-version = "0.10.4"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e"
+checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
 dependencies = [
  "bytes",
- "prost-derive 0.10.1",
+ "prost-derive 0.12.3",
 ]
 
 [[package]]
@@ -2940,22 +3029,22 @@ dependencies = [
 
 [[package]]
 name = "prost-build"
-version = "0.10.4"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae5a4388762d5815a9fc0dea33c56b021cdc8dde0c55e0c9ca57197254b0cab"
+checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"
 dependencies = [
  "bytes",
- "cfg-if",
- "cmake",
  "heck 0.4.1",
- "itertools 0.10.5",
- "lazy_static",
+ "itertools 0.11.0",
  "log",
  "multimap",
+ "once_cell",
  "petgraph",
- "prost 0.10.4",
- "prost-types 0.10.1",
+ "prettyplease",
+ "prost 0.12.3",
+ "prost-types 0.12.3",
  "regex",
+ "syn 2.0.48",
  "tempfile",
  "which",
 ]
@@ -2975,15 +3064,15 @@ dependencies = [
 
 [[package]]
 name = "prost-derive"
-version = "0.10.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc"
+checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
 dependencies = [
  "anyhow",
- "itertools 0.10.5",
+ "itertools 0.11.0",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2998,12 +3087,11 @@ dependencies = [
 
 [[package]]
 name = "prost-types"
-version = "0.10.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68"
+checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
 dependencies = [
- "bytes",
- "prost 0.10.4",
+ "prost 0.12.3",
 ]
 
 [[package]]
@@ -3022,7 +3110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1d06cb9646c7a14096231a2474d7f21e5e8c13de090c68d13bde6157cfe7f159"
 dependencies = [
  "html-escape",
- "image 0.24.7",
+ "image 0.24.8",
  "qrcodegen",
 ]
 
@@ -3054,9 +3142,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -3093,9 +3181,9 @@ dependencies = [
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -3103,9 +3191,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -3131,9 +3219,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3143,9 +3231,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -3221,66 +3309,68 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.12",
+ "linux-raw-sys 0.4.13",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.21.10"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
 dependencies = [
  "log",
  "ring",
+ "rustls-pki-types",
  "rustls-webpki",
- "sct",
+ "subtle",
+ "zeroize",
 ]
 
 [[package]]
 name = "rustls-native-certs"
-version = "0.6.3"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792"
 dependencies = [
  "openssl-probe",
- "rustls-pemfile 1.0.4",
+ "rustls-pemfile",
+ "rustls-pki-types",
  "schannel",
  "security-framework",
 ]
 
 [[package]]
 name = "rustls-pemfile"
-version = "0.3.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ee86d63972a7c661d1536fefe8c3c8407321c3df668891286de28abcd087360"
+checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4"
 dependencies = [
- "base64 0.13.1",
+ "base64",
+ "rustls-pki-types",
 ]
 
 [[package]]
-name = "rustls-pemfile"
-version = "1.0.4"
+name = "rustls-pki-types"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
-dependencies = [
- "base64 0.21.5",
-]
+checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a"
 
 [[package]]
 name = "rustls-webpki"
-version = "0.101.7"
+version = "0.102.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+checksum = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b"
 dependencies = [
  "ring",
+ "rustls-pki-types",
  "untrusted",
 ]
 
@@ -3298,11 +3388,11 @@ checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3318,16 +3408,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
 name = "security-framework"
 version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3352,35 +3432,35 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
-version = "1.0.193"
+version = "1.0.195"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.193"
+version = "1.0.195"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.111"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
 dependencies = [
  "itoa",
  "ryu",
@@ -3389,13 +3469,13 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3488,9 +3568,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
@@ -3609,9 +3689,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.42"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3645,9 +3725,9 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.12"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "temp-dir"
@@ -3657,44 +3737,35 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
  "redox_syscall 0.4.1",
- "rustix 0.38.28",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
-dependencies = [
- "winapi-util",
+ "rustix 0.38.30",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.51"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.51"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3710,12 +3781,12 @@ dependencies = [
 
 [[package]]
 name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
- "jpeg-decoder 0.3.0",
+ "jpeg-decoder 0.3.1",
  "weezl",
 ]
 
@@ -3771,16 +3842,17 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tokio-rustls"
-version = "0.24.1"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
  "rustls",
+ "rustls-pki-types",
  "tokio",
 ]
 
@@ -3799,6 +3871,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
 name = "toml"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3869,7 +3955,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3882,6 +3968,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
+[[package]]
 name = "try-lock"
 version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3889,18 +3985,19 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "tungstenite"
-version = "0.20.1"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
+checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
 dependencies = [
  "byteorder",
  "bytes",
  "data-encoding",
- "http",
+ "http 1.0.0",
  "httparse",
  "log",
  "rand",
  "rustls",
+ "rustls-pki-types",
  "sha1",
  "thiserror",
  "url",
@@ -3935,9 +4032,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -4007,10 +4104,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
 
 [[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
  "serde",
 ]
@@ -4050,9 +4153,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4060,24 +4163,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4085,28 +4188,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "which"
@@ -4117,7 +4220,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.28",
+ "rustix 0.38.30",
 ]
 
 [[package]]
@@ -4137,15 +4240,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4153,11 +4247,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4294,9 +4388,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
-version = "0.5.30"
+version = "0.5.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5"
+checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
 dependencies = [
  "memchr",
 ]
@@ -4401,7 +4495,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.42",
+ "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
index b33cdbfc4acd..d61bb07d2bcf 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flare";
-  version = "0.11.2";
+  version = "0.12.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.com";
     owner = "schmiddi-on-mobile";
-    repo = pname;
+    repo = "flare";
     rev = version;
-    hash = "sha256-p6G+FbSiBkaF/qlUOPdPdgTqrrKFAOuIaCr6DCv+az4=";
+    hash = "sha256-Dg5UhVTmxiwPIbU8fG/ehX9Zp8WI2V+JoOEI7P1Way4=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
@@ -36,8 +36,8 @@ stdenv.mkDerivation rec {
     outputHashes = {
       "curve25519-dalek-4.0.0" = "sha256-KUXvYXeVvJEQ/+dydKzXWCZmA2bFa2IosDzaBL6/Si0=";
       "libsignal-protocol-0.1.0" = "sha256-FCrJO7porlY5FrwZ2c67UPd4tgN7cH2/3DTwfPjihwM=";
-      "libsignal-service-0.1.0" = "sha256-Ul1mg+oQ8te364Jc2gOBoiq2udYsw9UBret/O9VU9ec=";
-      "presage-0.6.0-dev" = "sha256-0Z2ySXMZZ4wpyesxOikhra/eN7K3I+ElAh7vAaNSbb0=";
+      "libsignal-service-0.1.0" = "sha256-lzyUUP1mhxxIU+xCr+5VAoeEO6FlDgeEJtWhm9avJb8=";
+      "presage-0.6.0-dev" = "sha256-PqMz6jJuL/4LVY3kNFQ9NmKt3D6cwQkGiPs2QJsL01A=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index 869ed18c2cb3..f3505d9856b2 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -4,7 +4,7 @@
 , imagemagick
 , mesa
 , libdrm
-, flutter
+, flutter316
 , pulseaudio
 , makeDesktopItem
 , gnome
@@ -16,7 +16,7 @@ let
   libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ];
   pubspecLock = lib.importJSON ./pubspec.lock.json;
 in
-flutter.buildFlutterApplication (rec {
+flutter316.buildFlutterApplication (rec {
   pname = "fluffychat-${targetFlutterPlatform}";
   version = "1.17.1";
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/qq/sources.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/qq/sources.nix
index eda78b80edef..0353fcc19fe2 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,8 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-01-27
+# Last updated: 2024-02-16
 {
-  version = "3.2.5-21159";
-  urlhash = "feb78c41";
-  arm64_hash = "sha256-3zbhFKQrO1tMSnWJllLJLaVeVpLs44WBbuuyU1LTMIU=";
-  amd64_hash = "sha256-pX99V18gjlMM6+jC9U7E5YvHDODGsrj0twt9K4rJN4Y=";
+  version = "3.2.5-21453";
+  urlhash = "852276c1";
+  arm64_hash = "sha256-g0J1FWG07bkabDHp2nuS48MNut2+N7gk0k5zWcmuQVw=";
+  amd64_hash = "sha256-6Qe4bP3q9RLEIJn9EfqqYaVTF8FRBNcjtVPl+zY7v5c=";
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index dfa5155f64ce..4f8f972620ac 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.12.2";
+  version = "0.12.8";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
-    url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
-    hash = "sha256-XhLTovymqjbc19X717WyNIi4jdpwnyttXGqkkHBFwQA=";
+    url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
+    hash = "sha256-jBz1D1Uz3z+QYj+zAOrbSIkZZeKWSwU3/pHI+sDjJHw=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 0854e5300a66..2f82773b972e 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240205";
+  version = "20240219-1";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-Iwos+WJrCWXbNpuaZTLyc8OEtfMA0EF1DIyLNlsZSx4=";
+    hash = "sha256-gzc72y9AL/JUNp8YJkRKq9rq1NenX+4aOxb5HODy8v4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signald/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signald/default.nix
index 4bd465ce033d..f99954d39467 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signald/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signald/default.nix
@@ -80,7 +80,7 @@ let
     outputHash = {
       x86_64-linux = "sha256-9DHykkvazVBN2kfw1Pbejizk/R18v5w8lRBHZ4aXL5Q=";
       aarch64-linux = "sha256-RgAiRbUojBc+9RN/HpAzzpTjkjZ6q+jebDsqvah5XBw=";
-    }.${stdenv.system} or (throw "Unsupported platform");
+    }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   };
 
 in stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
index 98edbce3cb49..8ecfdb35a7d7 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "teams-for-linux";
-  version = "1.4.10";
+  version = "1.4.11";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = "teams-for-linux";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-dR9YJJBBxvnJkD42+MwIql3B1dlA6WUSLJ//lW22mmc=";
+    hash = "sha256-vjxbWOaUanYXalGVDgX+sjsrz5Cn1yGBkBs9B8VGrDQ=";
   };
 
   offlineCache = fetchYarnDeps {
diff --git a/nixpkgs/pkgs/applications/networking/irc/halloy/Cargo.lock b/nixpkgs/pkgs/applications/networking/irc/halloy/Cargo.lock
index ccb478970631..bd8a9f07c52a 100644
--- a/nixpkgs/pkgs/applications/networking/irc/halloy/Cargo.lock
+++ b/nixpkgs/pkgs/applications/networking/irc/halloy/Cargo.lock
@@ -46,13 +46,15 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
  "cfg-if",
+ "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
@@ -78,13 +80,15 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
 
 [[package]]
 name = "android-activity"
-version = "0.4.1"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c77a0045eda8b888c76ea473c2b0515ba6f471d318f8927c5c72240937035a6"
+checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9"
 dependencies = [
  "android-properties",
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "cc",
+ "cesu8",
+ "jni",
  "jni-sys",
  "libc",
  "log",
@@ -92,6 +96,7 @@ dependencies = [
  "ndk-context",
  "ndk-sys",
  "num_enum",
+ "thiserror",
 ]
 
 [[package]]
@@ -137,6 +142,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
 
 [[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
+
+[[package]]
 name = "ash"
 version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -175,7 +186,7 @@ dependencies = [
  "async-lock",
  "async-task",
  "concurrent-queue",
- "fastrand",
+ "fastrand 1.9.0",
  "futures-lite",
  "slab",
 ]
@@ -205,8 +216,8 @@ dependencies = [
  "futures-lite",
  "log",
  "parking",
- "polling",
- "rustix",
+ "polling 2.8.0",
+ "rustix 0.37.19",
  "slab",
  "socket2",
  "waker-fn",
@@ -234,7 +245,7 @@ dependencies = [
  "cfg-if",
  "event-listener",
  "futures-lite",
- "rustix",
+ "rustix 0.37.19",
  "signal-hook",
  "windows-sys 0.48.0",
 ]
@@ -247,7 +258,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -264,7 +275,7 @@ checksum = "7b2d0f03b3640e3a630367e40c468cb7f309529c708ed1d88597047b0e7c6ef7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -329,9 +340,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6776fc96284a0bb647b615056fc496d1fe1644a7ab01829818a6d91cae888b84"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block"
@@ -350,21 +361,21 @@ dependencies = [
 
 [[package]]
 name = "block-sys"
-version = "0.1.0-beta.1"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
 dependencies = [
  "objc-sys",
 ]
 
 [[package]]
 name = "block2"
-version = "0.2.0-alpha.6"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
 dependencies = [
  "block-sys",
- "objc2-encode",
+ "objc2",
 ]
 
 [[package]]
@@ -377,7 +388,7 @@ dependencies = [
  "async-lock",
  "async-task",
  "atomic-waker",
- "fastrand",
+ "fastrand 1.9.0",
  "futures-lite",
  "log",
 ]
@@ -405,7 +416,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -422,15 +433,28 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "calloop"
-version = "0.10.5"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
+ "bitflags 2.4.2",
  "log",
- "nix 0.25.1",
- "slotmap",
+ "polling 3.3.2",
+ "rustix 0.38.30",
+ "slab",
  "thiserror",
- "vec_map",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix 0.38.30",
+ "wayland-backend",
+ "wayland-client 0.31.2",
 ]
 
 [[package]]
@@ -443,6 +467,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[package]]
 name = "cfg-if"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -455,6 +485,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+
+[[package]]
 name = "chrono"
 version = "0.4.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -472,13 +508,11 @@ dependencies = [
 
 [[package]]
 name = "clipboard-win"
-version = "4.5.0"
+version = "5.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+checksum = "c57002a5d9be777c1ef967e33674dac9ebd310d8893e4e3437b14d5f0f6372cc"
 dependencies = [
  "error-code",
- "str-buf",
- "winapi",
 ]
 
 [[package]]
@@ -513,16 +547,16 @@ dependencies = [
 
 [[package]]
 name = "cocoa"
-version = "0.24.1"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
 dependencies = [
  "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
  "core-foundation",
  "core-graphics",
- "foreign-types",
+ "foreign-types 0.5.0",
  "libc",
  "objc",
 ]
@@ -537,7 +571,7 @@ dependencies = [
  "block",
  "core-foundation",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.3.2",
  "libc",
  "objc",
 ]
@@ -559,10 +593,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
-name = "com-rs"
-version = "0.2.1"
+name = "com"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
+dependencies = [
+ "com_macros",
+]
+
+[[package]]
+name = "com_macros"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
+dependencies = [
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "com_macros_support"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
 
 [[package]]
 name = "concurrent-queue"
@@ -591,14 +660,14 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
 name = "core-graphics"
-version = "0.22.3"
+version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.5.0",
  "libc",
 ]
 
@@ -610,22 +679,23 @@ checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
- "foreign-types",
+ "foreign-types 0.3.2",
  "libc",
 ]
 
 [[package]]
 name = "cosmic-text"
-version = "0.9.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0b68966c2543609f8d92f9d33ac3b719b2a67529b0c6c0b3e025637b477eef9"
+checksum = "75acbfb314aeb4f5210d379af45ed1ec2c98c7f1790bf57b8a4c562ac0c51b71"
 dependencies = [
- "aliasable",
  "fontdb",
  "libm",
  "log",
  "rangemap",
+ "rustc-hash",
  "rustybuzz",
+ "self_cell",
  "swash",
  "sys-locale",
  "unicode-bidi",
@@ -712,13 +782,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "ctor"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
+dependencies = [
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
 name = "d3d12"
-version = "0.6.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
 dependencies = [
- "bitflags 1.3.2",
- "libloading 0.7.4",
+ "bitflags 2.4.2",
+ "libloading 0.8.0",
  "winapi",
 ]
 
@@ -797,11 +883,11 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
 
 [[package]]
 name = "dlib"
-version = "0.5.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
- "libloading 0.7.4",
+ "libloading 0.8.0",
 ]
 
 [[package]]
@@ -811,6 +897,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
+name = "drm"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
+dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "drm-ffi",
+ "drm-fourcc",
+ "rustix 0.38.30",
+]
+
+[[package]]
+name = "drm-ffi"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
+dependencies = [
+ "drm-sys",
+ "rustix 0.38.30",
+]
+
+[[package]]
+name = "drm-fourcc"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
+
+[[package]]
+name = "drm-sys"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
+dependencies = [
+ "libc",
+ "linux-raw-sys 0.6.4",
+]
+
+[[package]]
 name = "either"
 version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -847,45 +972,36 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "errno"
-version = "0.3.1"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "error-code"
-version = "2.3.1"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
-dependencies = [
- "libc",
- "str-buf",
-]
+checksum = "281e452d3bad4005426416cdba5ccfd4f5c1280e10099e21db27f7c1c28347fc"
 
 [[package]]
 name = "etagere"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcf22f748754352918e082e0039335ee92454a5d62bcaf69b5e8daf5907d9644"
+checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e"
 dependencies = [
  "euclid",
  "svg_fmt",
@@ -938,6 +1054,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
 name = "fdeflate"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -979,16 +1101,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "fontconfig-parser"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
+dependencies = [
+ "roxmltree",
+]
+
+[[package]]
 name = "fontdb"
-version = "0.14.1"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e"
+checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
 dependencies = [
+ "fontconfig-parser",
  "log",
- "memmap2 0.6.2",
+ "memmap2 0.8.0",
  "slotmap",
  "tinyvec",
- "ttf-parser",
+ "ttf-parser 0.19.0",
 ]
 
 [[package]]
@@ -997,7 +1129,28 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 dependencies = [
- "foreign-types-shared",
+ "foreign-types-shared 0.1.1",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared 0.3.1",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1007,6 +1160,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
 name = "futures"
 version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1061,7 +1220,7 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
 dependencies = [
- "fastrand",
+ "fastrand 1.9.0",
  "futures-core",
  "futures-io",
  "memchr",
@@ -1078,7 +1237,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1132,6 +1291,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "gethostname"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+dependencies = [
+ "libc",
+ "windows-targets 0.48.0",
+]
+
+[[package]]
 name = "getrandom"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1161,6 +1330,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
 
 [[package]]
+name = "gl_generator"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
+dependencies = [
+ "khronos_api",
+ "log",
+ "xml-rs",
+]
+
+[[package]]
 name = "glam"
 version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1168,9 +1348,9 @@ checksum = "ad83ab008a4fa3b31dfa713dd41b5a9bdea1e94e4cf1e2fc274ffbd49b0271d3"
 
 [[package]]
 name = "glow"
-version = "0.12.2"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "807edf58b70c0b5b2181dd39fe1839dbdb3ba02645630dc5f753e23da307f762"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1179,10 +1359,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "glutin_wgl_sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
+dependencies = [
+ "gl_generator",
+]
+
+[[package]]
 name = "glyphon"
-version = "0.3.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e87caa7459145f5e5f167bf34db4532901404c679e62339fb712a0e3ccf722a"
+checksum = "6a62d0338e4056db6a73221c2fb2e30619452f6ea9651bac4110f51b0f7a7581"
 dependencies = [
  "cosmic-text",
  "etagere",
@@ -1192,34 +1381,34 @@ dependencies = [
 
 [[package]]
 name = "gpu-alloc"
-version = "0.5.4"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62"
+checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "gpu-alloc-types",
 ]
 
 [[package]]
 name = "gpu-alloc-types"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5"
+checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
 name = "gpu-allocator"
-version = "0.22.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
 dependencies = [
- "backtrace",
  "log",
+ "presser",
  "thiserror",
  "winapi",
- "windows 0.44.0",
+ "windows 0.52.0",
 ]
 
 [[package]]
@@ -1294,24 +1483,24 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.7",
  "allocator-api2",
 ]
 
 [[package]]
 name = "hassle-rs"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
 dependencies = [
- "bitflags 1.3.2",
- "com-rs",
+ "bitflags 2.4.2",
+ "com",
  "libc",
- "libloading 0.7.4",
+ "libloading 0.8.0",
  "thiserror",
  "widestring",
  "winapi",
@@ -1375,8 +1564,8 @@ dependencies = [
 
 [[package]]
 name = "iced"
-version = "0.9.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_core",
  "iced_futures",
@@ -1389,21 +1578,24 @@ dependencies = [
 
 [[package]]
 name = "iced_core"
-version = "0.9.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "bitflags 1.3.2",
- "instant",
  "log",
+ "num-traits",
  "palette",
+ "raw-window-handle",
+ "smol_str",
  "thiserror",
- "twox-hash",
+ "web-time",
+ "xxhash-rust",
 ]
 
 [[package]]
 name = "iced_futures"
-version = "0.6.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "futures",
  "iced_core",
@@ -1415,38 +1607,43 @@ dependencies = [
 
 [[package]]
 name = "iced_graphics"
-version = "0.8.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
+ "cosmic-text",
  "glam",
  "half",
  "iced_core",
+ "iced_futures",
  "image",
  "kamadak-exif",
  "log",
+ "once_cell",
  "raw-window-handle",
+ "rustc-hash",
  "thiserror",
+ "unicode-segmentation",
+ "xxhash-rust",
 ]
 
 [[package]]
 name = "iced_renderer"
-version = "0.1.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_graphics",
  "iced_tiny_skia",
  "iced_wgpu",
  "log",
- "raw-window-handle",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_runtime"
-version = "0.1.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_core",
  "iced_futures",
@@ -1455,8 +1652,8 @@ dependencies = [
 
 [[package]]
 name = "iced_style"
-version = "0.8.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_core",
  "once_cell",
@@ -1465,25 +1662,24 @@ dependencies = [
 
 [[package]]
 name = "iced_tiny_skia"
-version = "0.1.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "bytemuck",
  "cosmic-text",
  "iced_graphics",
  "kurbo",
  "log",
- "raw-window-handle",
  "rustc-hash",
  "softbuffer",
- "tiny-skia 0.10.0",
- "twox-hash",
+ "tiny-skia",
+ "xxhash-rust",
 ]
 
 [[package]]
 name = "iced_wgpu"
-version = "0.10.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -1494,16 +1690,13 @@ dependencies = [
  "iced_graphics",
  "log",
  "once_cell",
- "raw-window-handle",
- "rustc-hash",
- "twox-hash",
  "wgpu",
 ]
 
 [[package]]
 name = "iced_widget"
-version = "0.1.0"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_renderer",
  "iced_runtime",
@@ -1516,15 +1709,15 @@ dependencies = [
 
 [[package]]
 name = "iced_winit"
-version = "0.9.1"
-source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
+version = "0.12.0"
+source = "git+https://github.com/tarkah/iced?rev=f9db8d1efe68634b7b06ce07f12ea33a3e37d79c#f9db8d1efe68634b7b06ce07f12ea33a3e37d79c"
 dependencies = [
  "iced_graphics",
  "iced_runtime",
  "iced_style",
  "log",
- "raw-window-handle",
  "thiserror",
+ "tracing",
  "web-sys",
  "winapi",
  "window_clipboard",
@@ -1532,6 +1725,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
+]
+
+[[package]]
 name = "image"
 version = "0.24.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1561,15 +1765,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "indexmap"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
+]
+
+[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
  "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
@@ -1626,9 +1837,9 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.10.5"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
@@ -1640,6 +1851,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
 name = "jni-sys"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1665,9 +1892,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.63"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1683,16 +1910,22 @@ dependencies = [
 
 [[package]]
 name = "khronos-egl"
-version = "4.1.0"
+version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3"
+checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
 dependencies = [
  "libc",
- "libloading 0.7.4",
+ "libloading 0.8.0",
  "pkg-config",
 ]
 
 [[package]]
+name = "khronos_api"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
+
+[[package]]
 name = "kurbo"
 version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1715,9 +1948,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "libloading"
@@ -1741,21 +1974,27 @@ dependencies = [
 
 [[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
-name = "linked-hash-map"
-version = "0.5.6"
+name = "linux-raw-sys"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
 
 [[package]]
 name = "lock_api"
@@ -1769,17 +2008,17 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.18"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lru"
-version = "0.11.0"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eedb2bdbad7e0634f83989bf596f497b070130daaa398ab22d84c39e266deec5"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
 dependencies = [
- "hashbrown 0.14.0",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -1821,9 +2060,18 @@ dependencies = [
 
 [[package]]
 name = "memmap2"
-version = "0.6.2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
@@ -1857,16 +2105,17 @@ dependencies = [
 
 [[package]]
 name = "metal"
-version = "0.24.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.5.0",
  "log",
  "objc",
+ "paste",
 ]
 
 [[package]]
@@ -1901,7 +2150,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
  "libc",
- "log",
  "wasi 0.11.0+wasi-snapshot-preview1",
  "windows-sys 0.48.0",
 ]
@@ -1914,15 +2162,15 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
 
 [[package]]
 name = "naga"
-version = "0.12.2"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80cd00bd6180a8790f1c020ed258a46b8d73dd5bd6af104a238c9d71f806938e"
+checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899"
 dependencies = [
  "bit-set",
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "hexf-parse",
- "indexmap",
+ "indexmap 2.2.1",
  "log",
  "num-traits",
  "rustc-hash",
@@ -1961,12 +2209,13 @@ dependencies = [
 
 [[package]]
 name = "ndk"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "jni-sys",
+ "log",
  "ndk-sys",
  "num_enum",
  "raw-window-handle",
@@ -1981,9 +2230,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
 name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
+version = "0.5.0+25.2.9519653"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 dependencies = [
  "jni-sys",
 ]
@@ -2015,19 +2264,6 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
-dependencies = [
- "autocfg",
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset 0.6.5",
-]
-
-[[package]]
-name = "nix"
 version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
@@ -2036,7 +2272,6 @@ dependencies = [
  "cfg-if",
  "libc",
  "memoffset 0.7.1",
- "pin-utils",
  "static_assertions",
 ]
 
@@ -2105,23 +2340,23 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
  "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.11"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2147,29 +2382,25 @@ dependencies = [
 
 [[package]]
 name = "objc-sys"
-version = "0.2.0-beta.2"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
 
 [[package]]
 name = "objc2"
-version = "0.3.0-beta.3.patch-leaks.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
 dependencies = [
- "block2",
  "objc-sys",
  "objc2-encode",
 ]
 
 [[package]]
 name = "objc2-encode"
-version = "2.0.0-pre.2"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
-dependencies = [
- "objc-sys",
-]
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
 
 [[package]]
 name = "objc_exception"
@@ -2200,17 +2431,18 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open"
-version = "4.1.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16814a067484415fda653868c9be0ac5f2abd2ef5d951082a5f2fe1b3662944"
+checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349"
 dependencies = [
  "is-wsl",
+ "libc",
  "pathdiff",
 ]
 
@@ -2222,7 +2454,7 @@ checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
- "foreign-types",
+ "foreign-types 0.3.2",
  "libc",
  "once_cell",
  "openssl-macros",
@@ -2237,7 +2469,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2298,7 +2530,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2307,14 +2539,14 @@ version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4"
 dependencies = [
- "ttf-parser",
+ "ttf-parser 0.19.0",
 ]
 
 [[package]]
 name = "palette"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1641aee47803391405d0a1250e837d2336fdddd18b27f3ddb8c1d80ce8d7f43"
+checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2"
 dependencies = [
  "approx",
  "fast-srgb8",
@@ -2324,13 +2556,13 @@ dependencies = [
 
 [[package]]
 name = "palette_derive"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c02bfa6b3ba8af5434fa0531bf5701f750d983d4260acd6867faca51cdc4484"
+checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2388,6 +2620,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
 name = "pathdiff"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2458,7 +2696,7 @@ checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2509,12 +2747,32 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.30",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
+name = "presser"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
+
+[[package]]
 name = "proc-macro-crate"
 version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2550,9 +2808,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.59"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -2582,10 +2840,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -2628,15 +2895,15 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
 
 [[package]]
 name = "rangemap"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9283c6b06096b47afc7109834fdedab891175bb5241ee5d4f7d2546549f263"
+checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991"
 
 [[package]]
 name = "raw-window-handle"
-version = "0.5.2"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
 
 [[package]]
 name = "rayon"
@@ -2679,6 +2946,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
 name = "redox_users"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2713,6 +2989,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
 
 [[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
 name = "rustc-demangle"
 version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2743,24 +3025,37 @@ dependencies = [
  "errno",
  "io-lifetimes",
  "libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.3.8",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "rustix"
+version = "0.38.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "rustybuzz"
-version = "0.8.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82eea22c8f56965eeaf3a209b3d24508256c7b920fb3b6211b8ba0f7c0583250"
+checksum = "2ee8fe2a8461a0854a37101fe7a1b13998d0cfa987e43248e81d2a5f4570f6fa"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
  "libm",
  "smallvec",
- "ttf-parser",
+ "ttf-parser 0.20.0",
  "unicode-bidi-mirroring",
  "unicode-ccc",
- "unicode-general-category",
+ "unicode-properties",
  "unicode-script",
 ]
 
@@ -2771,6 +3066,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
 
 [[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
 name = "schannel"
 version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2793,15 +3097,15 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
 name = "sctk-adwaita"
-version = "0.5.4"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09"
+checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
 dependencies = [
  "ab_glyph",
  "log",
- "memmap2 0.5.10",
- "smithay-client-toolkit",
- "tiny-skia 0.8.4",
+ "memmap2 0.9.4",
+ "smithay-client-toolkit 0.18.0",
+ "tiny-skia",
 ]
 
 [[package]]
@@ -2834,6 +3138,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "self_cell"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
+
+[[package]]
 name = "semver"
 version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2841,22 +3151,22 @@ checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
 
 [[package]]
 name = "serde"
-version = "1.0.163"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.163"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2878,7 +3188,7 @@ checksum = "6f0a21fba416426ac927b1691996e82079f8b6156e920c85345f135b2e9ba2de"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2892,14 +3202,15 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.8.26"
+version = "0.9.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+checksum = "adf8a49373e98a4c5f0ceb5d05aa7c648d75f63774981ed95b7c7443bbd50c6e"
 dependencies = [
- "indexmap",
+ "indexmap 2.2.1",
+ "itoa",
  "ryu",
  "serde",
- "yaml-rust",
+ "unsafe-libyaml",
 ]
 
 [[package]]
@@ -2975,7 +3286,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454"
 dependencies = [
  "bitflags 1.3.2",
- "calloop",
  "dlib",
  "lazy_static",
  "log",
@@ -2983,8 +3293,33 @@ dependencies = [
  "nix 0.24.3",
  "pkg-config",
  "wayland-client 0.29.5",
- "wayland-cursor",
- "wayland-protocols",
+ "wayland-cursor 0.29.5",
+ "wayland-protocols 0.29.5",
+]
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
+dependencies = [
+ "bitflags 2.4.2",
+ "calloop",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
+ "log",
+ "memmap2 0.9.4",
+ "rustix 0.38.30",
+ "thiserror",
+ "wayland-backend",
+ "wayland-client 0.31.2",
+ "wayland-csd-frame",
+ "wayland-cursor 0.31.1",
+ "wayland-protocols 0.31.2",
+ "wayland-protocols-wlr",
+ "wayland-scanner 0.31.1",
+ "xkeysym",
 ]
 
 [[package]]
@@ -2993,11 +3328,20 @@ version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8"
 dependencies = [
- "smithay-client-toolkit",
+ "smithay-client-toolkit 0.16.0",
  "wayland-client 0.29.5",
 ]
 
 [[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "socket2"
 version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3009,30 +3353,33 @@ dependencies = [
 
 [[package]]
 name = "softbuffer"
-version = "0.2.1"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2b953f6ba7285f0af131eb748aabd8ddaf53e0b81dda3ba5d803b0847d6559f"
+checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
 dependencies = [
+ "as-raw-xcb-connection",
  "bytemuck",
- "cfg_aliases",
+ "cfg_aliases 0.2.0",
  "cocoa",
  "core-graphics",
- "fastrand",
- "foreign-types",
+ "drm",
+ "fastrand 2.0.1",
+ "foreign-types 0.5.0",
+ "js-sys",
  "log",
- "nix 0.26.2",
+ "memmap2 0.9.4",
  "objc",
  "raw-window-handle",
- "redox_syscall 0.3.5",
- "thiserror",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.30",
+ "tiny-xlib",
  "wasm-bindgen",
  "wayland-backend",
- "wayland-client 0.30.2",
- "wayland-sys 0.30.1",
+ "wayland-client 0.31.2",
+ "wayland-sys 0.31.1",
  "web-sys",
- "windows-sys 0.48.0",
- "x11-dl",
- "x11rb 0.11.1",
+ "windows-sys 0.52.0",
+ "x11rb 0.13.0",
 ]
 
 [[package]]
@@ -3046,12 +3393,11 @@ dependencies = [
 
 [[package]]
 name = "spirv"
-version = "0.2.0+1.5.4"
+version = "0.3.0+sdk-1.3.268.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
 dependencies = [
- "bitflags 1.3.2",
- "num-traits",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -3061,12 +3407,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
-name = "str-buf"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
-
-[[package]]
 name = "strict-num"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3101,9 +3441,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.18"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3112,12 +3452,11 @@ dependencies = [
 
 [[package]]
 name = "sys-locale"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea0b9eefabb91675082b41eb94c3ecd91af7656caee3fb4961a07c0ec8c7ca6f"
+checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0"
 dependencies = [
  "libc",
- "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -3126,7 +3465,7 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4f5bff1d532fead7c43324a0fa33643b8621a47ce2944a633be4cb6c0240898f"
 dependencies = [
- "quick-xml",
+ "quick-xml 0.23.1",
  "windows 0.39.0",
 ]
 
@@ -3137,39 +3476,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
 dependencies = [
  "cfg-if",
- "fastrand",
+ "fastrand 1.9.0",
  "redox_syscall 0.3.5",
- "rustix",
+ "rustix 0.37.19",
  "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3212,23 +3551,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
 
 [[package]]
 name = "tiny-skia"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
-dependencies = [
- "arrayref",
- "arrayvec",
- "bytemuck",
- "cfg-if",
- "png",
- "tiny-skia-path 0.8.4",
-]
-
-[[package]]
-name = "tiny-skia"
-version = "0.10.0"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7db11798945fa5c3e5490c794ccca7c6de86d3afdd54b4eb324109939c6f37bc"
+checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -3236,14 +3561,14 @@ dependencies = [
  "cfg-if",
  "log",
  "png",
- "tiny-skia-path 0.10.0",
+ "tiny-skia-path",
 ]
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.8.4"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c"
+checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -3251,14 +3576,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "tiny-skia-path"
-version = "0.10.0"
+name = "tiny-xlib"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f60aa35c89ac2687ace1a2556eaaea68e8c0d47408a2e3e7f5c98a489e7281c"
+checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
 dependencies = [
- "arrayref",
- "bytemuck",
- "strict-num",
+ "as-raw-xcb-connection",
+ "ctor",
+ "libloading 0.8.0",
+ "tracing",
 ]
 
 [[package]]
@@ -3304,7 +3630,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3369,7 +3695,7 @@ version = "0.19.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
 dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -3396,7 +3722,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3415,15 +3741,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746"
 
 [[package]]
-name = "twox-hash"
-version = "1.6.3"
+name = "ttf-parser"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
-dependencies = [
- "cfg-if",
- "rand",
- "static_assertions",
-]
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
 
 [[package]]
 name = "typenum"
@@ -3460,12 +3781,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
-
-[[package]]
 name = "unicode-ident"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3473,13 +3788,15 @@ checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
 
 [[package]]
 name = "unicode-linebreak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
-dependencies = [
- "hashbrown 0.12.3",
- "regex",
-]
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[package]]
+name = "unicode-properties"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
 
 [[package]]
 name = "unicode-script"
@@ -3506,6 +3823,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
+name = "unsafe-libyaml"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+
+[[package]]
 name = "uuid"
 version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3521,12 +3844,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[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"
@@ -3559,6 +3876,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
 
 [[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
 name = "wasi"
 version = "0.10.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3572,9 +3899,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3582,24 +3909,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.36"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3609,9 +3936,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3619,22 +3946,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.86"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
 
 [[package]]
 name = "wasm-timer"
@@ -3653,17 +3980,16 @@ dependencies = [
 
 [[package]]
 name = "wayland-backend"
-version = "0.1.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
 dependencies = [
  "cc",
  "downcast-rs",
- "io-lifetimes",
- "nix 0.26.2",
+ "rustix 0.38.30",
  "scoped-tls",
  "smallvec",
- "wayland-sys 0.30.1",
+ "wayland-sys 0.31.1",
 ]
 
 [[package]]
@@ -3684,14 +4010,14 @@ dependencies = [
 
 [[package]]
 name = "wayland-client"
-version = "0.30.2"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
 dependencies = [
- "bitflags 1.3.2",
- "nix 0.26.2",
+ "bitflags 2.4.2",
+ "rustix 0.38.30",
  "wayland-backend",
- "wayland-scanner 0.30.0",
+ "wayland-scanner 0.31.1",
 ]
 
 [[package]]
@@ -3707,6 +4033,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "wayland-csd-frame"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
+dependencies = [
+ "bitflags 2.4.2",
+ "cursor-icon",
+ "wayland-backend",
+]
+
+[[package]]
 name = "wayland-cursor"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3718,6 +4055,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "wayland-cursor"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
+dependencies = [
+ "rustix 0.38.30",
+ "wayland-client 0.31.2",
+ "xcursor",
+]
+
+[[package]]
 name = "wayland-protocols"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3730,6 +4078,44 @@ dependencies = [
 ]
 
 [[package]]
+name = "wayland-protocols"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client 0.31.2",
+ "wayland-scanner 0.31.1",
+]
+
+[[package]]
+name = "wayland-protocols-plasma"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client 0.31.2",
+ "wayland-protocols 0.31.2",
+ "wayland-scanner 0.31.1",
+]
+
+[[package]]
+name = "wayland-protocols-wlr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client 0.31.2",
+ "wayland-protocols 0.31.2",
+ "wayland-scanner 0.31.1",
+]
+
+[[package]]
 name = "wayland-scanner"
 version = "0.29.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3742,12 +4128,12 @@ dependencies = [
 
 [[package]]
 name = "wayland-scanner"
-version = "0.30.0"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4834c14b3edf1d9986c83ca79b1e7e3afbe9874c7c144702f6467063259ce45d"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
- "quick-xml",
+ "quick-xml 0.31.0",
  "quote",
 ]
 
@@ -3764,21 +4150,31 @@ dependencies = [
 
 [[package]]
 name = "wayland-sys"
-version = "0.30.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
 dependencies = [
  "dlib",
- "lazy_static",
  "log",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.63"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3792,12 +4188,13 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
 
 [[package]]
 name = "wgpu"
-version = "0.16.1"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3059ea4ddec41ca14f356833e2af65e7e38c0a8f91273867ed526fb9bafcca95"
+checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d"
 dependencies = [
  "arrayvec",
  "cfg-if",
+ "cfg_aliases 0.1.1",
  "js-sys",
  "log",
  "naga",
@@ -3816,16 +4213,19 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.16.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2"
+checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed"
 dependencies = [
  "arrayvec",
  "bit-vec",
- "bitflags 2.3.1",
+ "bitflags 2.4.2",
+ "cfg_aliases 0.1.1",
  "codespan-reporting",
+ "indexmap 2.2.1",
  "log",
  "naga",
+ "once_cell",
  "parking_lot 0.12.1",
  "profiling",
  "raw-window-handle",
@@ -3839,20 +4239,21 @@ dependencies = [
 
 [[package]]
 name = "wgpu-hal"
-version = "0.16.1"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74851c2c8e5d97652e74c241d41b0656b31c924a45dcdecde83975717362cfa4"
+checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72"
 dependencies = [
  "android_system_properties",
  "arrayvec",
  "ash",
  "bit-set",
- "bitflags 2.3.1",
+ "bitflags 2.4.2",
  "block",
+ "cfg_aliases 0.1.1",
  "core-graphics-types",
  "d3d12",
- "foreign-types",
  "glow",
+ "glutin_wgl_sys",
  "gpu-alloc",
  "gpu-allocator",
  "gpu-descriptor",
@@ -3865,6 +4266,7 @@ dependencies = [
  "metal",
  "naga",
  "objc",
+ "once_cell",
  "parking_lot 0.12.1",
  "profiling",
  "range-alloc",
@@ -3881,11 +4283,11 @@ dependencies = [
 
 [[package]]
 name = "wgpu-types"
-version = "0.16.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd33a976130f03dcdcd39b3810c0c3fc05daf86f0aaf867db14bfb7c4a9a32b"
+checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2"
 dependencies = [
- "bitflags 2.3.1",
+ "bitflags 2.4.2",
  "js-sys",
  "web-sys",
 ]
@@ -3938,9 +4340,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "window_clipboard"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63287c9c4396ccf5346d035a9b0fcaead9e18377637f5eaa78b7ac65c873ff7d"
+checksum = "c6a197337269a469b5b2583d65dd7dfe475fd79a525be0aa647ff6d37ac6612c"
 dependencies = [
  "clipboard-win",
  "clipboard_macos",
@@ -3965,20 +4367,30 @@ dependencies = [
 
 [[package]]
 name = "windows"
-version = "0.44.0"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows-targets 0.42.2",
+ "windows-targets 0.48.0",
 ]
 
 [[package]]
 name = "windows"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-core",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -4015,6 +4427,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4045,6 +4466,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4057,6 +4493,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4075,6 +4517,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4093,6 +4541,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4111,6 +4565,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4129,6 +4589,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4141,6 +4607,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4159,37 +4631,56 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winit"
-version = "0.28.6"
-source = "git+https://github.com/iced-rs/winit.git?rev=c52db2045d0a2f1b8d9923870de1d4ab1994146e#c52db2045d0a2f1b8d9923870de1d4ab1994146e"
+version = "0.29.10"
+source = "git+https://github.com/iced-rs/winit.git?rev=b91e39ece2c0d378c3b80da7f3ab50e17bb798a5#b91e39ece2c0d378c3b80da7f3ab50e17bb798a5"
 dependencies = [
+ "ahash 0.8.7",
  "android-activity",
- "bitflags 1.3.2",
- "cfg_aliases",
+ "atomic-waker",
+ "bitflags 2.4.2",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases 0.1.1",
  "core-foundation",
  "core-graphics",
- "dispatch",
- "instant",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
  "libc",
  "log",
- "mio",
+ "memmap2 0.9.4",
  "ndk",
+ "ndk-sys",
  "objc2",
  "once_cell",
  "orbclient",
  "percent-encoding",
  "raw-window-handle",
  "redox_syscall 0.3.5",
+ "rustix 0.38.30",
  "sctk-adwaita",
- "smithay-client-toolkit",
+ "smithay-client-toolkit 0.18.0",
+ "smol_str",
+ "unicode-segmentation",
  "wasm-bindgen",
- "wayland-client 0.29.5",
- "wayland-commons",
- "wayland-protocols",
- "wayland-scanner 0.29.5",
+ "wasm-bindgen-futures",
+ "wayland-backend",
+ "wayland-client 0.31.2",
+ "wayland-protocols 0.31.2",
+ "wayland-protocols-plasma",
  "web-sys",
- "windows-sys 0.45.0",
+ "web-time",
+ "windows-sys 0.48.0",
  "x11-dl",
+ "x11rb 0.13.0",
+ "xkbcommon-dl",
 ]
 
 [[package]]
@@ -4228,7 +4719,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a"
 dependencies = [
- "gethostname",
+ "gethostname 0.2.3",
  "nix 0.22.3",
  "winapi",
  "winapi-wsapoll",
@@ -4236,28 +4727,24 @@ dependencies = [
 
 [[package]]
 name = "x11rb"
-version = "0.11.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf3c79412dd91bae7a7366b8ad1565a85e35dd049affc3a6a2c549e97419617"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
- "gethostname",
+ "as-raw-xcb-connection",
+ "gethostname 0.4.3",
  "libc",
- "libloading 0.7.4",
- "nix 0.25.1",
+ "libloading 0.8.0",
  "once_cell",
- "winapi",
- "winapi-wsapoll",
+ "rustix 0.38.30",
  "x11rb-protocol",
 ]
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.11.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0b1513b141123073ce54d5bb1d33f801f17508fbd61e02060b1214e96d39c56"
-dependencies = [
- "nix 0.25.1",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xcursor"
@@ -4279,19 +4766,35 @@ dependencies = [
 ]
 
 [[package]]
+name = "xkbcommon-dl"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+dependencies = [
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
 name = "xml-rs"
 version = "0.8.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2d8f380ae16a37b30e6a2cf67040608071384b1450c189e61bea3ff57cde922d"
 
 [[package]]
-name = "yaml-rust"
-version = "0.4.5"
+name = "xxhash-rust"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
-dependencies = [
- "linked-hash-map",
-]
+checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61"
 
 [[package]]
 name = "yazi"
@@ -4372,6 +4875,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c110ba09c9b3a43edd4803d570df0da2414fed6e822e22b976a4e3ef50860701"
 
 [[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "zune-inflate"
 version = "0.2.54"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/nixpkgs/pkgs/applications/networking/irc/halloy/default.nix b/nixpkgs/pkgs/applications/networking/irc/halloy/default.nix
index 3d8be6cc0ce2..3d7faf5ac348 100644
--- a/nixpkgs/pkgs/applications/networking/irc/halloy/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/halloy/default.nix
@@ -15,20 +15,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "halloy";
-  version = "2023.5";
+  version = "2024.1";
 
   src = fetchFromGitHub {
     owner = "squidowl";
     repo = "halloy";
     rev = "refs/tags/${version}";
-    hash = "sha256-XGNFLfZDDGTT55UAsapUf1B0uSzrNjwSRK+yQSU3wG0=";
+    hash = "sha256-mOP6Xxo1p3Mi36RmraMe4qpqJGQqHs/7fZzruAODr1E=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "iced-0.9.0" = "sha256-z/tkUdFXNjxR5Si8dnNrkrvFos0VAqGjnFNSs88D/5w=";
-      "winit-0.28.6" = "sha256-szB1LCOPmPqhZNIWbeO8JMfRMcMRr0+Ze0f4uqyR8AE=";
+      "iced-0.12.0" = "sha256-LtmAJDUMp42S4E+CjOM6Q7doAKOZkmJCN/49gsq3v/A=";
+      "winit-0.29.10" = "sha256-YoXJEvEhMvk3pK5EbXceVFeJEJLL6KTjiw0kBJxgHIE=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
index 58cb1c6a71b6..847ab81241b4 100644
--- a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.11.1";
+  version = "3.12.0";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    hash = "sha256-gskFI6nxRb5lx6EwWuqghqg7NmCaj0JS7PpV0i4qUqQ=";
+    hash = "sha256-77vsl7BvptNlU/1epn4Eo+3Lnedn5awUgqbkyapW7+A=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/networking/onionshare/default.nix b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
index 6cb15ad685d9..af0722a6acd3 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/default.nix
+++ b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
@@ -57,7 +57,7 @@ let
     homepage = "https://onionshare.org/";
 
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     mainProgram = "onionshare-cli";
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/pcloud/default.nix b/nixpkgs/pkgs/applications/networking/pcloud/default.nix
index adb5a70647dc..aae1c3cfb771 100644
--- a/nixpkgs/pkgs/applications/networking/pcloud/default.nix
+++ b/nixpkgs/pkgs/applications/networking/pcloud/default.nix
@@ -38,13 +38,13 @@
 
 let
   pname = "pcloud";
-  version = "1.14.3";
-  code = "XZ7IM70ZtWFon9pgEbk4XuvzJsTduQUyGFwV";
+  version = "1.14.4";
+  code = "XZDh750ZBgJa45xqQ8H1ztdMFX2wVhOCTOFk";
 
   # Archive link's codes: https://www.pcloud.com/release-notes/linux.html
   src = fetchzip {
-    url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${pname}-${version}.zip";
-    hash = "sha256-huv1XXghWwh/oTtOsukffZP3nnHS2K5VcsuVs6CjFYc=";
+    url = "https://api.pcloud.com/getpubzip?code=${code}&filename=pcloud-${version}.zip";
+    hash = "sha256-1KF3tF62lkT6tfeP/dMaZITXp4Vyegp3lFYdLJ49OR8=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix b/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
index df0afdee4da4..e273a3242739 100644
--- a/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonApplication rec {
   pname = "protonvpn-gui";
-  version = "4.1.0-unstable-2023-10-25";
+  version = "4.1.10";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "proton-vpn-gtk-app";
-    rev = "713324e9e4ee9f030c8115072cae379eb3340c42";
-    hash = "sha256-DfuM4b2cSIA8j9Ux3TzInRCvzQGb9LvJDSwRhfadBPY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-D06dMMjzFE7gIGFpIH/+0xmVCckqAWLkb3lc2ZmxNZs=";
   };
 
   nativeBuildInputs = [
@@ -71,7 +71,7 @@ buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton --cov-report=html --cov-report=term" ""
+      --replace-fail "--cov=proton --cov-report=html --cov-report=term" ""
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/networking/remote/dayon/default.nix b/nixpkgs/pkgs/applications/networking/remote/dayon/default.nix
index 8986eddb5562..63e6b0fec6bc 100644
--- a/nixpkgs/pkgs/applications/networking/remote/dayon/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/dayon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dayon";
-  version = "13.0.0";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "RetGal";
     repo = "dayon";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-2Fo+LQvsrDvqEudZxzQBtJHGxrRYUyNyhrPV1xS49pQ=";
+    hash = "sha256-sKA50D+VYjfKzdZAppIGfU5uJqrCrZPEsk9EEMBxu3I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/appflowy/default.nix b/nixpkgs/pkgs/applications/office/appflowy/default.nix
index 05b6171a07fc..046e1273ed1b 100644
--- a/nixpkgs/pkgs/applications/office/appflowy/default.nix
+++ b/nixpkgs/pkgs/applications/office/appflowy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.4.6";
+  version = "0.4.9";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
-    hash = "sha256-496uXlJ/3ID8fnW/LKwk0Waca4gSQBuKIFMJ4EJGcsA=";
+    hash = "sha256-+Olmp2z5cLDgZikY2n9LI2A9W03pYdCtUE9hdr9Tp2Q=";
     stripRoot = false;
   };
 
@@ -79,5 +79,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
     maintainers = with maintainers; [ darkonion0 ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "appflowy";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix b/nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix
index 9ffac0f31291..366f4fb2ae97 100644
--- a/nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix
+++ b/nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix
@@ -39,5 +39,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.DamienCassou ];
     platforms = lib.platforms.all; # GHC can cross-compile
+    mainProgram = "hledger-check-fancyassertions";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index 4a3272a4e599..a5f0b90095e7 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/pkgs/applications/office/homebank/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   pname = "homebank";
-  version = "5.7.3";
+  version = "5.7.4";
   src = fetchurl {
     url = "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz";
-    hash = "sha256-ad8XKlmazWZim/mLNmnsFSy5Oni7yv3HQxYX3SXzXcU=";
+    hash = "sha256-Qs5xRsh16gyjyTORtqm/RxTbRiHGP0oJTcxviYW7VOQ=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     description = "Free, easy, personal accounting for everyone";
     homepage = "https://www.gethomebank.org";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub frlan ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/jameica/default.nix b/nixpkgs/pkgs/applications/office/jameica/default.nix
index 655de5227bb0..e6aa7cb21d14 100644
--- a/nixpkgs/pkgs/applications/office/jameica/default.nix
+++ b/nixpkgs/pkgs/applications/office/jameica/default.nix
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
     maintainers = with maintainers; [ flokli r3dl3g ];
+    mainProgram = "jameica";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/ledger-web/default.nix b/nixpkgs/pkgs/applications/office/ledger-web/default.nix
index ce8b401cb6b9..e19d4492ac91 100644
--- a/nixpkgs/pkgs/applications/office/ledger-web/default.nix
+++ b/nixpkgs/pkgs/applications/office/ledger-web/default.nix
@@ -19,5 +19,6 @@ bundlerApp {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg manveru nicknovitski ];
     platforms = platforms.linux;
+    mainProgram = "ledger_web";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/mendeley/default.nix b/nixpkgs/pkgs/applications/office/mendeley/default.nix
index 81857f99f37d..d055658b294a 100644
--- a/nixpkgs/pkgs/applications/office/mendeley/default.nix
+++ b/nixpkgs/pkgs/applications/office/mendeley/default.nix
@@ -39,6 +39,7 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
     maintainers  = with maintainers; [ dtzWill atila ];
+    mainProgram = "mendeley-reference-manager";
   };
 
 }
diff --git a/nixpkgs/pkgs/applications/office/micropad/default.nix b/nixpkgs/pkgs/applications/office/micropad/default.nix
index c693d83c7cfe..c50e14015f3b 100644
--- a/nixpkgs/pkgs/applications/office/micropad/default.nix
+++ b/nixpkgs/pkgs/applications/office/micropad/default.nix
@@ -96,5 +96,6 @@ in
       license = licenses.mpl20;
       maintainers = with maintainers; [rhysmdnz];
       inherit (electron.meta) platforms;
+      mainProgram = "micropad";
     };
   }
diff --git a/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix b/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
index 84635f42ee45..e9206f9e5153 100644
--- a/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
+++ b/nixpkgs/pkgs/applications/office/notion-app-enhanced/default.nix
@@ -28,5 +28,6 @@ in appimageTools.wrapType2 {
     license = licenses.unfree;
     maintainers = with maintainers; [ sei40kr ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "notion-app-enhanced";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/p3x-onenote/default.nix b/nixpkgs/pkgs/applications/office/p3x-onenote/default.nix
index 29e4f90a957f..c70f3aa52c40 100644
--- a/nixpkgs/pkgs/applications/office/p3x-onenote/default.nix
+++ b/nixpkgs/pkgs/applications/office/p3x-onenote/default.nix
@@ -47,5 +47,6 @@ appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ tiagolobocastro ];
     platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
+    mainProgram = "p3x-onenote";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/paperless-ngx/default.nix b/nixpkgs/pkgs/applications/office/paperless-ngx/default.nix
index e2f71ff83b0f..319234289515 100644
--- a/nixpkgs/pkgs/applications/office/paperless-ngx/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperless-ngx/default.nix
@@ -22,13 +22,13 @@
 }:
 
 let
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "paperless-ngx";
     repo = "paperless-ngx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-f9XMGGNr4qA/twp7Kbv/34mvgNQT+KZ1rYre1BXVWw0=";
+    hash = "sha256-v6k9clKNBNb2MQp0BTrUL9zfY6SUKfzaaOycmV8RKyk=";
   };
 
   python = python3;
diff --git a/nixpkgs/pkgs/applications/office/paperwork/src.nix b/nixpkgs/pkgs/applications/office/paperwork/src.nix
index ad0a071bd4e1..2f61689611d6 100644
--- a/nixpkgs/pkgs/applications/office/paperwork/src.nix
+++ b/nixpkgs/pkgs/applications/office/paperwork/src.nix
@@ -1,13 +1,13 @@
 {fetchFromGitLab}:
 rec {
-  version = "2.2.1";
+  version = "2.2.2";
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     repo = "paperwork";
     group = "World";
     owner = "OpenPaperwork";
     rev = version;
-    sha256 = "sha256-OFVj9INDiOpGd5N3ziMBWt3/IdmpInc+jEAxW3GcvOA=";
+    sha256 = "sha256-fVw+W10yEPLf6IUyaDpnmu7tPOqbvNLE8IK8mjHvurQ=";
   };
   sample_documents = fetchFromGitLab {
     domain = "gitlab.gnome.org";
diff --git a/nixpkgs/pkgs/applications/office/pdfmm/default.nix b/nixpkgs/pkgs/applications/office/pdfmm/default.nix
index 1a61f786de2f..08dd9eea9bbd 100644
--- a/nixpkgs/pkgs/applications/office/pdfmm/default.nix
+++ b/nixpkgs/pkgs/applications/office/pdfmm/default.nix
@@ -53,5 +53,6 @@ resholve.mkDerivation rec {
     homepage = "https://github.com/jpfleury/pdfmm";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "pdfmm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/pinpoint/default.nix b/nixpkgs/pkgs/applications/office/pinpoint/default.nix
index d7b1984b0d73..99a45371b63c 100644
--- a/nixpkgs/pkgs/applications/office/pinpoint/default.nix
+++ b/nixpkgs/pkgs/applications/office/pinpoint/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
+    mainProgram = "pinpoint";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index faab6627816a..113832175a6f 100644
--- a/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
@@ -19,14 +19,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.2.0";
+  version = "24.2.3";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-mk7yFlL+NiTZ0JtSY3y/Y1NrN1QYcBxveMImv1zB1l8=";
+    hash = "sha256-US+RyjKpzIPpqvc19nInUW5/x/osLbc6xk4yKEdQYic=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/rime-cli/default.nix b/nixpkgs/pkgs/applications/office/rime-cli/default.nix
index 5dd412a45022..a5b989528459 100644
--- a/nixpkgs/pkgs/applications/office/rime-cli/default.nix
+++ b/nixpkgs/pkgs/applications/office/rime-cli/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     description = "A command line tool to add customized vocabulary for Rime IME";
     license = licenses.asl20;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "rime-cli";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/roam-research/darwin.nix b/nixpkgs/pkgs/applications/office/roam-research/darwin.nix
index 2c736c0c1a7f..1369a2352b58 100644
--- a/nixpkgs/pkgs/applications/office/roam-research/darwin.nix
+++ b/nixpkgs/pkgs/applications/office/roam-research/darwin.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-darwin" "aarch64-darwin" ];
+    mainProgram = "roam-research";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/roam-research/linux.nix b/nixpkgs/pkgs/applications/office/roam-research/linux.nix
index 5873bcfdd190..8733ce33026a 100644
--- a/nixpkgs/pkgs/applications/office/roam-research/linux.nix
+++ b/nixpkgs/pkgs/applications/office/roam-research/linux.nix
@@ -69,5 +69,6 @@ in stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
+    mainProgram = "roam-research";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/super-productivity/default.nix b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
index 60b7b9ba1129..a50efea6096b 100644
--- a/nixpkgs/pkgs/applications/office/super-productivity/default.nix
+++ b/nixpkgs/pkgs/applications/office/super-productivity/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ offline ];
+    mainProgram = "super-productivity";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/teapot/default.nix b/nixpkgs/pkgs/applications/office/teapot/default.nix
index 209fa7c4556b..31ff3c860987 100644
--- a/nixpkgs/pkgs/applications/office/teapot/default.nix
+++ b/nixpkgs/pkgs/applications/office/teapot/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    mainProgram = "teapot";
   };
 }
 # TODO: patch/fix FLTK building
diff --git a/nixpkgs/pkgs/applications/office/timeular/default.nix b/nixpkgs/pkgs/applications/office/timeular/default.nix
index 61b9de8029fe..abe5a5e52ddb 100644
--- a/nixpkgs/pkgs/applications/office/timeular/default.nix
+++ b/nixpkgs/pkgs/applications/office/timeular/default.nix
@@ -42,5 +42,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ ktor ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "timeular";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/tudu/default.nix b/nixpkgs/pkgs/applications/office/tudu/default.nix
index 57204fe86564..df1c5420164f 100644
--- a/nixpkgs/pkgs/applications/office/tudu/default.nix
+++ b/nixpkgs/pkgs/applications/office/tudu/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage = "https://code.meskio.net/tudu/";
     license = licenses.gpl3;
     platforms = platforms.unix;
+    mainProgram = "tudu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/tusk/default.nix b/nixpkgs/pkgs/applications/office/tusk/default.nix
index 52bb3eff49b7..98f00f2ed54c 100644
--- a/nixpkgs/pkgs/applications/office/tusk/default.nix
+++ b/nixpkgs/pkgs/applications/office/tusk/default.nix
@@ -48,5 +48,6 @@ in appimageTools.wrapType2 rec {
     license = licenses.mit;
     maintainers = with maintainers; [ tbenst ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "tusk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/zk/default.nix b/nixpkgs/pkgs/applications/office/zk/default.nix
index 066c2d244b72..6cdbb0d63af2 100644
--- a/nixpkgs/pkgs/applications/office/zk/default.nix
+++ b/nixpkgs/pkgs/applications/office/zk/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     license = licenses.gpl3;
     description = "A zettelkasten plain text note-taking assistant";
     homepage = "https://github.com/mickael-menu/zk";
+    mainProgram = "zk";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/aldo/default.nix b/nixpkgs/pkgs/applications/radio/aldo/default.nix
index cbe906e4672d..3488ddecde39 100644
--- a/nixpkgs/pkgs/applications/radio/aldo/default.nix
+++ b/nixpkgs/pkgs/applications/radio/aldo/default.nix
@@ -22,5 +22,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "aldo";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/anytone-emu/default.nix b/nixpkgs/pkgs/applications/radio/anytone-emu/default.nix
index eea51546057e..5f4731616667 100644
--- a/nixpkgs/pkgs/applications/radio/anytone-emu/default.nix
+++ b/nixpkgs/pkgs/applications/radio/anytone-emu/default.nix
@@ -38,5 +38,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ janik ];
     platforms = platforms.linux;
+    mainProgram = "anytone-emu";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/chirp/default.nix b/nixpkgs/pkgs/applications/radio/chirp/default.nix
index 6b41c36550ef..066c93361899 100644
--- a/nixpkgs/pkgs/applications/radio/chirp/default.nix
+++ b/nixpkgs/pkgs/applications/radio/chirp/default.nix
@@ -9,13 +9,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "chirp";
-  version = "unstable-2023-06-02";
+  version = "unstable-2024-02-08";
 
   src = fetchFromGitHub {
     owner = "kk7ds";
     repo = "chirp";
-    rev = "72789c3652c332dc68ba694f8f8f005913fe5c95";
-    hash = "sha256-WQwCX7h9BFLdYOBVVntxQ6g4t3j7QLfNmlHVLzlRh7U=";
+    rev = "902043a937ee3611744f2a4e35cd902c7b0a8d0b";
+    hash = "sha256-oDUtR1xD73rfBRKkbE1f68siO/4oxoLxw16w1qa9fEo=";
   };
   buildInputs = [
     glib
@@ -44,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "A free, open-source tool for programming your amateur radio";
     homepage = "https://chirp.danplanet.com/";
     license = licenses.gpl3Plus;
+    maintainers = [ maintainers.emantor ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/cloudlog/default.nix b/nixpkgs/pkgs/applications/radio/cloudlog/default.nix
index efdf95fc9841..cefda95c114c 100644
--- a/nixpkgs/pkgs/applications/radio/cloudlog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/cloudlog/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cloudlog";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "magicbug";
     repo = "Cloudlog";
     rev = version;
-    hash = "sha256-axulZxMSgpBtF2cUCUWiVdiEOAalvo6RNtG4xpEmC7o=";
+    hash = "sha256-5QY3llgI2wUp7xQssLMgU5CDx42rNLm77/vNnPv15r4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/radio/cubicsdr/default.nix b/nixpkgs/pkgs/applications/radio/cubicsdr/default.nix
index 2af45d0394cb..839fc9ceaaa1 100644
--- a/nixpkgs/pkgs/applications/radio/cubicsdr/default.nix
+++ b/nixpkgs/pkgs/applications/radio/cubicsdr/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ lasandell ];
     platforms = platforms.unix;
+    mainProgram = "CubicSDR";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix b/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
index dab93eabe71c..292263c0f269 100644
--- a/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dmrconfig/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "dmrconfig";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/dsd/default.nix b/nixpkgs/pkgs/applications/radio/dsd/default.nix
index c98974740667..72b6f305d3c6 100644
--- a/nixpkgs/pkgs/applications/radio/dsd/default.nix
+++ b/nixpkgs/pkgs/applications/radio/dsd/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ andrew-d ];
+    mainProgram = "dsd";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix b/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
index 329d87d80f4c..4c1d2a3424e7 100644
--- a/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
+++ b/nixpkgs/pkgs/applications/radio/ebook2cw/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ earldouglas ];
+    mainProgram = "ebook2cw";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/flamp/default.nix b/nixpkgs/pkgs/applications/radio/flamp/default.nix
index 6d9c58eb9ab9..4e7326af1932 100644
--- a/nixpkgs/pkgs/applications/radio/flamp/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flamp/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with maintainers; [ stteague ];
     platforms = platforms.unix;
     broken = stdenv.system == "x86_64-darwin";
+    mainProgram = "flamp";
   };
 })
diff --git a/nixpkgs/pkgs/applications/radio/flex-ndax/default.nix b/nixpkgs/pkgs/applications/radio/flex-ndax/default.nix
index b1bda9fadce3..d350d481b9f5 100644
--- a/nixpkgs/pkgs/applications/radio/flex-ndax/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flex-ndax/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "FlexRadio digital audio transport (DAX) connector for PulseAudio";
     license = licenses.mit;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "nDAX";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/fllog/default.nix b/nixpkgs/pkgs/applications/radio/fllog/default.nix
index b9490e47e5a5..46b99349be4f 100644
--- a/nixpkgs/pkgs/applications/radio/fllog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/fllog/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "fllog";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/flmsg/default.nix b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
index d4b97e3a29dc..510c6e4b3323 100644
--- a/nixpkgs/pkgs/applications/radio/flmsg/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flmsg/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flmsg";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/flrig/default.nix b/nixpkgs/pkgs/applications/radio/flrig/default.nix
index 83c28d47f7bb..18c4ab1c2052 100644
--- a/nixpkgs/pkgs/applications/radio/flrig/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flrig/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flrig";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/flwrap/default.nix b/nixpkgs/pkgs/applications/radio/flwrap/default.nix
index 04b96b36c144..96c3125552d6 100644
--- a/nixpkgs/pkgs/applications/radio/flwrap/default.nix
+++ b/nixpkgs/pkgs/applications/radio/flwrap/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dysinger ];
     platforms = lib.platforms.linux;
+    mainProgram = "flwrap";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/freedv/default.nix b/nixpkgs/pkgs/applications/radio/freedv/default.nix
index 4af1843b17b7..f02337ff71be 100644
--- a/nixpkgs/pkgs/applications/radio/freedv/default.nix
+++ b/nixpkgs/pkgs/applications/radio/freedv/default.nix
@@ -92,5 +92,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ mvs wegank ];
     platforms = platforms.unix;
+    mainProgram = "freedv";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/kalibrate-hackrf/default.nix b/nixpkgs/pkgs/applications/radio/kalibrate-hackrf/default.nix
index f10840e1bea9..1d821bba4adf 100644
--- a/nixpkgs/pkgs/applications/radio/kalibrate-hackrf/default.nix
+++ b/nixpkgs/pkgs/applications/radio/kalibrate-hackrf/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation {
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = [ maintainers.mog ];
+    mainProgram = "kal-hackrf";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/kappanhang/default.nix b/nixpkgs/pkgs/applications/radio/kappanhang/default.nix
index 41037c509219..be8fa24a949e 100644
--- a/nixpkgs/pkgs/applications/radio/kappanhang/default.nix
+++ b/nixpkgs/pkgs/applications/radio/kappanhang/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mvs ];
+    mainProgram = "kappanhang";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/minimodem/default.nix b/nixpkgs/pkgs/applications/radio/minimodem/default.nix
index c023e76b273e..a09e62dfd191 100644
--- a/nixpkgs/pkgs/applications/radio/minimodem/default.nix
+++ b/nixpkgs/pkgs/applications/radio/minimodem/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     platforms = with lib.platforms; linux;
     maintainers = with lib.maintainers; [ relrod ];
+    mainProgram = "minimodem";
   };
 }
 
diff --git a/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix b/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
index 95ab7f9baadd..65024c24b00e 100644
--- a/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
+++ b/nixpkgs/pkgs/applications/radio/noaa-apt/default.nix
@@ -66,5 +66,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ trepetti tmarkus ];
     platforms = platforms.all;
     changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}";
+    mainProgram = "noaa-apt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/pat/default.nix b/nixpkgs/pkgs/applications/radio/pat/default.nix
index bddb3b986a33..61cee240e5cf 100644
--- a/nixpkgs/pkgs/applications/radio/pat/default.nix
+++ b/nixpkgs/pkgs/applications/radio/pat/default.nix
@@ -41,5 +41,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ dotemup sarcasticadmin ];
     platforms = platforms.unix;
+    mainProgram = "pat";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/rtl_433/default.nix b/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
index 8619179efae4..46b9a9ed2ea3 100644
--- a/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
+++ b/nixpkgs/pkgs/applications/radio/rtl_433/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ earldouglas markuskowa ];
     platforms = platforms.all;
+    mainProgram = "rtl_433";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
index 4c547cb4b125..459fc1f48963 100644
--- a/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -52,13 +52,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdrangel";
-  version = "7.17.3";
+  version = "7.18.0";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-NjahPDHM6qbBXTpDSe8HQPslMO0yTd6/0piNzrFNerM=";
+    hash = "sha256-5+OUOqQb0ekeAVCOr+MftttqTwcDeiV44Oni6i3rO0w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/sdrplay/default.nix b/nixpkgs/pkgs/applications/radio/sdrplay/default.nix
index 8e7c14ec5e24..9d9ee298e09c 100644
--- a/nixpkgs/pkgs/applications/radio/sdrplay/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrplay/default.nix
@@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ pmenke zaninime ];
     platforms = platforms.linux;
+    mainProgram = "sdrplay_apiService";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/sdrpp/default.nix b/nixpkgs/pkgs/applications/radio/sdrpp/default.nix
index 76fa70984c20..1ae5c028d28e 100644
--- a/nixpkgs/pkgs/applications/radio/sdrpp/default.nix
+++ b/nixpkgs/pkgs/applications/radio/sdrpp/default.nix
@@ -134,5 +134,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "sdrpp";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/soapyremote/default.nix b/nixpkgs/pkgs/applications/radio/soapyremote/default.nix
index ebb34b0a0ce5..c6e7cddd0903 100644
--- a/nixpkgs/pkgs/applications/radio/soapyremote/default.nix
+++ b/nixpkgs/pkgs/applications/radio/soapyremote/default.nix
@@ -27,5 +27,6 @@ in stdenv.mkDerivation {
     license = licenses.boost;
     maintainers = with maintainers; [ markuskowa ];
     platforms = platforms.unix;
+    mainProgram = "SoapySDRServer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/tncattach/default.nix b/nixpkgs/pkgs/applications/radio/tncattach/default.nix
index 5d88c84f7174..c536112e63a9 100644
--- a/nixpkgs/pkgs/applications/radio/tncattach/default.nix
+++ b/nixpkgs/pkgs/applications/radio/tncattach/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ sarcasticadmin ];
     platforms = platforms.linux;
+    mainProgram = "tncattach";
   };
 }
diff --git a/nixpkgs/pkgs/applications/radio/xlog/default.nix b/nixpkgs/pkgs/applications/radio/xlog/default.nix
index fe2b915e93ad..4e492af65600 100644
--- a/nixpkgs/pkgs/applications/radio/xlog/default.nix
+++ b/nixpkgs/pkgs/applications/radio/xlog/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.mafo ];
     license = licenses.gpl3;
     platforms = platforms.unix;
+    mainProgram = "xlog";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/biology/last/default.nix b/nixpkgs/pkgs/applications/science/biology/last/default.nix
index 96182dc835d5..a3faca60c2a6 100644
--- a/nixpkgs/pkgs/applications/science/biology/last/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/last/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1540";
+  version = "1541";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-oGGpPWWQ5EVK9n5BLQwt1Wch2Xn24B+NrKg6+VrsUMY=";
+    hash = "sha256-gEesPeGY2RozoViZpBWNTXFJriKVb/r0Efw9XEXwXmM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/science/biology/megahit/default.nix b/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
index 7f054a51d5e0..5fa9420bc87c 100644
--- a/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/megahit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib }:
 
 stdenv.mkDerivation rec {
   pname    = "megahit";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "1r5d9nkdmgjsbrpj43q9hy3s8jwsabaz3ji561v18hy47v58923c";
   };
 
+  patches = [
+    # Fix gcc-13 build failure:
+    #   https://github.com/voutcn/megahit/pull/366
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/voutcn/megahit/commit/4cb2f793503087163bda8592222f105f27e33e66.patch";
+      hash = "sha256-b5mhzif+OPcMjmg+BnaUc5CB6Acn/KTBOJEw+WYEhbs=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
diff --git a/nixpkgs/pkgs/applications/science/biology/svaba/default.nix b/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
index 441c7ed6dcc3..d36c4b668ec3 100644
--- a/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib bzip2 xz ];
 
+  postPatch = ''
+    # Fix gcc-13 build failure due to missing includes
+    sed -e '1i #include <cstdint>' -i \
+      SeqLib/src/non_api/Histogram.h \
+      src/svaba/Histogram.h
+  '';
+
   # Workaround build failure on -fno-common toolchains like upstream
   # gcc-10. Otherwise build fails as:
   #   ld: ./libfml.a(rle.o):/build/source/SeqLib/fermi-lite/rle.h:33: multiple definition of
diff --git a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
index 0aeb01c2916b..cefe83446662 100644
--- a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -13,7 +13,7 @@
 , libxc
 , makeWrapper
 , gsl
-, boost175
+, boost180
 , autoPatchelfHook
   # Note that the CASPT2 module is broken with MPI
   # See https://gitlab.com/Molcas/OpenMolcas/-/issues/169
@@ -93,7 +93,7 @@ stdenv.mkDerivation {
     armadillo
     libxc
     gsl.dev
-    boost175
+    boost180
   ] ++ lib.optionals enableMpi [
     mpi
     globalarrays
@@ -155,7 +155,7 @@ stdenv.mkDerivation {
     homepage = "https://gitlab.com/Molcas/OpenMolcas";
     maintainers = [ maintainers.markuskowa ];
     license = with licenses; [ lgpl21Only bsd3 ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
     mainProgram = "pymolcas";
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/nixpkgs/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
index 73c3c9a11f17..c60ee224aa2a 100644
--- a/nixpkgs/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
+++ b/nixpkgs/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "QtRVSim";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "cvut";
     repo = "qtrvsim";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-cC3DvQj2VBnGad6ZDn3x4gHQfsPpySzjTi17PQoaxPU=";
+    sha256 = "sha256-SelmqHauj5Yxg043NZqR4bhqW5clwg1h7UD8mW7j7vE=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/applications/science/computer-architecture/timeloop/default.nix b/nixpkgs/pkgs/applications/science/computer-architecture/timeloop/default.nix
index 4e794aaa29e2..ec8ec3ed8abc 100644
--- a/nixpkgs/pkgs/applications/science/computer-architecture/timeloop/default.nix
+++ b/nixpkgs/pkgs/applications/science/computer-architecture/timeloop/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "timeloop";
-  version = "unstable-2022-11-29";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "NVlabs";
     repo = "timeloop";
-    rev = "905ba953432c812772de935d57fd0a674a89d3c1";
-    hash = "sha256-EXiWXf8hdX4vFRNk9wbFSOsix/zVkwrafGUtFrsoAN0=";
+    rev = "v${version}";
+    hash = "sha256-CGPhrBNzFdERAA/Eym2v0+FvFUe+VkBLnwYEqEMHE9k=";
   };
 
   nativeBuildInputs = [ scons ];
@@ -46,10 +46,14 @@ stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-fno-lto";
 
   postPatch = ''
+    # Fix gcc-13 build failure due to missing includes:
+    sed -e '1i #include <cstdint>' -i \
+      include/compound-config/compound-config.hpp
+
     # use nix ar/ranlib
     substituteInPlace ./SConstruct \
-      --replace "env.Replace(AR = \"gcc-ar\")" "" \
-      --replace "env.Replace(RANLIB = \"gcc-ranlib\")" ""
+      --replace-fail "env.Replace(AR = \"gcc-ar\")" "pass" \
+      --replace-fail "env.Replace(RANLIB = \"gcc-ranlib\")" "pass"
     '' + lib.optionalString stdenv.isDarwin ''
     # prevent clang from dying on errors that gcc is fine with
     substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override"
diff --git a/nixpkgs/pkgs/applications/science/electronics/qucs-s/default.nix b/nixpkgs/pkgs/applications/science/electronics/qucs-s/default.nix
index 593e9d9187b7..4117638a1fda 100644
--- a/nixpkgs/pkgs/applications/science/electronics/qucs-s/default.nix
+++ b/nixpkgs/pkgs/applications/science/electronics/qucs-s/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qucs-s";
-  version = "2.1.0";
+  version = "24.1.0";
 
   src = fetchFromGitHub {
     owner = "ra3xdh";
     repo = "qucs_s";
     rev = version;
-    sha256 = "sha256-C7TLOuC0CHredDiWFIAFmOlV8ivX0j4bs3b8IB8FsqE=";
+    sha256 = "sha256-ei9CPlJg+Kfjh7vu5VnT6DNLmmnA8wZ2A1jXnm//Fgo=";
   };
 
   nativeBuildInputs = [ flex bison wrapQtAppsHook cmake ];
diff --git a/nixpkgs/pkgs/applications/science/logic/cryptoverif/default.nix b/nixpkgs/pkgs/applications/science/logic/cryptoverif/default.nix
index 66ba807c8dd8..5c15b8a17241 100644
--- a/nixpkgs/pkgs/applications/science/logic/cryptoverif/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/cryptoverif/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cryptoverif";
-  version = "2.07";
+  version = "2.08pl1";
 
   src = fetchurl {
     url    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
-    hash   = "sha256-GXXql4+JZ396BM6W2I3kN0u59xos7UCAtzR0IjMIETY=";
+    hash = "sha256-rmORSZuhds9W2WpNgYf4AJM2jgEUPoJit4G64qLqj5w=";
   };
 
   /* Fix up the frontend to load the 'default' cryptoverif library
diff --git a/nixpkgs/pkgs/applications/science/logic/elan/default.nix b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
index b0df275085e6..6a899eec4dc8 100644
--- a/nixpkgs/pkgs/applications/science/logic/elan/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/elan/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-VrCEwAoWKhb1qfJUv3OreTzuKEVQADwZpEQIVEhjwHA=";
+    hash = "sha256-IC/xb4tZer2cbwIusdCwXxJS3K7kN/XFoU4mxKW4dVc=";
   };
 
-  cargoHash = "sha256-SMKFSu5C5mc3U266hEa6RB3GH5te3jIrUZAzj3YNa2E=";
+  cargoHash = "sha256-F80iiXb0UpV+N9q7Msef6/Uzas1DGjMKPWuOKrk8tqU=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix b/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
index a3c324d0dbb8..ad3af12429a2 100644
--- a/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
+++ b/nixpkgs/pkgs/applications/science/logic/potassco/clingo.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clingo";
-  version = "5.6.2";
+  version = "5.7.1";
 
   src = fetchFromGitHub {
     owner = "potassco";
     repo = "clingo";
     rev = "v${version}";
-    sha256 = "sha256-2vOscD5jengY3z9gHoY9y9y6RLfdzUj7BNKLyppNRac=";
+    sha256 = "sha256-S0JAfMwg49aryKABbC/2oLCEkndVpMVcFE6X0vkbtNc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/science/logic/stp/default.nix b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
index 42926a870816..fb41ea07f5a1 100644
--- a/nixpkgs/pkgs/applications/science/logic/stp/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
@@ -11,6 +11,20 @@ stdenv.mkDerivation rec {
     rev    = version;
     sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87";
   };
+  patches = [
+    # Fix missing type declaration
+    # due to undeterminisitic compilation
+    # of circularly dependent headers
+    ./stdint.patch
+  ];
+
+  postPatch = ''
+    # Upstream fix for gcc-13 support:
+    #   https://github.com/stp/stp/pull/462
+    # Can't apply it as is as patch context changed in ither patches.
+    # TODO: remove me on 2.4 release
+    sed -e '1i #include <cstdint>' -i include/stp/AST/ASTNode.h
+  '';
 
   buildInputs = [ boost zlib minisat cryptominisat python3 ];
   nativeBuildInputs = [ cmake bison flex perl ];
@@ -26,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple Theorem Prover";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ McSinyx ];
     platforms = platforms.linux;
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/applications/science/logic/stp/stdint.patch b/nixpkgs/pkgs/applications/science/logic/stp/stdint.patch
new file mode 100644
index 000000000000..6595d5561731
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/logic/stp/stdint.patch
@@ -0,0 +1,16 @@
+diff --git a/include/stp/AST/ASTNode.h b/include/stp/AST/ASTNode.h
+index 91acd726182c..0a17db23ffbf 100644
+--- a/include/stp/AST/ASTNode.h
++++ b/include/stp/AST/ASTNode.h
+@@ -24,9 +24,10 @@ THE SOFTWARE.
+ #ifndef ASTNODE_H
+ #define ASTNODE_H
+ 
++#include "stp/AST/ASTInternal.h"
+ #include "stp/AST/NodeFactory/HashingNodeFactory.h"
++#include "stp/AST/UsefulDefs.h"
+ #include "stp/Util/Attributes.h"
+-#include "ASTInternal.h"
+ #include "stp/Globals/Globals.h"
+ 
+ namespace stp
diff --git a/nixpkgs/pkgs/applications/science/misc/openmvg/default.nix b/nixpkgs/pkgs/applications/science/misc/openmvg/default.nix
index c5434c869909..5cf4dc437752 100644
--- a/nixpkgs/pkgs/applications/science/misc/openmvg/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/openmvg/default.nix
@@ -1,34 +1,63 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, cereal, openmp
-, libjpeg ? null
-, zlib ? null
-, libpng ? null
-, eigen ? null
-, libtiff ? null
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake
+, cereal
 , ceres-solver
+, clp
+, coin-utils
+, eigen
+, lemon-graph
+, libjpeg
+, libpng
+, libtiff
+, nix-update-script
+, openmp
+, osi
+, zlib
 , enableShared ? !stdenv.hostPlatform.isStatic
 , enableExamples ? false
 , enableDocs ? false }:
 
 stdenv.mkDerivation rec {
-  version = "unstable-2022-12-30";
+  version = "2.1";
   pname = "openmvg";
 
   src = fetchFromGitHub {
     owner = "openmvg";
     repo = "openmvg";
-    rev = "e1bbfe801986cd7171f36443a1573b0f69f3702d";
-    sha256 = "sha256-DngfmejNFw5pogTo7Ec5aUey2LUQIojvJybLmtCfvVY=";
-    fetchSubmodules = true;
+    rev = "v${version}";
+    hash = "sha256-vG+tW9Gl/DAUL8DeY+rJVDJH/oMPH3XyZMUgzjtwFv0=";
   };
 
-  buildInputs = [ libjpeg zlib libpng eigen libtiff cereal openmp ceres-solver ];
+  # Pretend we checked out the dependency submodules
+  postPatch = ''
+    mkdir src/dependencies/cereal/include
+  '';
+
+  buildInputs = [
+    cereal
+    ceres-solver
+    clp
+    coin-utils
+    eigen
+    lemon-graph
+    libjpeg
+    libpng
+    libtiff
+    openmp
+    osi
+    zlib
+  ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
+  # flann is missing because the lz4 dependency isn't propagated: https://github.com/openMVG/openMVG/issues/1265
   cmakeFlags = [
     "-DOpenMVG_BUILD_EXAMPLES=${if enableExamples then "ON" else "OFF"}"
     "-DOpenMVG_BUILD_DOC=${if enableDocs then "ON" else "OFF"}"
     "-DTARGET_ARCHITECTURE=generic"
+    "-DCLP_INCLUDE_DIR_HINTS=${lib.getDev clp}/include"
+    "-DCOINUTILS_INCLUDE_DIR_HINTS=${lib.getDev coin-utils}/include"
+    "-DLEMON_INCLUDE_DIR_HINTS=${lib.getDev lemon-graph}/include"
+    "-DOSI_INCLUDE_DIR_HINTS=${lib.getDev osi}/include"
   ] ++ lib.optional enableShared "-DOpenMVG_BUILD_SHARED=ON";
 
   cmakeDir = "./src";
@@ -41,6 +70,8 @@ stdenv.mkDerivation rec {
   # Without hardeningDisable, certain flags are passed to the compile that break the build (primarily string format errors)
   hardeningDisable = [ "all" ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
     broken = stdenv.isDarwin && stdenv.isx86_64;
     description = "A library for computer-vision scientists and targeted for the Multiple View Geometry community";
diff --git a/nixpkgs/pkgs/applications/science/misc/root/default.nix b/nixpkgs/pkgs/applications/science/misc/root/default.nix
index c5534c18d7bb..9548db1c7c47 100644
--- a/nixpkgs/pkgs/applications/science/misc/root/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/root/default.nix
@@ -2,6 +2,7 @@
 , lib
 , callPackage
 , fetchurl
+, fetchpatch
 , makeWrapper
 , cmake
 , coreutils
@@ -109,6 +110,17 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sw_vers.patch
+
+    # compatibility with recent XRootD
+    # https://github.com/root-project/root/pull/13752
+    (fetchpatch {
+      url = "https://github.com/root-project/root/commit/3d3cda6c520791282298782189cdb8ca07ace4b9.diff";
+      hash = "sha256-O3aXzrOEQiPjZgbAj9TL6Wt/adN1kKFwjooeaFRyT4I=";
+    })
+    (fetchpatch {
+      url = "https://github.com/root-project/root/commit/6e7798e62dbed1ffa8b91a180fa5a080b7c04ba3.diff";
+      hash = "sha256-47/J631DBnVlvM1Pm9iicKXDKAqN8v9hjAstQuHmH8Q=";
+    })
   ];
 
   preConfigure = ''
@@ -202,13 +214,10 @@ stdenv.mkDerivation rec {
   # suppress warnings from compilation of the vendored clang to avoid running into log limits on the Hydra
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-shadow" "-Wno-maybe-uninitialized" ];
 
-  # Workaround the xrootd runpath bug #169677 by prefixing [DY]LD_LIBRARY_PATH with ${lib.makeLibraryPath xrootd}.
-  # TODO: Remove the [DY]LDLIBRARY_PATH prefix for xrootd when #200830 get merged.
   postInstall = ''
     for prog in rootbrowse rootcp rooteventselector rootls rootmkdir rootmv rootprint rootrm rootslimtree; do
       wrapProgram "$out/bin/$prog" \
-        --set PYTHONPATH "$out/lib" \
-        --set ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH "$out/lib:${lib.makeLibraryPath [ xrootd ]}"
+        --set PYTHONPATH "$out/lib"
     done
 
     # Make ldd and sed available to the ROOT executable by prefixing PATH.
@@ -217,8 +226,7 @@ stdenv.mkDerivation rec {
         gnused # sed
         stdenv.cc # c++ ld etc.
         stdenv.cc.libc # ldd
-      ]}" \
-      --prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xrootd ]}"
+      ]}"
 
     # Patch thisroot.{sh,csh,fish}
 
diff --git a/nixpkgs/pkgs/applications/science/misc/sasview/default.nix b/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
index ddc0cdfa4e5b..e896b19ede83 100644
--- a/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/sasview/default.nix
@@ -1,30 +1,21 @@
 { lib
 , python3
 , fetchFromGitHub
-, fetchpatch
 , wrapQtAppsHook
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sasview";
-  version = "5.0.4";
+  version = "5.0.6";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasview";
-    rev = "v${version}";
-    hash = "sha256-TjcchqA6GCvkr59ZgDuGglan2RxLp+aMjJk28XhvoiY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cwP9VuvO4GPlbAxCqw31xISTi9NoF5RoBQmjWusrnzc=";
   };
 
-  patches = [
-    # Fix `asscalar` numpy API removal.
-    # See https://github.com/SasView/sasview/pull/2178
-    (fetchpatch {
-      url = "https://github.com/SasView/sasview/commit/b1ab08c2a4e8fdade7f3e4cfecf3dfec38b8f3c5.patch";
-      hash = "sha256-IH8g4XPziVAnkmBdzLH1ii8vN6kyCmOgrQlH2HEbm5o=";
-    })
-  ];
-
   # AttributeError: module 'numpy' has no attribute 'float'.
   postPatch = ''
     substituteInPlace src/sas/sascalc/pr/p_invertor.py \
@@ -33,6 +24,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     python3.pkgs.pyqt5
+    python3.pkgs.setuptools
     wrapQtAppsHook
   ];
 
@@ -66,12 +58,21 @@ python3.pkgs.buildPythonApplication rec {
     unittest-xml-reporting
   ];
 
-  pytestFlagsArray = [ "test" ];
+  pytestFlagsArray = [
+    "test"
+  ];
+
+  disabledTests = [
+    # NoKnownLoaderException
+    "test_invalid_cansas"
+    "test_data_reader_exception"
+  ];
 
   meta = with lib; {
-    homepage = "https://www.sasview.org";
     description = "Fitting and data analysis for small angle scattering data";
-    maintainers = with maintainers; [ rprospero ];
+    homepage = "https://www.sasview.org";
+    changelog = "https://github.com/SasView/sasview/releases/tag/v${version}";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ rprospero ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
index ba9cfb41f09c..465ae196b47d 100644
--- a/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/snakemake/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "8.4.4";
+  version = "8.4.8";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-d3pUVhn9oi1ILDR4sfRh6HypbDn2JZMha27h0twixPc=";
+    hash = "sha256-iF5+slcPTRK/3SmqR+4KK5KAK5LhKAe+nt+U/B5C3/8=";
     # https://github.com/python-versioneer/python-versioneer/issues/217
     postFetch = ''
       sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'
diff --git a/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix b/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
index 1852ef3ff1c8..77b57e08e2bb 100644
--- a/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
+++ b/nixpkgs/pkgs/applications/science/physics/xfitter/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
   env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "-I${libtirpc.dev}/include/tirpc";
   NIX_LDFLAGS = lib.optional (stdenv.hostPlatform.libc == "glibc") "-ltirpc";
 
+  hardeningDisable = [ "format" ];
+
   # workaround wrong library IDs
   postInstall = lib.optionalString stdenv.isDarwin ''
     ln -sv "$out/lib/xfitter/"* "$out/lib/"
diff --git a/nixpkgs/pkgs/applications/search/doodle/default.nix b/nixpkgs/pkgs/applications/search/doodle/default.nix
index 2016d6afff74..fbe5ee56b319 100644
--- a/nixpkgs/pkgs/applications/search/doodle/default.nix
+++ b/nixpkgs/pkgs/applications/search/doodle/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ viric ];
     platforms = with lib.platforms; linux;
+    mainProgram = "doodle";
   };
 }
diff --git a/nixpkgs/pkgs/applications/search/grepcidr/default.nix b/nixpkgs/pkgs/applications/search/grepcidr/default.nix
index bdc660db45fc..231718c810ee 100644
--- a/nixpkgs/pkgs/applications/search/grepcidr/default.nix
+++ b/nixpkgs/pkgs/applications/search/grepcidr/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = [ maintainers.fadenb ];
+    mainProgram = "grepcidr";
   };
 }
diff --git a/nixpkgs/pkgs/applications/search/grepm/default.nix b/nixpkgs/pkgs/applications/search/grepm/default.nix
index 14ac6ed69ce8..c3adbb2ab8b0 100644
--- a/nixpkgs/pkgs/applications/search/grepm/default.nix
+++ b/nixpkgs/pkgs/applications/search/grepm/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     license = licenses.free;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
+    mainProgram = "grepm";
   };
 }
diff --git a/nixpkgs/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch b/nixpkgs/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch
new file mode 100644
index 000000000000..1f3a71fb3c9b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/search/recoll/0001-no-qtgui-darwin-bundle.patch
@@ -0,0 +1,48 @@
+From 9a0102fe1da038ebe08107ead991964df11b0271 Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Mon, 19 Feb 2024 03:31:20 +0000
+Subject: [PATCH] no qtgui darwin bundle
+
+---
+ qtgui/recoll.pro.in | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/qtgui/recoll.pro.in b/qtgui/recoll.pro.in
+index a0ef314..6dbc3b5 100644
+--- a/qtgui/recoll.pro.in
++++ b/qtgui/recoll.pro.in
+@@ -180,7 +180,7 @@ windows {
+   }
+ }
+ 
+-macx: {
++if (false) {
+   QCBUILDLOC=Qt_6_4_2_for_macOS
+ 
+   # QT += webkit webkitwidgets
+@@ -375,7 +375,7 @@ macx: {
+   QMAKE_BUNDLE_DATA = APP_EXAMPLES APP_EXAMPLES_MAC APP_FILTERS APP_IMAGES APP_DOC
+ }
+ 
+-unix:!macx {
++unix {
+ 
+ VPATH = @srcdir@
+ 
+@@ -400,6 +400,13 @@ VPATH = @srcdir@
+   SOURCES += crontool.cpp \
+         rtitool.cpp
+ 
++  macx {
++    SOURCES += ../utils/closefrom.cpp \
++    ../utils/execmd.cpp \
++    ../utils/netcon.cpp \
++    ../utils/rclionice.cpp
++  }
++
+   FORMS  += crontool.ui \
+         rtitool.ui
+ 
+-- 
+2.43.0
+
diff --git a/nixpkgs/pkgs/applications/search/recoll/default.nix b/nixpkgs/pkgs/applications/search/recoll/default.nix
index 67f22a33abce..99d4b79d1cc0 100644
--- a/nixpkgs/pkgs/applications/search/recoll/default.nix
+++ b/nixpkgs/pkgs/applications/search/recoll/default.nix
@@ -70,11 +70,11 @@ in
 
 mkDerivation rec {
   pname = "recoll";
-  version = "1.37.2";
+  version = "1.37.4";
 
   src = fetchurl {
     url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-xLdk3pJSV1YaloSV3TuTdJhujXsxUGrDru+mu86YBTU=";
+    hash = "sha256-MQnXamW7L4hyMbZDmU7XAcLv5roHcfhFGzni8YbDtq0=";
   };
 
   configureFlags = [
@@ -105,6 +105,8 @@ mkDerivation rec {
   patches = [
     # fix "No/bad main configuration file" error
     ./fix-datadir.patch
+    # use the same configure based build for darwin as linux
+    ./0001-no-qtgui-darwin-bundle.patch
   ];
 
   nativeBuildInputs = [
@@ -135,6 +137,10 @@ mkDerivation rec {
     libiconv
   ];
 
+  qtWrapperArgs = [
+    "--prefix PATH : ${filterPath}"
+  ];
+
   # the filters search through ${PATH} using a sh proc 'checkcmds' for the
   # filtering utils. Short circuit this by replacing the filtering command with
   # the absolute path to the filtering command.
@@ -150,8 +156,6 @@ mkDerivation rec {
         substituteInPlace $f --replace /usr/bin/perl   ${lib.getBin (perl.passthru.withPackages (p: [ p.ImageExifTool ]))}/bin/perl
       fi
     done
-    wrapProgram $out/bin/recoll      --prefix PATH : "${filterPath}"
-    wrapProgram $out/bin/recollindex --prefix PATH : "${filterPath}"
     wrapProgram $out/share/recoll/filters/rclaudio.py \
       --prefix PYTHONPATH : $PYTHONPATH
     wrapProgram $out/share/recoll/filters/rclimg \
@@ -163,6 +167,11 @@ mkDerivation rec {
     mv $out/bin/recoll.app $out/Applications
   '';
 
+  # create symlink after fixup to prevent double wrapping of recoll
+  postFixup = lib.optionalString (stdenv.isDarwin && withGui) ''
+    ln -s ../Applications/recoll.app/Contents/MacOS/recoll $out/bin/recoll
+  '';
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/system/mgmt/default.nix b/nixpkgs/pkgs/applications/system/mgmt/default.nix
index 8a8396630815..bfa85ef566fd 100644
--- a/nixpkgs/pkgs/applications/system/mgmt/default.nix
+++ b/nixpkgs/pkgs/applications/system/mgmt/default.nix
@@ -63,5 +63,6 @@ buildGoModule rec {
     homepage = "https://mgmtconfig.com";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ urandom ];
+    mainProgram = "mgmt";
   };
 }
diff --git a/nixpkgs/pkgs/applications/system/psitop/default.nix b/nixpkgs/pkgs/applications/system/psitop/default.nix
index cfcdf2488f6a..74edad8b18c0 100644
--- a/nixpkgs/pkgs/applications/system/psitop/default.nix
+++ b/nixpkgs/pkgs/applications/system/psitop/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/jamespwilliams/psitop";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "psitop";
   };
 }
diff --git a/nixpkgs/pkgs/applications/system/zxfer/default.nix b/nixpkgs/pkgs/applications/system/zxfer/default.nix
index b62c1262430c..855be7bc3be0 100644
--- a/nixpkgs/pkgs/applications/system/zxfer/default.nix
+++ b/nixpkgs/pkgs/applications/system/zxfer/default.nix
@@ -82,5 +82,6 @@ resholve.mkDerivation rec {
     changelog = "https://github.com/allanjude/zxfer/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with lib.maintainers; [ urandom ];
+    mainProgram = "zxfer";
   };
 }
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
index 4bcc6ee72b60..2141d9246dae 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -83,7 +83,7 @@ rustPlatform.buildRustPackage rec {
 
   outputs = [ "out" "terminfo" ];
 
-  postPatch = lib.optionalString (!xdg-utils.meta.broken) ''
+  postPatch = lib.optionalString stdenv.isLinux ''
     substituteInPlace alacritty/src/config/ui_config.rs \
       --replace xdg-open ${xdg-utils}/bin/xdg-open
   '';
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
index 0cc73c17f393..2a249d0426ca 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -30,20 +30,20 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.32.1";
+  version = "0.32.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "refs/tags/v${version}";
-    hash = "sha256-d+Xwn+po/pclAy4UZ4pR4KWmriHCLPeMhXxoHp6wHT8=";
+    hash = "sha256-CgL+XXVTGLbNXm7DLenrkCZAfspyNubGOAPUZmKiq2c=";
   };
 
   goModules = (buildGoModule {
     pname = "kitty-go-modules";
     inherit src version;
-    vendorHash = "sha256-WRDP3Uyttz/kWm07tjv7wNguF/a1YgZqutbvFEOHuE0=";
+    vendorHash = "sha256-Ve8s4vgDmByfvyJL8a36+7g3QErkhqVXGCSu6vHFFx0=";
   }).goModules;
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/commitizen/default.nix b/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
index d7abe6812c5c..98a5549faab4 100644
--- a/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/commitizen/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.14.1";
+  version = "3.15.0";
   format = "pyproject";
 
   disabled = python3.pythonOlder "3.8";
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-yRcc87V4XJuTyrngQgPGJozk+hd7SRHERLvsQ/yZKYQ=";
+    hash = "sha256-WXsEkJRis9L9heHj6SkTFFTuGmnDXPMKfr7rYy8vzcI=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/applications/version-management/conform/default.nix b/nixpkgs/pkgs/applications/version-management/conform/default.nix
index 7ee825f566ec..4ebe11038ddd 100644
--- a/nixpkgs/pkgs/applications/version-management/conform/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/conform/default.nix
@@ -2,15 +2,16 @@
 
 buildGoModule rec {
   pname = "conform";
-  version = "0.1.0-alpha.27";
+  version = "0.1.0-alpha.28";
 
   src = fetchFromGitHub {
     owner = "siderolabs";
     repo = "conform";
     rev = "v${version}";
-    sha256 = "sha256-lIXkflWQcUcmRDX9iSszFLKpI8nSgkCCB2+GQn07+DM=";
+    hash = "sha256-qrMOybTjXql+cOggkgSMnK2MQhZr59e5Z4d+jBMUTko=";
   };
-  vendorHash = "sha256-Oigt7tAK4jhBQtfG1wdLHqi11NWu6uJn5fmuqTmR76E=";
+
+  vendorHash = "sha256-hDdNYXy5NIrlqT6yyOglFg2v7HOM9nE+oh7mx2kLdnQ=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/applications/version-management/gh/default.nix b/nixpkgs/pkgs/applications/version-management/gh/default.nix
index 33d968c53757..659de8d676a3 100644
--- a/nixpkgs/pkgs/applications/version-management/gh/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.43.1";
+  version = "2.44.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-FPKYp3tdYXncHjfo6E6tRnEG9AQ0RU6FaezwMlTOCtA=";
+    hash = "sha256-ZcJY9XNkp1Glo0sQ0O9iadsvW4eterkogjlJmQeP+M4=";
   };
 
   vendorHash = "sha256-r1zcwBz/mJOv1RU4Ilgg73yH37xu7a/BmqgAkiODq0I=";
diff --git a/nixpkgs/pkgs/applications/version-management/git-aggregator/default.nix b/nixpkgs/pkgs/applications/version-management/git-aggregator/default.nix
index 22127c114110..34365cb5d90d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-aggregator/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-aggregator/default.nix
@@ -37,7 +37,7 @@ python3Packages.buildPythonApplication rec {
     description = "Manage the aggregation of git branches from different remotes to build a consolidated one";
     homepage = "https://github.com/acsone/git-aggregator";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     mainProgram = "gitaggregate";
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-branchless/default.nix b/nixpkgs/pkgs/applications/version-management/git-branchless/default.nix
index 6bcfb0a6cdc7..a8041f2698bb 100644
--- a/nixpkgs/pkgs/applications/version-management/git-branchless/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-branchless/default.nix
@@ -37,6 +37,10 @@ rustPlatform.buildRustPackage rec {
     libiconv
   ];
 
+  postInstall = ''
+    $out/bin/git-branchless install-man-pages $out/share/man
+  '';
+
   preCheck = ''
     export TEST_GIT=${git}/bin/git
     export TEST_GIT_EXEC_PATH=$(${git}/bin/git --exec-path)
diff --git a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
index 538f0cc75c92..21e8ab9fe3ea 100644
--- a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
@@ -11,24 +11,24 @@ with lib;
 
 let
   pname = "gitkraken";
-  version = "9.11.1";
+  version = "9.12.0";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchzip {
       url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-      hash = "sha256-DTnVsVWOPAcG2O87dS6PwAB+VU0ijulELHe9CnOLYPU=";
+      hash = "sha256-g2YcNFKt1/YBmEOH3Z5b0MPMMOWBIvXh+V2fzaGgCgQ=";
     };
 
     x86_64-darwin = fetchzip {
       url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
-      hash = "sha256-JkmQYk+t4ACkK3V0IxrrIcheBWJEkxQzf9ZYRWs769c=";
+      hash = "sha256-yy7BbtguQj/LVM7ivNTcG97XIImQUMQPKwTVDWGvvnQ=";
     };
 
     aarch64-darwin = fetchzip {
       url = "https://release.axocdn.com/darwin-arm64/GitKraken-v${version}.zip";
-      hash = "sha256-jWXvDSyM7A3+cer/yPvom9f0w2nGJmwOJ22qoQzRWGQ=";
+      hash = "sha256-ihnTzQC7B0TdHZzXmrwcVSfxKvGoBBTdRq8ZJicaVDI=";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/version-management/gitsign/default.nix b/nixpkgs/pkgs/applications/version-management/gitsign/default.nix
index 87b73391987e..2d0878cf0d95 100644
--- a/nixpkgs/pkgs/applications/version-management/gitsign/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitsign/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "gitsign";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-COgoj5MrX7VBwjgfH+Ud7gp0gE7gpsYoyd0Jv4uXoec=";
+    hash = "sha256-+oJBpERU2WbfmS7MyBbJKrh4kzY+rgSw4uKAU1y5kR4=";
   };
-  vendorHash = "sha256-btvFro0K0+9potwForIj/7h41l+LbUE0Gym9aHaWtEE=";
+  vendorHash = "sha256-Z46eDqUc8Mdq9lEMx1YOuSh5zPIMQrSkbto33AmgANU=";
 
   subPackages = [
     "."
diff --git a/nixpkgs/pkgs/applications/version-management/got/default.nix b/nixpkgs/pkgs/applications/version-management/got/default.nix
index 671a6d329573..377e3a27e51f 100644
--- a/nixpkgs/pkgs/applications/version-management/got/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/got/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "got";
-  version = "0.95";
+  version = "0.96";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
-    hash = "sha256-5on9ff76OAFmoaKTwVM0hUCGLiAZGJzt6+jCx2Nygg4=";
+    hash = "sha256-/R7r6IJtgkuNQwoLxys/1HcXW+l3PVkjnPXphFpAFTs=";
   };
 
   nativeBuildInputs = [ pkg-config bison ]
diff --git a/nixpkgs/pkgs/applications/version-management/meld/default.nix b/nixpkgs/pkgs/applications/version-management/meld/default.nix
index e43448fd2f1d..563e7362d51d 100644
--- a/nixpkgs/pkgs/applications/version-management/meld/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/meld/default.nix
@@ -18,13 +18,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "meld";
-  version = "3.22.0";
+  version = "3.22.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-P8EHyY7251NY/9Kw0UyF3bSP4UoR6TmpQyL6qo6QxA0=";
+    sha256 = "sha256-bdO9MtvUNBq6djD7lTd393x3aB7qIjazZB1iKo+QaDY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/version-management/stgit/default.nix b/nixpkgs/pkgs/applications/version-management/stgit/default.nix
index 63213cc38b7a..06de22c65b19 100644
--- a/nixpkgs/pkgs/applications/version-management/stgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/stgit/default.nix
@@ -18,15 +18,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stgit";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchFromGitHub {
     owner = "stacked-git";
     repo = "stgit";
     rev = "v${version}";
-    hash = "sha256-KyyvTyPJ4LJ/H2rqutPlswrjINR+V8mJNi6iq8Om1j0=";
+    hash = "sha256-zESuJJ68CCTGSDwGBeguAV78KETp+FUKnNNJx+4zorw=";
   };
-  cargoHash = "sha256-Vlv2NRB4iggG3aCZwNZWhl7KfmYxryG2joY0jnBFhZ0=";
+  cargoHash = "sha256-ITR6RREx55q3hxYrHj+fOv0C8fAzphR4q/A5tTd9CDg=";
 
   nativeBuildInputs = [
     pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl
diff --git a/nixpkgs/pkgs/applications/video/ani-cli/default.nix b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
index 375a930b0294..f4d174474df2 100644
--- a/nixpkgs/pkgs/applications/video/ani-cli/default.nix
+++ b/nixpkgs/pkgs/applications/video/ani-cli/default.nix
@@ -21,13 +21,13 @@ assert withMpv || withVlc || withIina;
 
 stdenvNoCC.mkDerivation rec {
   pname = "ani-cli";
-  version = "4.7";
+  version = "4.8";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ani-cli";
     rev = "v${version}";
-    hash = "sha256-Ll4bHKrDZukoQX35iiMI6rMSgiTC6wp7fHUnOMPagOA=";
+    hash = "sha256-vntCiWaONndjU622c1BoCoASQxQf/i7yO0x+70OxzPU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/video/crunchy-cli/default.nix b/nixpkgs/pkgs/applications/video/crunchy-cli/default.nix
deleted file mode 100644
index 3efeeb8544d4..000000000000
--- a/nixpkgs/pkgs/applications/video/crunchy-cli/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, stdenv
-, clangStdenv
-, darwin
-, xcbuild
-, openssl
-, pkg-config
-, rustPlatform
-, fetchFromGitHub
-}:
-
-rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
-  pname = "crunchy-cli";
-  version = "3.0.0-dev.10";
-
-  src = fetchFromGitHub {
-    owner = "crunchy-labs";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-uc19SmVfa5BZYDidlEgV6GNvcm9Dj0mSjdwHP5S+O4A=";
-  };
-
-  cargoHash = "sha256-H3D55qMUAF6t45mRbGZl+DORAl1H1a7AOe+lQP0WUUQ=";
-
-  nativeBuildInputs = [
-    pkg-config
-  ] ++ lib.optionals stdenv.isDarwin [
-    xcbuild
-  ];
-
-  buildInputs = [
-    openssl
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
-  ];
-
-  meta = with lib; {
-    description = "A pure Rust written Crunchyroll cli client and downloader";
-    homepage = "https://github.com/crunchy-labs/crunchy-cli";
-    license = with licenses; [ gpl3 ];
-    maintainers = with maintainers; [ stepbrobd ];
-    mainProgram = "crunchy-cli";
-  };
-}
-
diff --git a/nixpkgs/pkgs/applications/video/dmlive/default.nix b/nixpkgs/pkgs/applications/video/dmlive/default.nix
index 43e659bbfcc7..a1b41d360e45 100644
--- a/nixpkgs/pkgs/applications/video/dmlive/default.nix
+++ b/nixpkgs/pkgs/applications/video/dmlive/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dmlive";
-  version = "5.3.1";
+  version = "5.3.2";
 
   src = fetchFromGitHub {
     owner = "THMonster";
     repo = pname;
-    rev = "0a07fd1b831bc9e9d34e474284430297b63446c7"; # no tag
-    hash = "sha256-Jvxbdm9Swh8m03uZEMTkUhIHNfhE+N2a3w7j+liweKE=";
+    rev = "3736d83ac0920de78ac82fe331bc6b16dc72b5cd"; # no tag
+    hash = "sha256-3agUeAv6Nespn6GNw4wmy8HNPQ0VIgZAMnKiV/myKbA=";
   };
 
-  cargoHash = "sha256-/84T7K6WUt2Bfx9qdZjyOHcJEGoquCfRX1ctQBuUjEc=";
+  cargoHash = "sha256-MxkWaEn/gMMOuje7lu7PlqsQjnF0LWpV9JzmFBG1ukU=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/nixpkgs/pkgs/applications/video/frigate/default.nix b/nixpkgs/pkgs/applications/video/frigate/default.nix
index 6a93401d985d..d6437d09f421 100644
--- a/nixpkgs/pkgs/applications/video/frigate/default.nix
+++ b/nixpkgs/pkgs/applications/video/frigate/default.nix
@@ -3,6 +3,7 @@
 , python3
 , fetchFromGitHub
 , fetchurl
+, fetchpatch2
 , frigate
 , nixosTests
 }:
@@ -58,6 +59,14 @@ python.pkgs.buildPythonApplication rec {
 
   inherit src;
 
+  patches = [
+    (fetchpatch2 {
+      name = "frigate-flask3.0-compat.patch";
+      url = "https://github.com/blakeblackshear/frigate/commit/56bdacc1c661eff8a323e033520e75e2ba0a3842.patch";
+      hash = "sha256-s/goUJxIbjq/woCEOEZECdcZoJDoWc1eM63sd60cxeY=";
+    })
+  ];
+
   postPatch = ''
     echo 'VERSION = "${version}"' > frigate/version.py
 
@@ -97,6 +106,7 @@ python.pkgs.buildPythonApplication rec {
     click
     flask
     imutils
+    markupsafe
     matplotlib
     norfair
     numpy
diff --git a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
index 0728fb73bb26..ec84aa9ff6b3 100644
--- a/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
@@ -23,6 +23,7 @@
 , joystickSupport ? true, cwiid
 , nfsSupport ? true, libnfs
 , pulseSupport ? true, libpulseaudio
+, pipewireSupport ? true, pipewire
 , rtmpSupport ? true, rtmpdump
 , sambaSupport ? true, samba
 , udevSupport ? true, udev
@@ -140,6 +141,7 @@ in stdenv.mkDerivation {
     ++ lib.optional  joystickSupport cwiid
     ++ lib.optional  nfsSupport      libnfs
     ++ lib.optional  pulseSupport    libpulseaudio
+    ++ lib.optional  pipewireSupport pipewire
     ++ lib.optional  rtmpSupport     rtmpdump
     ++ lib.optional  sambaSupport    samba
     ++ lib.optional  udevSupport     udev
diff --git a/nixpkgs/pkgs/applications/video/natron/default.nix b/nixpkgs/pkgs/applications/video/natron/default.nix
index d5c603998f3d..5ca88c666ee8 100644
--- a/nixpkgs/pkgs/applications/video/natron/default.nix
+++ b/nixpkgs/pkgs/applications/video/natron/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkg-config
 , wrapQtAppsHook
@@ -37,6 +38,23 @@ stdenv.mkDerivation {
     hash = "sha256-dgScbfyulZPlrngqSw7xwipldoRd8uFO8VP9mlJyhQ8=";
   };
 
+  patches = [
+    # Fix gcc-13 build:
+    #   https://github.com/NatronGitHub/Natron/pull/929
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/NatronGitHub/Natron/commit/4b44fb18293035873b35c3a2d2aa29da78cb8740.patch";
+      includes = ["Global/GlobalDefines.h"];
+      hash = "sha256-9E1tJCvO7zA1iQAhrlL3GaBFIGpkjxNOr31behQXdhQ=";
+    })
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/NatronGitHub/Natron/commit/f21f58622e32c1684567c82e2ab361f33030bda7.patch";
+      includes = ["Engine/Noise.cpp"];
+      hash = "sha256-t2mzTsRuXVs8d1BB/5uAY1OPxWRa3JTK1iAWLAMsrgs=";
+    })
+  ];
+
   cmakeFlags = [ "-DNATRON_SYSTEM_LIBS=ON" ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
index a5d63ec68746..3068718b08f0 100644
--- a/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
+++ b/nixpkgs/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-move-transition";
-  version = "2.9.8";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "exeldro";
     repo = "obs-move-transition";
     rev = version;
-    sha256 = "sha256-GOLmwXAK2g8IyI+DFH2sBOR2iknYdgYevytZpt3Cc7Q=";
+    sha256 = "sha256-HMhIGOslAtk5npunRZkOcFQZDSIB7c8qcFW3l9kgkzo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix b/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
index 4af06adf347e..e6f820528882 100644
--- a/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/open-in-mpv/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "open-in-mpv";
-  version = "2.1.0-unstable-2023-05-13";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "Baldomo";
     repo = "open-in-mpv";
-    rev = "07fc639b2882a9a68e539f0fc34b61e247c355fa";
-    hash = "sha256-XkoXvSh5uu96isXc1at36mxSCPylHgMLN97qSpj2cyc=";
+    rev = "v${version}";
+    hash = "sha256-+sP8/wILBkT3NnhENDYZbOwqOufkFyMJFpQxquuUBEs=";
   };
 
   vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c=";
diff --git a/nixpkgs/pkgs/applications/video/qctools/default.nix b/nixpkgs/pkgs/applications/video/qctools/default.nix
new file mode 100644
index 000000000000..cbe565fe73c8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/qctools/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, qmake, wrapQtAppsHook, ffmpeg, qtmultimedia, qwt }:
+
+stdenv.mkDerivation rec {
+  pname = "qctools";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://mediaarea.net/download/source/${pname}/${version}/${pname}_${version}.tar.xz";
+    hash = "sha256-ClF8KiVjV2JTCjz/ueioojhiHZf8UW9WONaJrIx4Npo=";
+  };
+
+  sourceRoot = "${pname}/Project/QtCreator";
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [ ffmpeg qtmultimedia qwt ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dt $out/bin qctools-cli/qcli qctools-gui/QCTools
+    cd ../GNU/GUI
+    install -Dm644 qctools.desktop $out/share/applications/qctools.desktop
+    install -Dm644 qctools.metainfo.xml $out/share/metainfo/qctools.metainfo.xml
+    cd ../../../Source/Resource
+    install -Dm 0644 Logo.png $out/share/icons/hicolor/256x256/apps/qctools.png
+    install -Dm 0644 Logo.png $out/share/pixmaps/qctools.png
+    cd ../../Project/QtCreator
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Audiovisual analytics and filtering of video files";
+    homepage = "https://mediaarea.net/QCTools";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/streamlink/default.nix b/nixpkgs/pkgs/applications/video/streamlink/default.nix
index 962604f79106..9b3dfda74839 100644
--- a/nixpkgs/pkgs/applications/video/streamlink/default.nix
+++ b/nixpkgs/pkgs/applications/video/streamlink/default.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "6.5.1";
+  version = "6.6.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IH+0zpnDW/6xuPfHa5bPy0B2rWiBxh6upVPC7BPZfFc=";
+    hash = "sha256-MfHiBgUHjTEUGfYVMOZ9R/7bWg8HOLt8/QQw2vGRA7E=";
   };
 
   nativeCheckInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
index 52afc0d15f83..533a473d036e 100644
--- a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
+++ b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/Cargo.lock
@@ -5,7 +5,7 @@ version = 3
 [[package]]
 name = "acpi_tables"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#1a733bf690ccc10bdfeacad33e3c9f6cce0008fd"
+source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#76e8552f57f76ca918e19c0a7b7480d2fa2c7241"
 dependencies = [
  "zerocopy",
 ]
@@ -50,9 +50,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -65,28 +65,28 @@ dependencies = [
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "api_client"
@@ -135,13 +135,15 @@ dependencies = [
 
 [[package]]
 name = "async-channel"
-version = "1.9.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
 dependencies = [
  "concurrent-queue",
- "event-listener 2.5.3",
+ "event-listener 4.0.0",
+ "event-listener-strategy",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -223,7 +225,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.0.0",
  "futures-lite 1.13.0",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -235,7 +237,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -265,13 +267,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.76"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -312,13 +314,13 @@ dependencies = [
 
 [[package]]
 name = "bitfield-struct"
-version = "0.5.4"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac32db62a43cf33353ce30b4a208b08193ea2086a1c6c004acb0073c706a29d"
+checksum = "a26b8cea8bb6a81b75a84603b9e096f05fa86db057904ef29be1deee900532bd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -338,7 +340,7 @@ name = "block"
 version = "0.1.0"
 dependencies = [
  "byteorder",
- "crc32c",
+ "crc-any",
  "io-uring",
  "libc",
  "log",
@@ -366,17 +368,18 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.3.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel",
- "async-lock 2.7.0",
+ "async-lock 3.2.0",
  "async-task",
- "atomic-waker",
- "fastrand 1.9.0",
- "futures-lite 1.13.0",
- "log",
+ "fastrand 2.0.0",
+ "futures-io",
+ "futures-lite 2.1.0",
+ "piper",
+ "tracing",
 ]
 
 [[package]]
@@ -436,7 +439,7 @@ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "cloud-hypervisor"
-version = "37.0.0"
+version = "38.0.0"
 dependencies = [
  "anyhow",
  "api_client",
@@ -473,9 +476,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -490,12 +493,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "crc32c"
-version = "0.6.4"
+name = "crc-any"
+version = "2.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74"
+checksum = "c01a5e1f881f6fb6099a7bdf949e946719fd4f1fefa56264890574febf0eb6d0"
 dependencies = [
- "rustc_version",
+ "debug-helper",
 ]
 
 [[package]]
@@ -509,18 +512,15 @@ dependencies = [
 
 [[package]]
 name = "crc64"
-version = "1.0.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55626594feae15d266d52440b26ff77de0e22230cf0c113abe619084c1ddc910"
+checksum = "2707e3afba5e19b75d582d88bc79237418f2a2a2d673d01cf9b03633b46e98f3"
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crypto-common"
@@ -534,9 +534,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -544,30 +544,36 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
+name = "debug-helper"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
+
+[[package]]
 name = "derivative"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -605,9 +611,9 @@ dependencies = [
 
 [[package]]
 name = "dhat"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2aaf837aaf456f6706cb46386ba8dffd4013a757e36f4ea05c20dd46b209a3"
+checksum = "98cd11d84628e233de0ce467de10b8633f4ddaecafadefc86e13b84b8739b827"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -668,14 +674,14 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -801,9 +807,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -816,9 +822,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -826,15 +832,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -843,9 +849,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -877,32 +883,32 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -918,9 +924,9 @@ dependencies = [
 
 [[package]]
 name = "gdbstub"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09a8b954f9d02b74fe8e89a1c77bd9a6b8206713ebf1b272bfad9573b4a86f88"
+checksum = "6341b3480afbb34eaefc7f92713bc92f2d83e338aaa1c44192f9c2956f4a4903"
 dependencies = [
  "bitflags 2.4.1",
  "cfg-if",
@@ -952,9 +958,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1121,7 +1127,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -1142,8 +1148,8 @@ dependencies = [
 
 [[package]]
 name = "kvm-bindings"
-version = "0.6.0"
-source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.6.0-tdx#7d9ffb47e5b9b1989577258800a0f57c93f1445f"
+version = "0.7.0"
+source = "git+https://github.com/cloud-hypervisor/kvm-bindings?branch=ch-v0.7.0#2dcf85d4f8aa55befcaa996b699ddb18ec9ed059"
 dependencies = [
  "serde",
  "serde_derive",
@@ -1152,9 +1158,11 @@ dependencies = [
 
 [[package]]
 name = "kvm-ioctls"
-version = "0.13.0"
-source = "git+https://github.com/rust-vmm/kvm-ioctls?branch=main#23a3bb045a467e60bb00328a0b13cea13b5815d0"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9002dff009755414f22b962ec6ae6980b07d6d8b06e5297b1062019d72bd6a8c"
 dependencies = [
+ "bitflags 2.4.1",
  "kvm-bindings",
  "libc",
  "vmm-sys-util",
@@ -1168,9 +1176,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libssh2-sys"
@@ -1200,9 +1208,9 @@ dependencies = [
 
 [[package]]
 name = "linux-loader"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "132a531b85b3a164012ab682c72f8f2cce7757f187be5f60782fd2b4cda9cb34"
+checksum = "eb68dd3452f25a8defaf0ae593509cff0c777683e4d8924f59ac7c5f89267a83"
 dependencies = [
  "vm-memory",
 ]
@@ -1215,9 +1223,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.5"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -1259,7 +1267,7 @@ dependencies = [
 [[package]]
 name = "micro_http"
 version = "0.1.0"
-source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#a4d632f2c5ea45712c0d2002dc909a63879e85c3"
+source = "git+https://github.com/firecracker-microvm/micro-http?branch=main#e75dfa1eeea23b69caa7407bc2c3a76d7b7262fb"
 dependencies = [
  "libc",
  "vmm-sys-util",
@@ -1287,7 +1295,7 @@ dependencies = [
 [[package]]
 name = "mshv-bindings"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#0dd4d3452a7f2e95199f4b58380acc41458474de"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
 dependencies = [
  "libc",
  "serde",
@@ -1299,7 +1307,7 @@ dependencies = [
 [[package]]
 name = "mshv-ioctls"
 version = "0.1.1"
-source = "git+https://github.com/rust-vmm/mshv?branch=main#0dd4d3452a7f2e95199f4b58380acc41458474de"
+source = "git+https://github.com/rust-vmm/mshv?branch=main#9d0c11fe9fedfbcf56a5d62fbf4bad80cdf91340"
 dependencies = [
  "libc",
  "mshv-bindings",
@@ -1385,9 +1393,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "open-enum"
@@ -1420,9 +1428,9 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -1549,22 +1557,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1580,6 +1588,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.0",
+ "futures-io",
+]
+
+[[package]]
 name = "pkg-config"
 version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1630,7 +1649,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1710,18 +1729,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.70"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1766,8 +1785,10 @@ checksum = "8edc89eaa583cf6bc4c6ef16a219f0a60d342ca3bf0eae793560038ac8af1795"
 name = "rate_limiter"
 version = "0.1.0"
 dependencies = [
+ "epoll",
  "libc",
  "log",
+ "thiserror",
  "vmm-sys-util",
 ]
 
@@ -1837,7 +1858,7 @@ checksum = "bce3a7139d2ee67d07538ee5dba997364fbc243e7e7143e96eb830c74bfaa082"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1853,15 +1874,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
 name = "rustix"
 version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1877,14 +1889,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.8"
+version = "0.38.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.5",
+ "linux-raw-sys 0.4.13",
  "windows-sys 0.48.0",
 ]
 
@@ -1910,36 +1922,30 @@ dependencies = [
 ]
 
 [[package]]
-name = "semver"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
-
-[[package]]
 name = "serde"
-version = "1.0.168"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d614f89548720367ded108b3c843be93f3a341e22d5674ca0dd5cd57f34926af"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.168"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fe589678c688e44177da4f27152ee2d190757271dc7f1d5b6b9f68d869d641"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
 dependencies = [
  "itoa",
  "ryu",
@@ -1954,7 +1960,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1976,7 +1982,7 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2024,9 +2030,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
@@ -2084,9 +2090,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.31"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2112,7 +2118,7 @@ dependencies = [
  "cfg-if",
  "fastrand 2.0.0",
  "redox_syscall 0.3.5",
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -2131,7 +2137,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.8",
+ "rustix 0.38.25",
  "windows-sys 0.48.0",
 ]
 
@@ -2152,22 +2158,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2219,11 +2225,10 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -2231,20 +2236,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
@@ -2300,9 +2305,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "versionize"
-version = "0.1.10"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dca4b7062e7e6d685901e815c35f9671e059de97c1c0905eeff8592f3fff442f"
+checksum = "62929d59c7f6730b7298fcb363760550f4db6e353fbac4076d447d0e82799d6d"
 dependencies = [
  "bincode",
  "crc64",
@@ -2317,8 +2322,8 @@ dependencies = [
 
 [[package]]
 name = "versionize_derive"
-version = "0.1.4"
-source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch#e502b1d4aabab342386f0c53780d49f21a6a1df6"
+version = "0.1.6"
+source = "git+https://github.com/cloud-hypervisor/versionize_derive?branch=ch-0.1.6#7906da996152e2d0ab08f5526440683bf3ca7834"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2328,7 +2333,7 @@ dependencies = [
 [[package]]
 name = "vfio-bindings"
 version = "0.4.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#59c604fa6e42080f0a47c124ba29454fe4cb7475"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
 dependencies = [
  "vmm-sys-util",
 ]
@@ -2336,7 +2341,7 @@ dependencies = [
 [[package]]
 name = "vfio-ioctls"
 version = "0.2.0"
-source = "git+https://github.com/rust-vmm/vfio?branch=main#59c604fa6e42080f0a47c124ba29454fe4cb7475"
+source = "git+https://github.com/rust-vmm/vfio?branch=main#0daff4d4c159e842cf18b8b90457a45032b2df5a"
 dependencies = [
  "byteorder",
  "kvm-bindings",
@@ -2354,7 +2359,7 @@ dependencies = [
 [[package]]
 name = "vfio_user"
 version = "0.1.0"
-source = "git+https://github.com/rust-vmm/vfio-user?branch=main#6c72e997e61d9e84b8ee691ad63ece6c717cf5aa"
+source = "git+https://github.com/rust-vmm/vfio-user?branch=main#a1f6e52829e069b6d698b2cfeecac742e4653186"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -2370,9 +2375,9 @@ dependencies = [
 
 [[package]]
 name = "vhost"
-version = "0.9.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "289adfce099c71f8310f895932ccd978f352ca494ea47496dbe20d4241888b82"
+checksum = "2b64e816d0d49769fbfaa1494eb77cc2a3ddc526ead05c7f922cb7d64106286f"
 dependencies = [
  "bitflags 2.4.1",
  "libc",
@@ -2382,9 +2387,9 @@ dependencies = [
 
 [[package]]
 name = "vhost-user-backend"
-version = "0.11.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61255322e3ebe93fb77d9f6d99577eca7089bbea4174076c5353a8024a463061"
+checksum = "72c8c447d076ac508d78cb45664d203df7989e891656dce260a7e93d72352c9a"
 dependencies = [
  "libc",
  "log",
@@ -2474,9 +2479,9 @@ dependencies = [
 
 [[package]]
 name = "virtio-queue"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73a01db2cfb6c4b9bc20608b1336263d16714ea8db05de9fec2a254e076f9385"
+checksum = "e3f69a13d6610db9312acbb438b0390362af905d37634a2106be70c0f734986d"
 dependencies = [
  "log",
  "virtio-bindings",
@@ -2513,9 +2518,9 @@ source = "git+https://github.com/rust-vmm/vm-fdt?branch=main#77212bd0d62913e445c
 
 [[package]]
 name = "vm-memory"
-version = "0.13.1"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5376c9ee5ebe2103a310d8241936cfb93c946734b0479a4fa5bdf7a64abbacd8"
+checksum = "74ffc42216c32c35f858fa4bfdcd9b61017dfd691e0240268fdc85dbf59e5459"
 dependencies = [
  "arc-swap",
  "libc",
@@ -2579,6 +2584,7 @@ dependencies = [
  "option_parser",
  "pci",
  "range_map_vec",
+ "rate_limiter",
  "seccompiler",
  "serde",
  "serde_json",
@@ -2605,9 +2611,9 @@ dependencies = [
 
 [[package]]
 name = "vmm-sys-util"
-version = "0.11.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd64fe09d8e880e600c324e7d664760a17f56e9672b7495a86381b49e4f72f46"
+checksum = "1d1435039746e20da4f8d507a72ee1b916f7b4b05af7a91c093d2c6561934ede"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -2657,7 +2663,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
@@ -2679,7 +2685,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -2740,6 +2746,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2770,6 +2785,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2782,6 +2812,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2794,6 +2830,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2806,6 +2848,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2818,6 +2866,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2830,6 +2884,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2842,6 +2902,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2854,10 +2920,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.18"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
  "memchr",
 ]
@@ -2940,9 +3012,9 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.21"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
  "byteorder",
  "zerocopy-derive",
@@ -2950,13 +3022,13 @@ dependencies = [
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.21"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.31",
+ "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 8c0d6e9e1c1b..44bbdcd66313 100644
--- a/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,27 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "37.0";
+  version = "38.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zNk3KkKl0bEZUdsWe+9FEMKVepZeQWGasDIn68NEVyw=";
+    hash = "sha256-Lhug7DCa+QutlvksL6EFQa04UK/sWebDIkqQmwPUpX4=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "acpi_tables-0.1.0" = "sha256-FYjzwCSjuTUDCCQPC2ccDpwRRaG1eT5XgV/b8uSu8uc=";
+      "acpi_tables-0.1.0" = "sha256-syDq+db1hTne6QoP0vMGUv4tB0J9arQG2Ea2hHW1k3M=";
       "igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
-      "kvm-bindings-0.6.0" = "sha256-wGdAuPwsgRIqx9dh0m+hC9A/Akz9qg9BM+p06Fi5ACM=";
-      "kvm-ioctls-0.13.0" = "sha256-jHnFGwBWnAa2lRu4a5eRNy1Y26NX5MV8alJ86VR++QE=";
-      "micro_http-0.1.0" = "sha256-Ov75Gs+wSmsxOHJu024nWtOJp0cKpS8bkxJJGW6jiKw=";
-      "mshv-bindings-0.1.1" = "sha256-4ADpLvi9hmHsMyGtqDQ2Msa3aMZmJsi4BPW7B5ZfAMw=";
-      "versionize_derive-0.1.4" = "sha256-oGuREJ5+FDs8ihmv99WmjIPpL2oPdOr4REk6+7cV/7o=";
-      "vfio-bindings-0.4.0" = "sha256-grOV+7W1tB4YDRAFbDNQp5nQ1WaivH+N+qHTIj4WA+E=";
-      "vfio_user-0.1.0" = "sha256-Vi6dBu1mUwyWh7ryKDOBS6GeUD2sqqIrt/bth/LDW6s=";
+      "kvm-bindings-0.7.0" = "sha256-hXv5N3TTwGQaVxdQ/DTzLt+uwLxFnstJwNhxRD2K8TM=";
+      "micro_http-0.1.0" = "sha256-gyeOop6AMXEIbLXhJMN/oYGGU8Un8Y0nFZc9ucCa0y4=";
+      "mshv-bindings-0.1.1" = "sha256-yWvkpOcW3lV47s+rWnN4Bki8tt8CkiPVZ0I36nrWMi4=";
+      "versionize_derive-0.1.6" = "sha256-eI9fM8WnEBZvskPhU67IWeN6QAPg2u5EBT+AOxfb/fY=";
+      "vfio-bindings-0.4.0" = "sha256-Dk4T2dMzPZ+Aoq1YSXX2z1Nky8zvyDl7b+A8NH57Hkc=";
+      "vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
       "vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
     };
   };
diff --git a/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix b/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix
index 95cada54296a..3e70bd390e16 100644
--- a/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/crosvm/default.nix
@@ -1,32 +1,22 @@
-{ lib, rustPlatform, fetchgit, fetchpatch
+{ lib, rustPlatform, fetchgit
 , pkg-config, protobuf, python3, wayland-scanner
 , libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "crosvm";
-  version = "120.0";
+  version = "121.3";
 
   src = fetchgit {
     url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
-    rev = "0a9d1cb8be29e49c355ea8b18cd58506dbbaf6e5";
-    sha256 = "BbCcsxJU25VgWVday4rGPXaJSuAWebNGo3MiYPIBBto=";
+    rev = "1e7125327a29b7b7a0593caf339d382728c55cf6";
+    sha256 = "Rjs46TtOhFZxqnEyqa4IyrRs7HnDZ/DJZ9DPEe7Oux0=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    (fetchpatch {
-      name = "test-page-size-fix.patch";
-      url = "https://chromium.googlesource.com/crosvm/crosvm/+/d9bc6e99ff5ac31d7d88b684c938af01a0872fc1%5E%21/?format=TEXT";
-      decode = "base64 -d";
-      includes = [ "src/crosvm/config.rs" ];
-      hash = "sha256-3gfNzp0WhtNr+8CWSISCJau208EMIo3RJhM+4SyeV3o=";
-    })
-  ];
-
   separateDebugInfo = true;
 
-  cargoHash = "sha256-YXfKZeRL3gfWztf36lVNbCCwUqW+0w3q7X7v0arCrvk=";
+  cargoHash = "sha256-7nfeg/q8baLvB0CoRWKU60TRfLAaRkeRxGojPvKpOLs=";
 
   nativeBuildInputs = [
     pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner
diff --git a/nixpkgs/pkgs/applications/virtualization/crun/default.nix b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
index 336321d09a20..2c95e4ad2590 100644
--- a/nixpkgs/pkgs/applications/virtualization/crun/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/crun/default.nix
@@ -39,13 +39,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    hash = "sha256-IEfHww+kAPKcTe5bWM+YuDe6PHlSdZQVEunlBMQ29Ic=";
+    hash = "sha256-D2OuTbWAISEtrKy7LFVJz8FZWdXSn1ZiKYak9cJVceU=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/applications/virtualization/ddev/default.nix b/nixpkgs/pkgs/applications/virtualization/ddev/default.nix
index 3709b8dbd901..cf4a13dee031 100644
--- a/nixpkgs/pkgs/applications/virtualization/ddev/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/ddev/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddev";
-  version = "1.22.6";
+  version = "1.22.7";
 
   src = fetchFromGitHub {
     owner = "ddev";
     repo = "ddev";
     rev = "v${version}";
-    hash = "sha256-i+uubmCQwJALt7YRuANpEN2AAn9i6880MaXkayIZ82g=";
+    hash = "sha256-bFQW12VzH+/OXTRBavEdfxnGowJt5TKM3r0UD64ALVs=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
index f6f2e5f5a843..e3f0ec1b97bd 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.24.5";
+  version = "2.24.6";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-mn6HkGLQM5kx6yzV4IK+GTV6pCoIm1CNjQ8AZLv3sMw=";
+    hash = "sha256-CrQM9fTXGI3uGAk2yk/+enBr9LuMhNFLFBYHT78lNWc=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-KR+4OZKabshnGpkPq8vtEutvQUE+3jVwAlfAwFVlscU=";
+  vendorHash = "sha256-0YZ36fouuVjj12a7d9F8OkJAmtLIHo0bZhcmOYO5Ki4=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
index ee95b55a0b90..d9bab2169623 100644
--- a/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, lib, stdenv }:
 
 let
-  version = "1.5.0";
+  version = "1.6.0";
   # nixpkgs-update: no auto update
 
   suffix = {
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
   src = dlbin {
-    x86_64-linux = "sha256-TzNPWcLDKOv12eJ9PHckdJ7tfdlozPoXj2fbdOzHfAk=";
-    aarch64-linux = "sha256-cHNMfcoHCBw+BnWx9USny8jyvH97gXCCJW1aKvPXgCs=";
+    x86_64-linux = "sha256-FflAYvWTcigIchVrAaUgg6IRleEtis6eh6fCqrZ5lb8=";
+    aarch64-linux = "sha256-4O0kPMl7RbMjszUNql0OQrl/4or/e8ZCHPngqq0CNxk=";
   };
 
   dontConfigure = true;
@@ -54,6 +54,6 @@ stdenv.mkDerivation {
     mainProgram = "firecracker";
     license = licenses.asl20;
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ thoughtpolice endocrimes ];
+    maintainers = with maintainers; [ thoughtpolice endocrimes qjoly ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/0001-Add-dlopen-discoverer.patch b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/0001-Add-dlopen-discoverer.patch
new file mode 100644
index 000000000000..ddc7d34ac7c1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/0001-Add-dlopen-discoverer.patch
@@ -0,0 +1,90 @@
+From e4449f06a8989ff22947309151855b388c311aed Mon Sep 17 00:00:00 2001
+From: Jared Baur <jaredbaur@fastmail.com>
+Date: Mon, 22 Jan 2024 20:42:48 -0800
+Subject: [PATCH] Add dlopen discoverer
+
+---
+ internal/lookup/dlopen.go  | 57 ++++++++++++++++++++++++++++++++++++++
+ internal/lookup/library.go |  3 ++
+ 2 files changed, 60 insertions(+)
+ create mode 100644 internal/lookup/dlopen.go
+
+diff --git a/internal/lookup/dlopen.go b/internal/lookup/dlopen.go
+new file mode 100644
+index 00000000..7cd84522
+--- /dev/null
++++ b/internal/lookup/dlopen.go
+@@ -0,0 +1,57 @@
++package lookup
++
++// #cgo LDFLAGS: -ldl
++// #define _GNU_SOURCE
++// #include <dlfcn.h>
++// #include <stdlib.h>
++import "C"
++
++import (
++	"fmt"
++	"path/filepath"
++	"unsafe"
++)
++
++// dlopenLocator can be used to locate libraries given a system's dynamic
++// linker.
++type dlopenLocator struct {
++	file
++}
++
++// NewDlopenLocator creats a locator that can be used for locating libraries
++// through the dlopen mechanism.
++func NewDlopenLocator(opts ...Option) Locator {
++	f := newFileLocator(opts...)
++	d := dlopenLocator{file: *f}
++	return &d
++}
++
++// Locate finds the specified pattern if the systems' dynamic linker can find
++// it via dlopen. Note that patterns with wildcard patterns will likely not be
++// found as it is uncommon for libraries to have wildcard patterns in their
++// file name.
++func (d dlopenLocator) Locate(pattern string) ([]string, error) {
++	libname := C.CString(pattern)
++	defer C.free(unsafe.Pointer(libname))
++
++	d.logger.Debugf("Calling dlopen for %s", pattern)
++
++	handle := C.dlopen(libname, C.RTLD_LAZY)
++	if handle == nil {
++		return nil, fmt.Errorf("dlopen %s failed", pattern)
++	}
++	defer C.dlclose(handle)
++
++	libParentPath := C.CString("")
++
++	d.logger.Debugf("Calling dlinfo on handle for %s", pattern)
++	ret := C.dlinfo(handle, C.RTLD_DI_ORIGIN, unsafe.Pointer(libParentPath))
++	if ret == -1 {
++		return nil, fmt.Errorf("dlinfo on handle for %s failed", pattern)
++	}
++
++	libAbsolutePath := filepath.Join(C.GoString(libParentPath), pattern)
++	d.logger.Debugf("Found library for %s at %s", pattern, libAbsolutePath)
++
++	return []string{libAbsolutePath}, nil
++}
+diff --git a/internal/lookup/library.go b/internal/lookup/library.go
+index 7f5cf7c8..916edde2 100644
+--- a/internal/lookup/library.go
++++ b/internal/lookup/library.go
+@@ -61,7 +61,10 @@ func NewLibraryLocator(opts ...Option) Locator {
+ 	// We construct a symlink locator for expected library locations.
+ 	symlinkLocator := NewSymlinkLocator(opts...)
+ 
++	dlopenLocator := NewDlopenLocator(opts...)
++
+ 	l := First(
++		dlopenLocator,
+ 		symlinkLocator,
+ 		newLdcacheLocator(opts...),
+ 	)
+--
diff --git a/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
index 7d0ecfab53e7..451ddb4906bc 100644
--- a/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/nvidia-container-toolkit/default.nix
@@ -10,6 +10,7 @@
 , configTemplate
 , configTemplatePath ? null
 , libnvidia-container
+, cudaPackages
 }:
 
 assert configTemplate != null -> (lib.isAttrs configTemplate && configTemplatePath == null);
@@ -31,29 +32,64 @@ let
   '';
 
   configToml = if configTemplatePath != null then configTemplatePath else (formats.toml { }).generate "config.toml" configTemplate;
+
+  # From https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/Makefile#L54
+  cliVersionPackage = "github.com/NVIDIA/nvidia-container-toolkit/internal/info";
 in
 buildGoModule rec {
   pname = "container-toolkit/container-toolkit";
-  version = "1.9.0";
+  version = "1.15.0-rc.3";
 
   src = fetchFromGitLab {
     owner = "nvidia";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-b4mybNB5FqizFTraByHk5SCsNO66JaISj18nLgLN7IA=";
+    hash = "sha256-IH2OjaLbcKSGG44aggolAOuJkjk+GaXnnTbrXfZ0lVo=";
+
   };
 
   vendorHash = null;
 
+  patches = [
+    # This patch causes library lookups to first attempt loading via dlopen
+    # before falling back to the regular symlink location and ldcache location.
+    ./0001-Add-dlopen-discoverer.patch
+  ];
+
   postPatch = ''
-    # replace the default hookDefaultFilePath to the $out path
-    substituteInPlace cmd/nvidia-container-runtime/main.go \
-      --replace '/usr/bin/nvidia-container-runtime-hook' '${placeholder "out"}/bin/nvidia-container-runtime-hook'
+    # Replace the default hookDefaultFilePath to the $out path and override
+    # default ldconfig locations to the one in nixpkgs.
+
+    substituteInPlace internal/config/config.go \
+      --replace '/usr/bin/nvidia-container-runtime-hook' "$out/bin/nvidia-container-runtime-hook" \
+      --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
+
+    substituteInPlace internal/config/config_test.go \
+      --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
+
+    substituteInPlace tools/container/toolkit/toolkit.go \
+      --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
+
+    substituteInPlace cmd/nvidia-ctk/hook/update-ldcache/update-ldcache.go \
+      --replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
   '';
 
-  ldflags = [ "-s" "-w" ];
+  # Based on upstream's Makefile:
+  # https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/Makefile#L64
+  ldflags = [
+    "-extldflags=-Wl,-z,lazy" # May be redunandant, cf. `man ld`: "Lazy binding is the default".
+    "-s" # "disable symbol table"
+    "-w" # "disable DWARF generation"
 
-  nativeBuildInputs = [ makeWrapper ];
+    # "-X name=value"
+    "-X"
+    "${cliVersionPackage}.version=${version}"
+  ];
+
+  nativeBuildInputs = [
+    cudaPackages.autoAddOpenGLRunpathHook
+    makeWrapper
+  ];
 
   preConfigure = ''
     # Ensure the runc symlink isn't broken:
@@ -95,7 +131,8 @@ buildGoModule rec {
     substituteInPlace $out/etc/nvidia-container-runtime/config.toml \
       --subst-var-by glibcbin ${lib.getBin glibc}
 
-    ln -s $out/bin/nvidia-container-{toolkit,runtime-hook}
+    # See: https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/packaging/debian/nvidia-container-toolkit.postinst#L12
+    ln -s $out/bin/nvidia-container-runtime-hook $out/bin/nvidia-container-toolkit
 
     wrapProgram $out/bin/nvidia-container-toolkit \
       --add-flags "-config ${placeholder "out"}/etc/nvidia-container-runtime/config.toml"
diff --git a/nixpkgs/pkgs/applications/virtualization/podman/default.nix b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
index b66aa7681bc7..30a259d12540 100644
--- a/nixpkgs/pkgs/applications/virtualization/podman/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/podman/default.nix
@@ -62,13 +62,13 @@ let
 in
 buildGoModule rec {
   pname = "podman";
-  version = "4.9.2";
+  version = "4.9.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    hash = "sha256-6E6Qobkvv6y+Jx+X6Z9wJsGIuP7MXoc+cXRiajj0ojw=";
+    hash = "sha256-PdAXcXtc/Jl3ttWWB6TciiOwWescJ51Glhf2ZhOw550=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/virtualization/spike/default.nix b/nixpkgs/pkgs/applications/virtualization/spike/default.nix
index df967339f8f0..29597860ecc7 100644
--- a/nixpkgs/pkgs/applications/virtualization/spike/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/spike/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, dtc, pkgsCross }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, dtc, pkgsCross }:
 
 stdenv.mkDerivation rec {
   pname = "spike";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-4D2Fezej0ioOOupw3kgMT5VLs+/jXQjwvek6v0AVMzI=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fesvr-fix-compilation-with-gcc-13.patch";
+      url = "https://github.com/riscv-software-src/riscv-isa-sim/commit/0a7bb5403d0290cea8b2356179d92e4c61ffd51d.patch";
+      hash = "sha256-JUMTbGawvLkoOWKkruzLzUFQytVR3wqTlGu/eegRFEE=";
+    })
+  ];
+
   nativeBuildInputs = [ dtc ];
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix b/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix
index 2326d686c2a2..eb78ae71a14f 100644
--- a/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix
@@ -13,6 +13,7 @@
 , glm
 , gbenchmark
 , libcap
+, libavif
 , SDL2
 , pipewire
 , pixman
@@ -26,6 +27,7 @@
 , libdisplay-info
 , lib
 , makeBinaryWrapper
+, nix-update-script
 , enableExecutable ? true
 , enableWsi ? true
 }:
@@ -39,14 +41,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gamescope";
-  version = "3.13.19";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "gamescope";
     rev = "refs/tags/${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-WKQgVbuHvTbZnvTU5imV35AKZ4AF0EDsdESBZwVH7+M=";
+    hash = "sha256-lJt6JVolorQdrhumkW9yjyItxqpw6ZtEUbkjNqzHfb8=";
   };
 
   patches = [
@@ -108,6 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
     xorg.libXres
     xorg.libXtst
     xorg.libXxf86vm
+    libavif
     libdrm
     libliftoff
     SDL2
@@ -131,6 +134,8 @@ stdenv.mkDerivation (finalAttrs: {
     cp -r ${joshShaders}/* $out/share/gamescope/reshade/
   '';
 
+  passthru.updateScript = nix-update-script {};
+
   meta = with lib; {
     description = "SteamOS session compositing window manager";
     homepage = "https://github.com/ValveSoftware/gamescope";
diff --git a/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
index 00acdef9b7ab..421d0d328539 100644
--- a/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
+++ b/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -1,13 +1,13 @@
 { lib
 , callPackage
 , pkg-config
-, gcc13Stdenv
+, stdenv
 , hyprland
 }:
 let
   mkHyprlandPlugin =
     args@{ pluginName, ... }:
-    gcc13Stdenv.mkDerivation (args // {
+    stdenv.mkDerivation (args // {
       pname = "${pluginName}";
       nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
       buildInputs = [ hyprland ]
@@ -24,13 +24,13 @@ let
     hy3 = { fetchFromGitHub, cmake, hyprland }:
       mkHyprlandPlugin rec {
         pluginName = "hy3";
-        version = "0.34.0";
+        version = "0.35.0";
 
         src = fetchFromGitHub {
           owner = "outfoxxed";
           repo = "hy3";
           rev = "hl${version}";
-          hash = "sha256-Jd1bSwelh7WA8aeYrV+CxxtpsmSITUDruKdNNLHdV7c=";
+          hash = "sha256-lFe7Lf0K5ePTh4gflnvBohOGH4ayGDtNkbg/XtoNqRo=";
         };
 
         nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix b/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
index ea24741ba516..5f9cedd9e05e 100644
--- a/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "hyprshade";
-  version = "0.12.1";
+  version = "3.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "loqusion";
     repo = "hyprshade";
     rev = "refs/tags/${version}";
-    hash = "sha256-xcFX1YApwEN40jPgRT0H/7SiODxXGYVTPUkSZ8OFIWs=";
+    hash = "sha256-E5FNVzmzxzqhIZ4i8PwiKB8q4LwpsV961Bc77kSym8A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/window-managers/miriway/default.nix b/nixpkgs/pkgs/applications/window-managers/miriway/default.nix
index f46d907768ce..b8528a374125 100644
--- a/nixpkgs/pkgs/applications/window-managers/miriway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "miriway";
-  version = "unstable-2024-01-30";
+  version = "unstable-2024-02-14";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "429ace6c7d9ea6799a01875ff61f1e554d5eabd9";
-    hash = "sha256-8qsDyHbJJMxevMIi6Kde+zr2yJAtFaq19TTcAGXMnrE=";
+    rev = "ad4d311269dc25789f7412211ddddad383d9700c";
+    hash = "sha256-kPrsyrAHvwrktBFITuhpFKyjmedv04ONFhuxiBDlAJA=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/picom-allusive.nix b/nixpkgs/pkgs/applications/window-managers/picom/picom-allusive.nix
deleted file mode 100644
index e0086142f1c3..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/picom/picom-allusive.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ picom, lib, fetchFromGitHub, installShellFiles, pcre }:
-
-picom.overrideAttrs (oldAttrs: rec {
-  pname = "picom-allusive";
-  version = "1.2.5";
-
-  src = fetchFromGitHub {
-    owner = "allusive-dev";
-    repo = "picom-allusive";
-    rev = version;
-    hash = "sha256-yM4TJjoVs+i33m/u/oWlx1TDKJrgwlfiGu72DOL/tl8=";
-  };
-
-  nativeBuildInputs = [ installShellFiles pcre ] ++ oldAttrs.nativeBuildInputs;
-
-  postInstall = ''
-    installManPage $src/man/picom.1.gz
-  '' + (lib.optionalString (oldAttrs ? postInstall) oldAttrs.postInstall);
-
-  meta = (builtins.removeAttrs oldAttrs.meta [ "longDescription" ]) // {
-    description = "A fork of picom featuring improved animations and other features";
-    homepage = "https://github.com/allusive-dev/picom-allusive";
-    license = with lib.licenses; [ mit mpl20 ];
-    maintainers = with lib.maintainers; [ allusive iogamaster ];
-  };
-})
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/picom-jonaburg.nix b/nixpkgs/pkgs/applications/window-managers/picom/picom-jonaburg.nix
deleted file mode 100644
index d04cf5f4ecd6..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/picom/picom-jonaburg.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ picom, lib, fetchFromGitHub, pcre }:
-
-picom.overrideAttrs (oldAttrs: rec {
-  pname = "picom-jonaburg";
-  version = "unstable-2022-03-19";
-  src = fetchFromGitHub {
-    owner = "jonaburg";
-    repo = "picom";
-    rev = "e3c19cd7d1108d114552267f302548c113278d45";
-    sha256 = "sha256-4voCAYd0fzJHQjJo4x3RoWz5l3JJbRvgIXn1Kg6nz6Y=";
-  };
-
-  nativeBuildInputs = [ pcre ] ++ oldAttrs.nativeBuildInputs;
-
-  meta = with lib; {
-    description = "A fork of picom featuring animations and improved rounded corners.";
-    homepage = "https://github.com/jonaburg/picom";
-    maintainers = with maintainers; oldAttrs.meta.maintainers ++ [ michaelBelsanti ];
-  };
-})
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix b/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
deleted file mode 100644
index 22c748088074..000000000000
--- a/nixpkgs/pkgs/applications/window-managers/picom/picom-next.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, fetchFromGitHub
-, libXinerama
-, pcre
-, pcre2
-, picom
-, xcbutil
-}:
-
-picom.overrideAttrs (oldAttrs: {
-  pname = "picom-next";
-  version = "unstable-2023-08-03";
-
-  buildInputs = [
-    pcre2
-    xcbutil
-  ]
-  # remove dependencies that are not used anymore
-  ++ (lib.subtractLists [
-    libXinerama
-    pcre
-  ]
-    oldAttrs.buildInputs);
-
-  src = fetchFromGitHub {
-    owner = "yshui";
-    repo = "picom";
-    rev = "5d6957d3da1bf99311a676eab94c69ef4276bedf";
-    hash = "sha256-Mzf0533roLSODjMCPKyGSMbP7lIbT+PoLTZfoIBAI6g=";
-  };
-
-  meta = oldAttrs.meta // {
-    maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ];
-  };
-})
diff --git a/nixpkgs/pkgs/build-support/docker/default.nix b/nixpkgs/pkgs/build-support/docker/default.nix
index 05a1a6fbbdaf..6c13a379f934 100644
--- a/nixpkgs/pkgs/build-support/docker/default.nix
+++ b/nixpkgs/pkgs/build-support/docker/default.nix
@@ -8,6 +8,7 @@
 , proot
 , fakeNss
 , fakeroot
+, file
 , go
 , jq
 , jshon
@@ -34,6 +35,7 @@
 , writeText
 , writeTextDir
 , writePython3
+, zstd
 }:
 
 let
@@ -76,6 +78,30 @@ let
   # mapping from the go package.
   defaultArchitecture = go.GOARCH;
 
+  compressors = {
+    none = {
+      ext = "";
+      nativeInputs = [ ];
+      compress = "cat";
+      decompress = "cat";
+    };
+    gz = {
+      ext = ".gz";
+      nativeInputs = [ pigz ];
+      compress = "pigz -p$NIX_BUILD_CORES -nTR";
+      decompress = "pigz -d -p$NIX_BUILD_CORES";
+    };
+    zstd = {
+      ext = ".zst";
+      nativeInputs = [ zstd ];
+      compress = "zstd -T$NIX_BUILD_CORES";
+      decompress = "zstd -d -T$NIX_BUILD_CORES";
+    };
+  };
+
+  compressorForImage = compressor: imageName: compressors.${compressor} or
+    (throw "in docker image ${imageName}: compressor must be one of: [${toString builtins.attrNames compressors}]");
+
 in
 rec {
   examples = callPackage ./examples.nix {
@@ -487,16 +513,17 @@ rec {
       '';
     };
 
-  buildLayeredImage = lib.makeOverridable ({ name, ... }@args:
+  buildLayeredImage = lib.makeOverridable ({ name, compressor ? "gz", ... }@args:
     let
       stream = streamLayeredImage args;
+      compress = compressorForImage compressor name;
     in
-    runCommand "${baseNameOf name}.tar.gz"
+    runCommand "${baseNameOf name}.tar${compress.ext}"
       {
         inherit (stream) imageName;
         passthru = { inherit (stream) imageTag; };
-        nativeBuildInputs = [ pigz ];
-      } "${stream} | pigz -nTR > $out"
+        nativeBuildInputs = compress.nativeInputs;
+      } "${stream} | ${compress.compress} > $out"
   );
 
   # 1. extract the base image
@@ -539,6 +566,8 @@ rec {
       buildVMMemorySize ? 512
     , # Time of creation of the image.
       created ? "1970-01-01T00:00:01Z"
+    , # Compressor to use. One of: none, gz, zstd.
+      compressor ? "gz"
     , # Deprecated.
       contents ? null
     ,
@@ -574,6 +603,8 @@ rec {
         in
         if created == "now" then impure else pure;
 
+      compress = compressorForImage compressor name;
+
       layer =
         if runAsRoot == null
         then
@@ -590,9 +621,9 @@ rec {
               extraCommands;
             copyToRoot = rootContents;
           };
-      result = runCommand "docker-image-${baseName}.tar.gz"
+      result = runCommand "docker-image-${baseName}.tar${compress.ext}"
         {
-          nativeBuildInputs = [ jshon pigz jq moreutils ];
+          nativeBuildInputs = [ jshon jq moreutils ] ++ compress.nativeInputs;
           # Image name must be lowercase
           imageName = lib.toLower name;
           imageTag = lib.optionalString (tag != null) tag;
@@ -746,7 +777,7 @@ rec {
         chmod -R a-w image
 
         echo "Cooking the image..."
-        tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nTR > $out
+        tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | ${compress.compress} > $out
 
         echo "Finished."
       '';
@@ -761,16 +792,28 @@ rec {
   mergeImages = images: runCommand "merge-docker-images"
     {
       inherit images;
-      nativeBuildInputs = [ pigz jq ];
+      nativeBuildInputs = [ file jq ]
+        ++ compressors.none.nativeInputs
+        ++ compressors.gz.nativeInputs
+        ++ compressors.zstd.nativeInputs;
     } ''
     mkdir image inputs
     # Extract images
     repos=()
     manifests=()
+    last_image_mime="application/gzip"
     for item in $images; do
       name=$(basename $item)
       mkdir inputs/$name
-      tar -I pigz -xf $item -C inputs/$name
+
+      last_image_mime=$(file --mime-type -b $item)
+      case $last_image_mime in
+        "application/x-tar") ${compressors.none.decompress};;
+        "application/zstd") ${compressors.zstd.decompress};;
+        "application/gzip") ${compressors.gz.decompress};;
+        *) echo "error: unexpected layer type $last_image_mime" >&2; exit 1;;
+      esac < $item | tar -xC inputs/$name
+
       if [ -f inputs/$name/repositories ]; then
         repos+=(inputs/$name/repositories)
       fi
@@ -787,7 +830,14 @@ rec {
     mv repositories image/repositories
     mv manifest.json image/manifest.json
     # Create tarball and gzip
-    tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nTR > $out
+    tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | (
+      case $last_image_mime in
+        "application/x-tar") ${compressors.none.compress};;
+        "application/zstd") ${compressors.zstd.compress};;
+        "application/gzip") ${compressors.gz.compress};;
+        # `*)` not needed; already checked.
+      esac
+    ) > $out
   '';
 
 
@@ -923,6 +973,7 @@ rec {
                   --sort name \
                   --exclude=./proc \
                   --exclude=./sys \
+                  --exclude=.${builtins.storeDir} \
                   --numeric-owner --mtime "@$SOURCE_DATE_EPOCH" \
                   --hard-dereference \
                   -cf $out/layer.tar .
@@ -1238,14 +1289,15 @@ rec {
       };
 
   # Wrapper around streamNixShellImage to build an image from the result
-  buildNixShellImage = { drv, ... }@args:
+  buildNixShellImage = { drv, compressor ? "gz", ... }@args:
     let
       stream = streamNixShellImage args;
+      compress = compressorForImage compressor drv.name;
     in
-    runCommand "${drv.name}-env.tar.gz"
+    runCommand "${drv.name}-env.tar${compress.ext}"
       {
         inherit (stream) imageName;
         passthru = { inherit (stream) imageTag; };
-        nativeBuildInputs = [ pigz ];
-      } "${stream} | pigz -nTR > $out";
+        nativeBuildInputs = compress.nativeInputs;
+      } "${stream} | ${compress.compress} > $out";
 }
diff --git a/nixpkgs/pkgs/build-support/docker/examples.nix b/nixpkgs/pkgs/build-support/docker/examples.nix
index 5784e650dc2e..72c1cbe0d410 100644
--- a/nixpkgs/pkgs/build-support/docker/examples.nix
+++ b/nixpkgs/pkgs/build-support/docker/examples.nix
@@ -480,6 +480,22 @@ rec {
     layerC = layerOnTopOf layerB "c";
   in layerC;
 
+  bashUncompressed = pkgs.dockerTools.buildImage {
+    name = "bash-uncompressed";
+    tag = "latest";
+    compressor = "none";
+    # Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
+    copyToRoot = pkgs.bashInteractive;
+  };
+
+  bashZstdCompressed = pkgs.dockerTools.buildImage {
+    name = "bash-zstd";
+    tag = "latest";
+    compressor = "zstd";
+    # Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
+    copyToRoot = pkgs.bashInteractive;
+  };
+
   # buildImage without explicit tag
   bashNoTag = pkgs.dockerTools.buildImage {
     name = "bash-no-tag";
@@ -614,6 +630,12 @@ rec {
     layeredImageWithFakeRootCommands
   ];
 
+  mergeVaryingCompressor = pkgs.dockerTools.mergeImages [
+    redis
+    bashUncompressed
+    bashZstdCompressed
+  ];
+
   helloOnRoot = pkgs.dockerTools.streamLayeredImage {
     name = "hello";
     tag = "latest";
@@ -639,6 +661,20 @@ rec {
     includeStorePaths = false;
   };
 
+  helloOnRootNoStoreFakechroot = pkgs.dockerTools.streamLayeredImage {
+    name = "hello";
+    tag = "latest";
+    contents = [
+      (pkgs.buildEnv {
+        name = "hello-root";
+        paths = [ pkgs.hello ];
+      })
+    ];
+    config.Cmd = [ "hello" ];
+    includeStorePaths = false;
+    enableFakechroot = true;
+  };
+
   etc =
     let
       inherit (pkgs) lib;
diff --git a/nixpkgs/pkgs/build-support/fetchpypilegacy/default.nix b/nixpkgs/pkgs/build-support/fetchpypilegacy/default.nix
new file mode 100644
index 000000000000..bcd560449916
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/fetchpypilegacy/default.nix
@@ -0,0 +1,45 @@
+# Fetch from PyPi legacy API as documented in https://warehouse.pypa.io/api-reference/legacy.html
+{ runCommand
+, lib
+, python3
+}:
+{
+  # package name
+  pname,
+  # Package index
+  url ? null,
+  # Multiple package indices to consider
+  urls ? [ ],
+  # filename including extension
+  file,
+  # SRI hash
+  hash,
+  # allow overriding the derivation name
+  name ? null,
+}:
+let
+  urls' = urls ++ lib.optional (url != null) url;
+
+  pathParts = lib.filter ({ prefix, path }: "NETRC" == prefix) builtins.nixPath;
+  netrc_file =
+    if (pathParts != [ ])
+    then (lib.head pathParts).path
+    else "";
+
+in
+# Assert that we have at least one URL
+assert urls' != [ ]; runCommand file
+  ({
+    nativeBuildInputs = [ python3 ];
+    impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+    outputHashMode = "flat";
+    # if hash is empty select a default algo to let nix propose the actual hash.
+    outputHashAlgo = if hash == "" then "sha256" else null;
+    outputHash = hash;
+    NETRC = netrc_file;
+  }
+  // (lib.optionalAttrs (name != null) {inherit name;}))
+  ''
+    python ${./fetch-legacy.py} ${lib.concatStringsSep " " (map (url: "--url ${lib.escapeShellArg url}") urls')} --pname ${pname} --filename ${file}
+    mv ${file} $out
+  ''
diff --git a/nixpkgs/pkgs/build-support/fetchpypilegacy/fetch-legacy.py b/nixpkgs/pkgs/build-support/fetchpypilegacy/fetch-legacy.py
new file mode 100644
index 000000000000..e031f244a771
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/fetchpypilegacy/fetch-legacy.py
@@ -0,0 +1,162 @@
+# Some repositories (such as Devpi) expose the Pypi legacy API
+# (https://warehouse.pypa.io/api-reference/legacy.html).
+#
+# Note it is not possible to use pip
+# https://discuss.python.org/t/pip-download-just-the-source-packages-no-building-no-metadata-etc/4651/12
+
+import base64
+import argparse
+import netrc
+import os
+import shutil
+import ssl
+import sys
+import urllib.request
+from html.parser import HTMLParser
+from os.path import normpath
+from typing import Optional
+from urllib.parse import urlparse, urlunparse
+
+
+# Parse the legacy index page to extract the href and package names
+class Pep503(HTMLParser):
+    def __init__(self) -> None:
+        super().__init__()
+        self.sources: dict[str, str] = {}
+        self.url: Optional[str] = None
+        self.name: Optional[str] = None
+
+    def handle_data(self, data: str) -> None:
+        if self.url is not None:
+            self.name = data
+
+    def handle_starttag(self, tag: str, attrs: list[tuple[str, Optional[str]]]) -> None:
+        if tag == "a":
+            for name, value in attrs:
+                if name == "href":
+                    self.url = value
+
+    def handle_endtag(self, tag: str) -> None:
+        if self.url is not None:
+            if not self.name:
+                raise ValueError("Name not set")
+
+            self.sources[self.name] = self.url
+        self.url = None
+
+
+def try_fetch(url: str, package_name: str, package_filename: str) -> None:
+    index_url = url + "/" + package_name + "/"
+
+    # Parse username and password for this host from the netrc file if given.
+    username: Optional[str] = None
+    password: Optional[str] = None
+    if os.environ.get("NETRC", "") != "":
+        netrc_obj = netrc.netrc(os.environ["NETRC"])
+        host = urlparse(index_url).netloc
+        # Strip port number if present
+        if ":" in host:
+            host = host.split(":")[0]
+        authenticators = netrc_obj.authenticators(host)
+        if authenticators:
+            username, _, password = authenticators
+
+    print("Reading index %s" % index_url)
+
+    context = ssl.create_default_context()
+
+    # Extract out username/password from index_url, if present.
+    parsed_url = urlparse(index_url)
+    username = parsed_url.username or username
+    password = parsed_url.password or password
+    index_url = parsed_url._replace(netloc=parsed_url.netloc.rpartition("@")[-1]).geturl()
+
+    req = urllib.request.Request(index_url)
+
+    if username and password:  # Add authentication
+        password_b64 = base64.b64encode(":".join((username, password)).encode()).decode("utf-8")
+        req.add_header("Authorization", "Basic {}".format(password_b64))
+    else:  # If we are not using authentication disable TLS verification for long term reproducibility
+        context.check_hostname = False
+        context.verify_mode = ssl.CERT_NONE
+
+    response = urllib.request.urlopen(req, context=context)
+    index = response.read()
+
+    parser = Pep503()
+    parser.feed(str(index, "utf-8"))
+    if package_filename not in parser.sources:
+        print("The file %s has not be found in the index %s" % (package_filename, index_url))
+        exit(1)
+
+    package_file = open(package_filename, "wb")
+    # Sometimes the href is a relative or absolute path within the index's domain.
+    indicated_url = urlparse(parser.sources[package_filename])
+    if indicated_url.netloc == "":
+        parsed_url = urlparse(index_url)
+
+        if indicated_url.path.startswith("/"):
+            # An absolute path within the index's domain.
+            path = parser.sources[package_filename]
+        else:
+            # A relative path.
+            path = parsed_url.path + "/" + parser.sources[package_filename]
+
+        package_url = urlunparse(
+            (
+                parsed_url.scheme,
+                parsed_url.netloc,
+                path,
+                None,
+                None,
+                None,
+            )
+        )
+    else:
+        package_url = parser.sources[package_filename]
+
+    # Handle urls containing "../"
+    parsed_url = urlparse(package_url)
+    real_package_url = urlunparse(
+        (
+            parsed_url.scheme,
+            parsed_url.netloc,
+            normpath(parsed_url.path),
+            parsed_url.params,
+            parsed_url.query,
+            parsed_url.fragment,
+        )
+    )
+    print("Downloading %s" % real_package_url)
+
+    req = urllib.request.Request(real_package_url)
+    if username and password:
+        req.add_unredirected_header("Authorization", "Basic {}".format(password_b64))
+    response = urllib.request.urlopen(req, context=context)
+
+    with response as r:
+        shutil.copyfileobj(r, package_file)
+
+
+argparser = argparse.ArgumentParser(description="Fetch file from legacy pypi API")
+argparser.add_argument("--url", action="append", required=True)
+argparser.add_argument("--pname", action="store", required=True)
+argparser.add_argument("--filename", action="store", required=True)
+
+
+if __name__ == "__main__":
+    args = argparser.parse_args()
+    for url in args.url:
+        try:
+            try_fetch(url, args.pname, args.filename)
+        except urllib.error.HTTPError as e:
+            print("Got exception'", e, "', trying next package index", file=sys.stderr)
+            continue
+        else:
+            break
+    else:
+        print(
+            f"Could not fetch package '{args.pname}' file '{args.filename}' from any mirrors: {args.url}",
+            file=sys.stderr,
+        )
+        exit(1)
diff --git a/nixpkgs/pkgs/build-support/fetchpypilegacy/tests.nix b/nixpkgs/pkgs/build-support/fetchpypilegacy/tests.nix
new file mode 100644
index 000000000000..b16325b96b7e
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/fetchpypilegacy/tests.nix
@@ -0,0 +1,9 @@
+{ testers, fetchPypiLegacy, ... }: {
+  # Tests that we can send custom headers with spaces in them
+  fetchSimple = testers.invalidateFetcherByDrvHash fetchPypiLegacy {
+    pname = "requests";
+    file = "requests-2.31.0.tar.gz";
+    url = "https://pypi.org/simple";
+    hash = "sha256-lCxadY+Y15Dq7Ropy27vx/+w0c968Fw9J5Flbb1q0eE=";
+  };
+}
diff --git a/nixpkgs/pkgs/build-support/php/build-composer-project.nix b/nixpkgs/pkgs/build-support/php/build-composer-project.nix
index 778aa35fa6a5..80c63bcde71b 100644
--- a/nixpkgs/pkgs/build-support/php/build-composer-project.nix
+++ b/nixpkgs/pkgs/build-support/php/build-composer-project.nix
@@ -57,9 +57,9 @@ let
 
       doInstallCheck = previousAttrs.doInstallCheck or false;
       installCheckPhase = previousAttrs.installCheckPhase or ''
-        runHook preCheckInstall
+        runHook preInstallCheck
 
-        runHook postCheckInstall
+        runHook postInstallCheck
       '';
 
       composerRepository = phpDrv.mkComposerRepository {
diff --git a/nixpkgs/pkgs/build-support/php/build-composer-repository.nix b/nixpkgs/pkgs/build-support/php/build-composer-repository.nix
index 5b31f86e61cf..e359c0829aaf 100644
--- a/nixpkgs/pkgs/build-support/php/build-composer-repository.nix
+++ b/nixpkgs/pkgs/build-support/php/build-composer-repository.nix
@@ -78,9 +78,9 @@ let
 
       doInstallCheck = previousAttrs.doInstallCheck or false;
       installCheckPhase = previousAttrs.installCheckPhase or ''
-        runHook preCheckInstall
+        runHook preInstallCheck
 
-        runHook postCheckInstall
+        runHook postInstallCheck
       '';
 
       COMPOSER_CACHE_DIR = "/dev/null";
diff --git a/nixpkgs/pkgs/by-name/ad/ad-miner/package.nix b/nixpkgs/pkgs/by-name/ad/ad-miner/package.nix
index 549704be72f6..79c01a99ed95 100644
--- a/nixpkgs/pkgs/by-name/ad/ad-miner/package.nix
+++ b/nixpkgs/pkgs/by-name/ad/ad-miner/package.nix
@@ -5,17 +5,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ad-miner";
-  version = "1.0.0";
+  version = "1.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Mazars-Tech";
     repo = "AD_Miner";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HM7PR1i7/L3MuUaTBPcDblflCH40NmEYSCTJUB06Fjg=";
+    hash = "sha256-eAcnGS0HLrTqc/WVKNNwYA89GK233QZj4Gfggt4S8R8=";
   };
 
-  # ALl requirements are pinned
+  # All requirements are pinned
   pythonRelaxDeps = true;
 
   nativeBuildInputs = with python3.pkgs; [
@@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Active Directory audit tool that leverages cypher queries to crunch data from Bloodhound";
     homepage = "https://github.com/Mazars-Tech/AD_Miner";
-    changelog = "https://github.com/Mazars-Tech/AD_Miner/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/Mazars-Tech/AD_Miner/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fab ];
     mainProgram = "AD-miner";
diff --git a/nixpkgs/pkgs/by-name/af/afterglow-cursors-recolored/package.nix b/nixpkgs/pkgs/by-name/af/afterglow-cursors-recolored/package.nix
new file mode 100644
index 000000000000..8ce0d64d669a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/af/afterglow-cursors-recolored/package.nix
@@ -0,0 +1,126 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, themeVariants ? []
+, catppuccinColorVariants ? []
+, draculaColorVariants ? []
+, gruvboxColorVariants ? []
+, originalColorVariants ? []
+}:
+
+let
+  pname = "afterglow-cursors-recolored";
+
+  availableThemeVariants = [
+    "Catppuccin"
+    "Dracula"
+    "Gruvbox"
+    "Original"
+  ];
+
+  availableColorVariants = {
+    Catppuccin = [
+      "Blue"
+      "Flamingo"
+      "Green"
+      "Macchiato"
+      "Maroon"
+      "Mauve"
+      "Peach"
+      "Pink"
+      "Red"
+      "Rosewater"
+      "Sapphire"
+      "Sky"
+      "Teal"
+      "Yellow"
+    ];
+    Dracula = [
+      "Cyan"
+      "Green"
+      "Orange"
+      "Pink"
+      "Purple"
+      "Red"
+      "Teddy"
+      "Yellow"
+    ];
+    Gruvbox = [
+      "Aqua"
+      "Black"
+      "Blue"
+      "Gray"
+      "Green"
+      "Mojas84"
+      "Orange"
+      "Purple"
+      "White"
+    ];
+    Original = [
+      "Blue"
+      "Purple"
+      "joris"
+      "joris2"
+      "joris3"
+      "joris4"
+    ];
+  };
+in
+
+lib.checkListOfEnum "${pname}: theme variants" availableThemeVariants themeVariants
+lib.checkListOfEnum "${pname}: catppuccin color variants" availableColorVariants.Catppuccin catppuccinColorVariants
+lib.checkListOfEnum "${pname}: dracula color variants" availableColorVariants.Dracula draculaColorVariants
+lib.checkListOfEnum "${pname}: gruvbox color variants" availableColorVariants.Gruvbox  gruvboxColorVariants
+lib.checkListOfEnum "${pname}: original color variants" availableColorVariants.Original originalColorVariants
+
+stdenvNoCC.mkDerivation {
+  inherit pname;
+  version = "0-unstable-2023-10-04";
+
+  src = fetchFromGitHub {
+    owner = "TeddyBearKilla";
+    repo = "Afterglow-Cursors-Recolored";
+    rev = "940a5d30e52f8c827fa249d2bbcc4af889534888";
+    hash = "sha256-GR+d+jrbeIGpqal5krx83PxuQto2PQTO3unQ+jaJf6s=";
+  };
+
+  installPhase = let
+    dist = {
+      Catppuccin = "cat";
+      Dracula = "dracula";
+      Gruvbox = "gruvbox";
+    };
+    withAlternate = xs: xs': if xs != [ ] then xs else xs';
+    themeVariants' = withAlternate themeVariants availableThemeVariants;
+    colorVariants = {
+      Catppuccin =  withAlternate catppuccinColorVariants availableColorVariants.Catppuccin;
+      Dracula = withAlternate draculaColorVariants availableColorVariants.Dracula;
+      Gruvbox = withAlternate gruvboxColorVariants availableColorVariants.Gruvbox;
+      Original = withAlternate originalColorVariants availableColorVariants.Original;
+    };
+  in ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+
+    ${
+      lib.concatMapStringsSep "\n" (theme:
+        lib.concatMapStringsSep "\n" (color: ''
+          ln -s \
+            "$src/colors/${theme}/${color}/dist-${lib.optionalString (theme != "Original") (dist.${theme} + "-")}${lib.toLower color}" \
+            "$out/share/icons/Afterglow-Recolored-${theme}-${color}"
+        '') colorVariants.${theme}
+      ) themeVariants'
+    }
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A recoloring of the Afterglow Cursors x-cursor theme";
+    homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ap/apt/package.nix b/nixpkgs/pkgs/by-name/ap/apt/package.nix
index d797cc72b639..26e21a670935 100644
--- a/nixpkgs/pkgs/by-name/ap/apt/package.nix
+++ b/nixpkgs/pkgs/by-name/ap/apt/package.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "apt";
-  version = "2.7.10";
+  version = "2.7.11";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
-    hash = "sha256-VUZsSEqmQJesIPU4tK4ELn9i5hFiBUGNEepPySIdgH4=";
+    hash = "sha256-ZD5skWsyQSmGc5yStEwijMmQv0c/ikHWm5m1RdEMMqc=";
   };
 
   # cycle detection; lib can't be split
diff --git a/nixpkgs/pkgs/by-name/ar/ardopc/package.nix b/nixpkgs/pkgs/by-name/ar/ardopc/package.nix
new file mode 100644
index 000000000000..fe8491dbc4b3
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ar/ardopc/package.nix
@@ -0,0 +1,51 @@
+{ fetchFromGitHub
+, lib
+, makeWrapper
+, pkg-config
+, stdenv
+, alsa-lib
+, flrig
+, hamlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ardopc";
+  version = "unstable-2021-08-28";
+
+  src = fetchFromGitHub {
+    owner = "hamarituc";
+    repo = "ardop";
+    rev = "20210828";
+    hash = "sha256-OUw9spFTsQLnsXksbfl3wD2NyY40JTyvlvONEIeZyWo=";
+  };
+
+  sourceRoot = "${finalAttrs.src.name}/ARDOPC";
+
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    flrig
+    hamlib
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D ardopc $out/bin/ardopc
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "ARDOP (Amateur Radio Digital Open Protocol) TNC implementation by John Wiseman (GM8BPQ)";
+    homepage = "https://github.com/hamarituc/ardop/ARDOPC";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ oliver-koss ];
+    mainProgram = "ardopc";
+    platforms = platforms.all;
+  };
+})
diff --git a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix b/nixpkgs/pkgs/by-name/ar/arrow-cpp/package.nix
index 174d5aa827f9..23a2432c824e 100644
--- a/nixpkgs/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/nixpkgs/pkgs/by-name/ar/arrow-cpp/package.nix
@@ -5,8 +5,19 @@
 , fixDarwinDylibNames
 , autoconf
 , aws-sdk-cpp
+, aws-sdk-cpp-arrow ? aws-sdk-cpp.override {
+    apis = [
+      "cognito-identity"
+      "config"
+      "identity-management"
+      "s3"
+      "sts"
+      "transfer"
+    ];
+  }
 , boost
 , brotli
+, bzip2
 , c-ares
 , cmake
 , crc32c
@@ -36,6 +47,7 @@
 , which
 , zlib
 , zstd
+, testers
 , enableShared ? !stdenv.hostPlatform.isStatic
 , enableFlight ? true
 , enableJemalloc ? !stdenv.isDarwin
@@ -64,17 +76,6 @@ let
     hash = "sha256-CUckfNjfDW05crWigzMP5b9UynviXKGZUlIr754OoGU=";
   };
 
-  aws-sdk-cpp-arrow = aws-sdk-cpp.override {
-    apis = [
-      "cognito-identity"
-      "config"
-      "identity-management"
-      "s3"
-      "sts"
-      "transfer"
-    ];
-  };
-
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "arrow-cpp";
@@ -128,6 +129,7 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     boost
     brotli
+    bzip2
     flatbuffers
     gflags
     glog
@@ -187,6 +189,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-DARROW_USE_GLOG=ON"
     "-DARROW_WITH_BACKTRACE=ON"
     "-DARROW_WITH_BROTLI=ON"
+    "-DARROW_WITH_BZ2=ON"
     "-DARROW_WITH_LZ4=ON"
     "-DARROW_WITH_NLOHMANN_JSON=ON"
     "-DARROW_WITH_SNAPPY=ON"
@@ -247,6 +250,8 @@ stdenv.mkDerivation (finalAttrs: {
   installCheckPhase =
     let
       disabledTests = [
+        # flaky
+        "arrow-flight-test"
         # requires networking
         "arrow-gcsfs-test"
         "arrow-flight-integration-test"
@@ -266,8 +271,24 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ tobim veprbl cpcloud ];
+    pkgConfigModules = [
+      "arrow"
+      "arrow-acero"
+      "arrow-compute"
+      "arrow-csv"
+      "arrow-dataset"
+      "arrow-filesystem"
+      "arrow-flight"
+      "arrow-flight-sql"
+      "arrow-flight-testing"
+      "arrow-json"
+      "arrow-substrait"
+      "arrow-testing"
+      "parquet"
+    ];
   };
   passthru = {
     inherit enableFlight enableJemalloc enableS3 enableGcs;
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
   };
 })
diff --git a/nixpkgs/pkgs/by-name/ar/arrpc/package.nix b/nixpkgs/pkgs/by-name/ar/arrpc/package.nix
index eeb4dd4fef25..b103718bb357 100644
--- a/nixpkgs/pkgs/by-name/ar/arrpc/package.nix
+++ b/nixpkgs/pkgs/by-name/ar/arrpc/package.nix
@@ -1,41 +1,31 @@
 { lib
 , buildNpmPackage
 , fetchFromGitHub
-, fetchpatch
-}:
-
-buildNpmPackage {
+}: buildNpmPackage rec {
   pname = "arrpc";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "OpenAsar";
     repo = "arrpc";
     # Release commits are not tagged
-    # release: 3.2.0
-    rev = "9c3e981437b75606c74ef058c67d1a8c083ce49a";
-    hash = "sha256-tsO58q6tqqXCJLjZmLQGt1VtKsuoqWmh5SlnuDtJafg=";
+    # release: 3.3.0
+    rev = "c6e23e7eb733ad396d3eebc328404cc656fed581";
+    hash = "sha256-OeEFNbmGp5SWVdJJwXZUkkNrei9jyuPc+4E960l8VRA=";
   };
 
-  # Make installation less cumbersome
-  # Remove after next release
-  patches = [
-    (fetchpatch {
-      # https://github.com/OpenAsar/arrpc/pull/50
-      url = "https://github.com/OpenAsar/arrpc/commit/7fa6c90204450eb3952ce9cddfecb0a5ba5e4313.patch";
-      hash = "sha256-qFlrbe2a4x811wpmWUcGDe2CPlt9x3HI+/t0P2v4kPc=";
-    })
-  ];
-
-  npmDepsHash = "sha256-vxx0w6UjwxIK4cgpivtjNbIgkb4wKG4ijSHdP/FeQZ4=";
+  npmDepsHash = "sha256-YlSUGncpY0MyTiCfZcPsfcNx3fR+SCtkOFWbjOPLUzk=";
 
   dontNpmBuild = true;
 
-  meta = with lib; {
+  meta = {
+    # ideally we would do blob/${version}/changelog.md here
+    # upstream does not tag releases
+    changelog = "https://github.com/OpenAsar/arrpc/blob/${src.rev}/changelog.md";
     description = "Open Discord RPC server for atypical setups";
     homepage = "https://arrpc.openasar.dev/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ anomalocaris ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ anomalocaris NotAShelf ];
     mainProgram = "arrpc";
   };
 }
diff --git a/nixpkgs/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix b/nixpkgs/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix
index d2d75a2d284a..bb0b1c6c4034 100644
--- a/nixpkgs/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix
+++ b/nixpkgs/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix
@@ -5,13 +5,13 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "arxiv-latex-cleaner";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "google-research";
     repo = "arxiv-latex-cleaner";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kM1eCzXipJ6GuYFA9Na2C0HtwHLotmE63nyUZ+9wkkk=";
+    hash = "sha256-Dr0GyivoPjQwVYzvN1JIWhuLz60TQtz4MBB8n1hm6Lo=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/by-name/as/ast-grep/package.nix b/nixpkgs/pkgs/by-name/as/ast-grep/package.nix
index 67afe28bc346..ce728c0b9871 100644
--- a/nixpkgs/pkgs/by-name/as/ast-grep/package.nix
+++ b/nixpkgs/pkgs/by-name/as/ast-grep/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-hr6VAqBsv3szVClR93y5ickkrNKjvl6BfzqKA3zc6vM=";
+    hash = "sha256-ho4o7Ryp6IwBZ66Sag9IC67EfC/opfkicksouHKPURc=";
   };
 
-  cargoHash = "sha256-ttJMtaQfVnFj4/wUz4fn8X/EmUwW+usqhmWhy4Y0AB8=";
+  cargoHash = "sha256-EDgtXZhAOd8I9TwzpXsVpUpi8uoxyBBIxWyF7wSazwo=";
 
   # Work around https://github.com/NixOS/nixpkgs/issues/166205.
   env = lib.optionalAttrs stdenv.cc.isClang {
diff --git a/nixpkgs/pkgs/by-name/at/atuin/package.nix b/nixpkgs/pkgs/by-name/at/atuin/package.nix
index 57c295aa8bcf..db9bc233cb9a 100644
--- a/nixpkgs/pkgs/by-name/at/atuin/package.nix
+++ b/nixpkgs/pkgs/by-name/at/atuin/package.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , installShellFiles
 , rustPlatform
 , libiconv
@@ -11,29 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "atuin";
-  version = "18.0.0";
+  version = "18.0.1";
 
   src = fetchFromGitHub {
     owner = "atuinsh";
     repo = "atuin";
     rev = "v${version}";
-    hash = "sha256-2nBaGoaTd1TGm8aZnrNA66HkW7+OrD6gOmj+uSFz020=";
+    hash = "sha256-fuVSn1vhKn2+Tw5f6zBYHFW3QSL4eisZ6d5pxsj5hh4=";
   };
 
-  patches = [
-    # https://github.com/atuinsh/atuin/pull/1694
-    (fetchpatch {
-      name = "0001-atuin_src_command_client_search_interactive.rs.patch";
-      url = "https://github.com/atuinsh/atuin/commit/6bc38f4cf3c8d2b6fbd135998a4e64e6abfb2566.patch";
-      hash = "sha256-pUiuECiAmq7nmKO/cOHZ1V5Iy3zDzZyBNNCH7Czo/NA=";
-    })
-  ];
-
   # TODO: unify this to one hash because updater do not support this
   cargoHash =
     if stdenv.isLinux
-    then "sha256-Y+49R/foid+V83tY3bqf644OkMPukJxg2/ZVfJxDaFg="
-    else "sha256-gT2JRzBAF4IsXVv1Hvo6kr9qrNE/3bojtULCx6YawhA=";
+    then "sha256-lHWgsVnjSeBmd7O4Fn0pUtTn4XbkBOAouaRHRozil50="
+    else "sha256-LxfpllzvgUu7ZuD97n3W+el3bdOt5QGXzJbDQ0w8seo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -60,7 +50,7 @@ rustPlatform.buildRustPackage rec {
     "--skip=registration"
     # No such file or directory (os error 2)
     "--skip=sync"
-    # further failing tests
+    # PermissionDenied (Operation not permitted)
     "--skip=change_password"
     "--skip=multi_user_test"
   ];
diff --git a/nixpkgs/pkgs/by-name/au/authentik/package.nix b/nixpkgs/pkgs/by-name/au/authentik/package.nix
index a4de19b066d7..454a994e314b 100644
--- a/nixpkgs/pkgs/by-name/au/authentik/package.nix
+++ b/nixpkgs/pkgs/by-name/au/authentik/package.nix
@@ -118,6 +118,8 @@ let
           substituteInPlace pyproject.toml \
             --replace-fail 'dumb-init = "*"' "" \
             --replace-fail 'djangorestframework-guardian' 'djangorestframework-guardian2'
+          substituteInPlace authentik/stages/email/utils.py \
+            --replace-fail 'web/' '${webui}/'
         '';
 
         nativeBuildInputs = [ prev.poetry-core ];
diff --git a/nixpkgs/pkgs/by-name/bm/bmake/package.nix b/nixpkgs/pkgs/by-name/bm/bmake/package.nix
index 5ee120ac4ca9..172a5c68675b 100644
--- a/nixpkgs/pkgs/by-name/bm/bmake/package.nix
+++ b/nixpkgs/pkgs/by-name/bm/bmake/package.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bmake";
-  version = "20240108";
+  version = "20240212";
 
   src = fetchurl {
     url = "http://www.crufty.net/ftp/pub/sjg/bmake-${finalAttrs.version}.tar.gz";
-    hash = "sha256-N3JXiCBhbpmZFvTFHb0kFbBvcoH2jMzMXh047SOOMQc=";
+    hash = "sha256-lx1aNkA1NJ6YTYLCpI1Uagxz5S87jyqimjvj0kCP+qg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/by-name/ca/cargo-rdme/package.nix b/nixpkgs/pkgs/by-name/ca/cargo-rdme/package.nix
index 48ab5f4ba981..7cc47e22a641 100644
--- a/nixpkgs/pkgs/by-name/ca/cargo-rdme/package.nix
+++ b/nixpkgs/pkgs/by-name/ca/cargo-rdme/package.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-rdme";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-ZveL/6iWxnEz13iHdTjDA4JT29CbvWjrIvblI65XuMM=";
+    hash = "sha256-WlZGhVWm6RYgODQZV4Sj3Q31FsPNd5SdYtp7kfUMxpI=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
     Security
   ];
 
-  cargoHash = "sha256-8srwz5p9NY+ymDpqSvG68oIHibSurdtrjBkG6TrZO70=";
+  cargoHash = "sha256-AVwKktP96QYAOjo5gFeXpY0wOQObwarn82oaT6AVuBk=";
 
   meta = with lib; {
     description = "Cargo command to create the README.md from your crate's documentation";
diff --git a/nixpkgs/pkgs/by-name/ca/cargo-swift/package.nix b/nixpkgs/pkgs/by-name/ca/cargo-swift/package.nix
index 62741dc4a0f4..d8135f2ca4f6 100644
--- a/nixpkgs/pkgs/by-name/ca/cargo-swift/package.nix
+++ b/nixpkgs/pkgs/by-name/ca/cargo-swift/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-swift";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "antoniusnaumann";
     repo = "cargo-swift";
     rev = "v${version}";
-    hash = "sha256-ATpEo7s/qatK7hsbNo9tE97yMpymA1xmf879WrgUluM=";
+    hash = "sha256-hTlgIPXXdhxFtK/acXITwitIg1DGgF4cCVaAxogWPrk=";
   };
 
-  cargoHash = "sha256-hKTvtPulltsxi0PX8Xmo9MYcQYuTdOOspfgLCaEKQL4=";
+  cargoHash = "sha256-6F4CX9uiCfPbgFRZ0hC/s5xT42S2V5ZgGQ+O2bHb9vg=";
 
   meta = with lib; {
     description = "A cargo plugin to easily build Swift packages from Rust code";
diff --git a/nixpkgs/pkgs/by-name/ce/certificate-ripper/fix-test-temp-dir-path.patch b/nixpkgs/pkgs/by-name/ce/certificate-ripper/fix-test-temp-dir-path.patch
new file mode 100644
index 000000000000..ff9b7d3bebd5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ce/certificate-ripper/fix-test-temp-dir-path.patch
@@ -0,0 +1,13 @@
+diff --git a/src/test/java/nl/altindag/crip/command/FileBaseTest.java b/src/test/java/nl/altindag/crip/command/FileBaseTest.java
+index 674ca10..f140601 100644
+--- a/src/test/java/nl/altindag/crip/command/FileBaseTest.java
++++ b/src/test/java/nl/altindag/crip/command/FileBaseTest.java
+@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
+ 
+ public class FileBaseTest extends BaseTest {
+ 
+-    protected static final Path TEMP_DIRECTORY = Paths.get(System.getProperty("user.home"), "certificate-ripper-temp");
++    protected static final Path TEMP_DIRECTORY = Paths.get(System.getenv("TMP"), "certificate-ripper-temp");
+ 
+     @BeforeEach
+     void createTempDirAndClearConsoleCaptor() throws IOException {
diff --git a/nixpkgs/pkgs/by-name/ce/certificate-ripper/make-deterministic.patch b/nixpkgs/pkgs/by-name/ce/certificate-ripper/make-deterministic.patch
new file mode 100644
index 000000000000..b9e7aa1d0a1e
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ce/certificate-ripper/make-deterministic.patch
@@ -0,0 +1,68 @@
+diff --git a/pom.xml b/pom.xml
+index dd0075d..46ac184 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -46,6 +46,7 @@
+         <version.license-maven-plugin>4.2.rc3</version.license-maven-plugin>
+         <license.git.copyrightYears>2021</license.git.copyrightYears>
+         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
++        <project.build.outputTimestamp>1980-01-01T00:00:02Z</project.build.outputTimestamp>
+     </properties>
+ 
+     <scm>
+@@ -103,6 +104,55 @@
+ 
+     <build>
+         <plugins>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-enforcer-plugin</artifactId>
++                <version>3.4.1</version>
++                <executions>
++                    <execution>
++                        <id>enforce-plugin-versions</id>
++                        <goals>
++                            <goal>enforce</goal>
++                        </goals>
++                        <configuration>
++                            <rules>
++                                <requirePluginVersions />
++                            </rules>
++                        </configuration>
++                    </execution>
++                </executions>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-deploy-plugin</artifactId>
++                <version>3.1.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-resources-plugin</artifactId>
++                <version>3.3.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-site-plugin</artifactId>
++                <version>4.0.0-M13</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-install-plugin</artifactId>
++                <version>3.1.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-clean-plugin</artifactId>
++                <version>3.3.2</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-jar-plugin</artifactId>
++                <version>3.3.0</version>
++            </plugin>
++
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-compiler-plugin</artifactId>
diff --git a/nixpkgs/pkgs/by-name/ce/certificate-ripper/package.nix b/nixpkgs/pkgs/by-name/ce/certificate-ripper/package.nix
new file mode 100644
index 000000000000..0b03b395789f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ce/certificate-ripper/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, maven
+, fetchFromGitHub
+, buildGraalvmNativeImage
+}:
+
+let
+  pname = "certificate-ripper";
+  version = "2.2.0";
+
+  jar = maven.buildMavenPackage {
+    pname = "${pname}-jar";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "Hakky54";
+      repo = "certificate-ripper";
+      rev = version;
+      hash = "sha256-snavZVLY8sHinLnG6k61eSQlR9sb8+k5tRHqu4kzQKM=";
+    };
+
+    patches = [
+      ./make-deterministic.patch
+      ./fix-test-temp-dir-path.patch
+    ];
+
+    mvnHash = "sha256-ahw9VVlvBPlWChcJzXFna55kxqVeJMmdaLtwWcJ+qSA=";
+
+    installPhase = ''
+      install -Dm644 target/crip.jar $out
+    '';
+  };
+in
+buildGraalvmNativeImage {
+  inherit pname version;
+
+  src = jar;
+
+  executable = "crip";
+
+  # Copied from pom.xml
+  extraNativeImageBuildArgs = [
+    "--no-fallback"
+    "-H:ReflectionConfigurationResources=graalvm_config.json"
+    "-H:EnableURLProtocols=https"
+    "-H:EnableURLProtocols=http"
+  ];
+
+  meta = {
+    changelog = "https://github.com/Hakky54/certificate-ripper/releases/tag/${version}";
+    description = "A CLI tool to extract server certificates";
+    homepage = "https://github.com/Hakky54/certificate-ripper";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/co/cockpit/package.nix b/nixpkgs/pkgs/by-name/co/cockpit/package.nix
index 4e979fa2cdad..b5cee2033ddd 100644
--- a/nixpkgs/pkgs/by-name/co/cockpit/package.nix
+++ b/nixpkgs/pkgs/by-name/co/cockpit/package.nix
@@ -44,13 +44,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "cockpit";
-  version = "310.2";
+  version = "311";
 
   src = fetchFromGitHub {
     owner = "cockpit-project";
     repo = "cockpit";
     rev = "refs/tags/${version}";
-    hash = "sha256-VaH34UT8kXKZbRPTNvL1afeONb3n6vK0UB1UgWeNRWY=";
+    hash = "sha256-RsOLYvwLu0eNmSZJoCi1dcB2a3JqMbus/gOyL74kCB4=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/by-name/co/codeium/package.nix b/nixpkgs/pkgs/by-name/co/codeium/package.nix
index 3c203fdfc2ff..72a08361028b 100644
--- a/nixpkgs/pkgs/by-name/co/codeium/package.nix
+++ b/nixpkgs/pkgs/by-name/co/codeium/package.nix
@@ -13,10 +13,10 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-xAo8XtNXUJXjGu+LMoRj/s0/VFtVwIC6TCc4a1wrzzQ=";
-    aarch64-linux = "sha256-HOfSb87g6iN5IwmYZ20F91y+a8fbAhTQ+OhHGq7E9ko=";
-    x86_64-darwin = "sha256-GCP+apn5g/aPZcwHBhKj9Oy90hMpTWRZNLUtOk3yNTc=";
-    aarch64-darwin = "sha256-EwpO/gOnv/XIxdV1I1dV+i4w5A4avMcv1zPnBLEqoLI=";
+    x86_64-linux = "sha256-lMlJezLLyN3OMtom/opbihUsrkCuWDGXB8j+o53JMBE=";
+    aarch64-linux = "sha256-Ccej0Amq/Yo2F2C21rC0E9rzwE4grvyP+q+QajEg1MA=";
+    x86_64-darwin = "sha256-DFGiYI1hc0GN+A63OWdcCHnwkDQKZ+fhrNozWtlebJs=";
+    aarch64-darwin = "sha256-iuGmmaCc0YbLUO6G8Uyy/DvNgmfV+TzU4j0VPyACQb4=";
   }.${system} or throwSystem;
 
   bin = "$out/bin/codeium_language_server";
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "codeium";
-  version = "1.6.34";
+  version = "1.6.38";
   src = fetchurl {
     name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
     url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
diff --git a/nixpkgs/pkgs/by-name/co/coffeegrindsize/package.nix b/nixpkgs/pkgs/by-name/co/coffeegrindsize/package.nix
new file mode 100644
index 000000000000..ea23de82bbce
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/co/coffeegrindsize/package.nix
@@ -0,0 +1,44 @@
+{ lib, python3, fetchFromGitHub }:
+
+python3.pkgs.buildPythonApplication {
+  pname = "coffeegrindsize";
+  # no tags in the repo
+  version = "0-unstable-2021-04-20";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "jgagneastro";
+    repo = "coffeegrindsize";
+    rev = "22661ebd21831dba4cf32bfc6ba59fe3d49f879c";
+    hash = "sha256-HlTw0nmr+VZL6EUX9RJzj253fnAred9LNFNgVHqoAoI=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    tkinter
+    matplotlib
+    numpy
+    pandas
+    pillow
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    echo "#!/usr/bin/env python" > "$out/bin/coffeegrindsize"
+    cat coffeegrindsize.py >> "$out/bin/coffeegrindsize"
+    chmod +x "$out/bin/coffeegrindsize"
+    patchShebangs "$out/bin/coffeegrindsize"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Detects the individual coffee grounds in a white-background picture to determine particle size distribution";
+    mainProgram = "coffeegrindsize";
+    homepage = "https://github.com/jgagneastro/coffeegrindsize";
+    license = licenses.mit;
+    maintainers = with maintainers; [ t4ccer ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/co/construct/package.nix b/nixpkgs/pkgs/by-name/co/construct/package.nix
new file mode 100644
index 000000000000..eb2c922b31b4
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/co/construct/package.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "construct";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Thomas-de-Bock";
+    repo = "construct";
+    rev = finalAttrs.version;
+    hash = "sha256-ENso0y7yEaXzGXzZOnlZ1L7+j/qayJL+f55/NYLz2ew=";
+  };
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile \
+        --replace g++ c++
+  '';
+
+  makeTarget = "main";
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 bin/construct -t $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Construct is an abstraction over x86 NASM Assembly";
+    longDescription = "Construct adds features such as while loops, if statements, scoped macros and function-call syntax to NASM Assembly.";
+    homepage = "https://github.com/Thomas-de-Bock/construct";
+    maintainers = with maintainers; [ rucadi ];
+    platforms = platforms.all;
+    license = licenses.mit;
+    mainProgram = "construct";
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/co/cosmic-session/package.nix b/nixpkgs/pkgs/by-name/co/cosmic-session/package.nix
index cebd00aff004..2c84a130bd9c 100644
--- a/nixpkgs/pkgs/by-name/co/cosmic-session/package.nix
+++ b/nixpkgs/pkgs/by-name/co/cosmic-session/package.nix
@@ -51,11 +51,10 @@ rustPlatform.buildRustPackage rec {
     "--set"
     "prefix"
     (placeholder "out")
-    "--set"
-    "xdp_cosmic"
-    xdg-desktop-portal-cosmic
   ];
 
+  env.XDP_COSMIC = lib.getExe xdg-desktop-portal-cosmic;
+
   passthru.providedSessions = [ "cosmic" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/by-name/cr/crossplane-cli/package.nix b/nixpkgs/pkgs/by-name/cr/crossplane-cli/package.nix
index ef1d14299b5b..b2ee0084115f 100644
--- a/nixpkgs/pkgs/by-name/cr/crossplane-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/cr/crossplane-cli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "crossplane-cli";
-  version = "1.14.5";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "crossplane";
     repo = "crossplane";
     rev = "v${version}";
-    hash = "sha256-P7zfkrE+r/pQEEu0GK7v+bJ4ONeejZLXq2sYmU/V110=";
+    hash = "sha256-VwnKTeCfCgKlgh+6QO2J4r1ImAq0zlxFFdhTtC95bs0=";
   };
 
-  vendorHash = "sha256-vkXvnEstD/czBDxmI96TIQB/L4jxhMwIS1XpHqVtxqY=";
+  vendorHash = "sha256-+e3NuSCvUgZANDB9LsvlQn3h9+L1NeQeURKDZd21reo=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/by-name/cr/crunchy-cli/Cargo.lock b/nixpkgs/pkgs/by-name/cr/crunchy-cli/Cargo.lock
new file mode 100644
index 000000000000..58e768c9e4cc
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/cr/crunchy-cli/Cargo.lock
@@ -0,0 +1,2354 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aes"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+
+[[package]]
+name = "async-speed-limit"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d287ccbfb44ae20287d2f9c72ad9e560d50810883870697db5b320c541f183"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-timer",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "base64-serde"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba368df5de76a5bea49aaf0cf1b39ccfbbef176924d1ba5db3e4135216cbe3c7"
+dependencies = [
+ "base64",
+ "serde",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
+name = "block-padding"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cbc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "serde",
+ "wasm-bindgen",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_complete"
+version = "4.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97aeaa95557bd02f23fbb662f981670c3d20c5a26e69f7354b28f57092437fcd"
+dependencies = [
+ "clap",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "clap_mangen"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a7c2b01e5e779c19f46a94bbd398f33ae63b0f78c07108351fb4536845bb7fd"
+dependencies = [
+ "clap",
+ "roff",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "cookie"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
+dependencies = [
+ "percent-encoding",
+ "time",
+ "version_check",
+]
+
+[[package]]
+name = "cookie_store"
+version = "0.16.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
+dependencies = [
+ "cookie",
+ "idna 0.2.3",
+ "log",
+ "publicsuffix",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "time",
+ "url",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crunchy-cli"
+version = "3.2.5"
+dependencies = [
+ "chrono",
+ "clap",
+ "clap_complete",
+ "clap_mangen",
+ "crunchy-cli-core",
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "crunchy-cli-core"
+version = "3.2.5"
+dependencies = [
+ "anyhow",
+ "async-speed-limit",
+ "chrono",
+ "clap",
+ "crunchyroll-rs",
+ "ctrlc",
+ "derive_setters",
+ "dialoguer",
+ "dirs",
+ "fs2",
+ "futures-util",
+ "http",
+ "indicatif",
+ "lazy_static",
+ "log",
+ "nix",
+ "num_cpus",
+ "regex",
+ "reqwest",
+ "rustls-native-certs",
+ "serde",
+ "serde_json",
+ "serde_plain",
+ "shlex",
+ "sys-locale",
+ "tempfile",
+ "tokio",
+ "tokio-util",
+ "tower-service",
+]
+
+[[package]]
+name = "crunchyroll-rs"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "828ff3c0f11de8f8afda7dc3bd24e206e1b13cee6abfd87856123305864681d2"
+dependencies = [
+ "aes",
+ "async-trait",
+ "cbc",
+ "chrono",
+ "crunchyroll-rs-internal",
+ "dash-mpd",
+ "futures-util",
+ "lazy_static",
+ "m3u8-rs",
+ "regex",
+ "reqwest",
+ "rustls",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "smart-default",
+ "tokio",
+ "tower-service",
+ "webpki-roots 0.26.0",
+]
+
+[[package]]
+name = "crunchyroll-rs-internal"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7051a39e25a19ef0aa753e7da179787a3db0fb8a01977a7e22cd288f7ff0e27"
+dependencies = [
+ "darling",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "ctrlc"
+version = "3.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b"
+dependencies = [
+ "nix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "darling"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+dependencies = [
+ "darling_core",
+ "darling_macro",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+dependencies = [
+ "darling_core",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "dash-mpd"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cf94350e05e27c941b8cfc06bffeec3afcac11f42df289378ddf43e192d2e15"
+dependencies = [
+ "base64",
+ "base64-serde",
+ "chrono",
+ "fs-err",
+ "iso8601",
+ "lazy_static",
+ "num-traits",
+ "quick-xml",
+ "regex",
+ "serde",
+ "serde_path_to_error",
+ "serde_with",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "url",
+ "xattr",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+ "serde",
+]
+
+[[package]]
+name = "derive_setters"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e8ef033054e131169b8f0f9a7af8f5533a9436fadf3c500ed547f730f07090d"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "dialoguer"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
+dependencies = [
+ "console",
+ "shell-words",
+ "thiserror",
+]
+
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs-err"
+version = "2.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-timer"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "h2"
+version = "0.3.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b553656127a00601c8ae5590fcfdc118e4083a7924b6cf4ffc1ea4b99dc429d7"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 2.1.0",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "http"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+dependencies = [
+ "bytes",
+ "hyper",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "ident_case"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+ "serde",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
+ "serde",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "block-padding",
+ "generic-array",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+
+[[package]]
+name = "iso8601"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "924e5d73ea28f59011fec52a0d12185d496a9b075d360657aed2a5707f701153"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "js-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[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.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "m3u8-rs"
+version = "5.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c1d7ba86f7ea62f17f4310c55e93244619ddc7dadfc7e565de1967e4e41e6e7"
+dependencies = [
+ "chrono",
+ "nom",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.11"
+source = "git+https://github.com/crunchy-labs/rust-not-so-native-tls.git?rev=fdba246#fdba246a79986607cbdf573733445498bb6da2a9"
+dependencies = [
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.1",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "openssl"
+version = "0.10.62"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671"
+dependencies = [
+ "bitflags 2.4.1",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-src"
+version = "300.2.1+3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.76"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "psl-types"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+[[package]]
+name = "publicsuffix"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457"
+dependencies = [
+ "idna 0.3.0",
+ "psl-types",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "reqwest"
+version = "0.11.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+dependencies = [
+ "base64",
+ "bytes",
+ "cookie",
+ "cookie_store",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "system-configuration",
+ "tokio",
+ "tokio-native-tls",
+ "tokio-rustls",
+ "tokio-socks",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
+ "web-sys",
+ "webpki-roots 0.25.3",
+ "winreg",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "roff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustix"
+version = "0.38.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.21.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64",
+]
+
+[[package]]
+name = "rustls-pki-types"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a"
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
+name = "schannel"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.195"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.195"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.111"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_path_to_error"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c"
+dependencies = [
+ "itoa",
+ "serde",
+]
+
+[[package]]
+name = "serde_plain"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_with"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+dependencies = [
+ "base64",
+ "chrono",
+ "hex",
+ "indexmap 1.9.3",
+ "indexmap 2.1.0",
+ "serde",
+ "serde_json",
+ "serde_with_macros",
+ "time",
+]
+
+[[package]]
+name = "serde_with_macros"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "shell-words"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
+
+[[package]]
+name = "shlex"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smart-default"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sys-locale"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
+dependencies = [
+ "deranged",
+ "itoa",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokio"
+version = "1.35.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tokio-native-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+dependencies = [
+ "native-tls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+dependencies = [
+ "rustls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-socks"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0"
+dependencies = [
+ "either",
+ "futures-util",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.5.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+
+[[package]]
+name = "wasm-streams"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+dependencies = [
+ "futures-util",
+ "js-sys",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.25.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
+
+[[package]]
+name = "webpki-roots"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188"
+dependencies = [
+ "rustls-pki-types",
+]
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "xattr"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
diff --git a/nixpkgs/pkgs/by-name/cr/crunchy-cli/package.nix b/nixpkgs/pkgs/by-name/cr/crunchy-cli/package.nix
new file mode 100644
index 000000000000..5afefe4a37fc
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/cr/crunchy-cli/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, darwin
+, fetchFromGitHub
+, openssl
+, pkg-config
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "crunchy-cli";
+  version = "3.2.5";
+
+  src = fetchFromGitHub {
+    owner = "crunchy-labs";
+    repo = "crunchy-cli";
+    rev = "v${version}";
+    hash = "sha256-hzmTwUd+bQwr+5UtXKMalJZUDxOC5nhXNTXbYZN8xtA=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "native-tls-0.2.11" = "sha256-+NeXsxuThKNOzVLBItKcuTAM/0zR/BzJGMKkuq99gBM=";
+    };
+  };
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [
+    pkg-config
+  ];
+
+  buildInputs = lib.optionals stdenv.isLinux [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  env = {
+    OPENSSL_NO_VENDOR = true;
+  };
+
+  meta = with lib; {
+    description = "Command-line downloader for Crunchyroll";
+    homepage = "https://github.com/crunchy-labs/crunchy-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ stepbrobd ];
+    mainProgram = "crunchy-cli";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/cs/csvkit/package.nix b/nixpkgs/pkgs/by-name/cs/csvkit/package.nix
index bdd66083fd08..2c30a921c0b1 100644
--- a/nixpkgs/pkgs/by-name/cs/csvkit/package.nix
+++ b/nixpkgs/pkgs/by-name/cs/csvkit/package.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "csvkit";
-  version = "1.3.0";
+  version = "1.4.0";
   pythonEnv = python3;
 in
 pythonEnv.pkgs.buildPythonApplication {
@@ -14,7 +14,7 @@ pythonEnv.pkgs.buildPythonApplication {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uC5q4tK7QWUXEA7Lro1dhWoN/65CtxIIiBSityAeGvg=";
+    hash = "sha256-LP7EM2egXMXl35nJCZC5WmNtjPmEukbOePzuj/ynr/g=";
   };
 
   propagatedBuildInputs = with pythonEnv.pkgs; [
diff --git a/nixpkgs/pkgs/by-name/cu/cursewords/package.nix b/nixpkgs/pkgs/by-name/cu/cursewords/package.nix
new file mode 100644
index 000000000000..44c49cbb874b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/cu/cursewords/package.nix
@@ -0,0 +1,35 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "cursewords";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "thisisparker";
+    repo = "cursewords";
+    rev = "v${version}";
+    hash = "sha256-Ssr15kSdWmyMFFG5uCregrpGQ3rI2cMXqY9+/a3gs84=";
+  };
+
+  nativeBuildInputs = [
+    python3Packages.setuptools
+    python3Packages.wheel
+  ];
+
+  doCheck = false; # no tests
+
+  propagatedBuildInputs = [
+    python3Packages.blessed
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/thisisparker/cursewords";
+    description = "Graphical command line program for solving crossword puzzles in the terminal";
+    mainProgram = "cursewords";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ danderson ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/de/decker/package.nix b/nixpkgs/pkgs/by-name/de/decker/package.nix
index 9e9be57ec204..e5b0d2f88673 100644
--- a/nixpkgs/pkgs/by-name/de/decker/package.nix
+++ b/nixpkgs/pkgs/by-name/de/decker/package.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "decker";
-  version = "1.32";
+  version = "1.39";
 
   src = fetchFromGitHub {
     owner = "JohnEarnest";
     repo = "Decker";
     rev = "v${version}";
-    hash = "sha256-ch/Lit9qA6XEkPJdcQ03+r0asOKMwy0jRJMHG9VMEig=";
+    hash = "sha256-77x+LT+oTDtK4jszL3A9MAv9Hakovz47yFaiu8kFtTg=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/by-name/do/docfd/package.nix b/nixpkgs/pkgs/by-name/do/docfd/package.nix
index 37df7724c26a..41d4f3cbf543 100644
--- a/nixpkgs/pkgs/by-name/do/docfd/package.nix
+++ b/nixpkgs/pkgs/by-name/do/docfd/package.nix
@@ -2,7 +2,7 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "docfd";
-  version = "2.1.0";
+  version = "2.2.0";
 
   minimalOCamlVersion = "5.1";
 
@@ -10,7 +10,7 @@ ocamlPackages.buildDunePackage rec {
     owner = "darrenldl";
     repo = "docfd";
     rev = version;
-    hash = "sha256-1DobGm6nI14951KNKEE0D3AF1TFsWQUEhe4L1PdWBDw=";
+    hash = "sha256-v6V9+/Ra19Xy6nCLe/ODJ1uVBwNkQO4lKcxcr2pmxIY=";
   };
 
   nativeBuildInputs = [ python3 dune_3 makeWrapper ];
diff --git a/nixpkgs/pkgs/by-name/do/door-knocker/package.nix b/nixpkgs/pkgs/by-name/do/door-knocker/package.nix
index d1a5b214ee26..98635e0abf96 100644
--- a/nixpkgs/pkgs/by-name/do/door-knocker/package.nix
+++ b/nixpkgs/pkgs/by-name/do/door-knocker/package.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "door-knocker";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "tytan652";
     repo = "door-knocker";
     rev = finalAttrs.version;
-    hash = "sha256-/C5dNoEAKf0kok+L6/GaA02yrc8e1PUwK9HYaOwjqIM=";
+    hash = "sha256-pC/Fv+GzHw0PTzJoDAUK/EzVVWXha2cflAqiznM9ZYM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/do/dotslash/package.nix b/nixpkgs/pkgs/by-name/do/dotslash/package.nix
new file mode 100644
index 000000000000..788d6ea17aa0
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/do/dotslash/package.nix
@@ -0,0 +1,31 @@
+{ lib, rustPlatform, fetchCrate }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dotslash";
+  version = "0.2.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-4y4GH+YR6QpZj7gYycJcm7K5tE7dCvYm3UQuCKF3cfQ=";
+  };
+
+  cargoHash = "sha256-L/ahRDLVOWsg7mHWlLYqP/+6zS9JwXGQXn66UsIIARk=";
+  doCheck = false; # http tests
+
+  meta = with lib; {
+    homepage = "https://dotslash-cli.com";
+    description = "Simplified multi-platform executable deployment";
+    longDescription = ''
+      DotSlash is a command-line tool that is designed to facilitate fetching an
+      executable, verifying it, and then running it. It maintains a local cache
+      of fetched executables so that subsequent invocations are fast.
+
+      DotSlash helps keeps heavyweight binaries out of your repo while ensuring
+      your developers seamlessly get the tools they need, ensuring consistent
+      builds across platforms.
+    '';
+    license = with licenses; [ asl20 /* or */ mit ];
+    mainProgram = "dotslash";
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ds/dsda-launcher/package.nix b/nixpkgs/pkgs/by-name/ds/dsda-launcher/package.nix
new file mode 100644
index 000000000000..8a83fb43a6f5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ds/dsda-launcher/package.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, qt6
+}:
+stdenv.mkDerivation rec {
+  pname = "dsda-launcher";
+  version = "1.3.1-hotfix";
+
+  src = fetchFromGitHub {
+    owner = "Pedro-Beirao";
+    repo = "dsda-launcher";
+    rev = "v${version}";
+    hash = "sha256-V6VLUl148L47LjKnPe5MZCuhZSMtI0wd18i8b+7jCvk=";
+  };
+
+  nativeBuildInputs = [ qt6.wrapQtAppsHook ];
+
+  buildInputs = [ qt6.qtbase qt6.qtwayland ];
+
+  buildPhase = ''
+    runHook preBuild
+    mkdir -p "./dsda-launcher/build"
+    cd "./dsda-launcher/build"
+    qmake6 ..
+    make
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp ./dsda-launcher $out/bin
+
+    install -Dm444 ../icons/dsda-Launcher.desktop $out/share/applications/dsda-Launcher.desktop
+    install -Dm444 ../icons/dsda-launcher.png $out/share/pixmaps/dsda-launcher.png
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Pedro-Beirao/dsda-launcher";
+    description = "This is a launcher GUI for the dsda-doom source port";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.Gliczy ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/du/dune3d/package.nix b/nixpkgs/pkgs/by-name/du/dune3d/package.nix
new file mode 100644
index 000000000000..797819354a1b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/du/dune3d/package.nix
@@ -0,0 +1,65 @@
+{
+  cmake,
+  eigen,
+  fetchFromGitHub,
+  glm,
+  gobject-introspection,
+  gtkmm4,
+  lib,
+  libepoxy,
+  librsvg,
+  libspnav,
+  libuuid,
+  meson,
+  ninja,
+  opencascade-occt,
+  pkg-config,
+  python3,
+  stdenv,
+  wrapGAppsHook,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dune3d";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "dune3d";
+    repo = "dune3d";
+    rev = "v${version}";
+    hash = "sha256-y7jlqH1p2vCFTM14rFURxTkrWUT5hNkCseC3xB6bFFo=";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+  ];
+  buildInputs = [
+    cmake
+    eigen
+    glm
+    gtkmm4
+    libepoxy
+    librsvg
+    libspnav
+    libuuid
+    opencascade-occt
+    (python3.withPackages (pp: [
+      pp.pygobject3
+    ]))
+  ];
+
+  env.CASROOT = opencascade-occt;
+
+  meta = with lib; {
+    description = "3D CAD application";
+    homepage = "https://dune3d.org";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ _0x4A6F jue89 ];
+    mainProgram = "dune3d";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ed/eduvpn-client/package.nix b/nixpkgs/pkgs/by-name/ed/eduvpn-client/package.nix
index a68ed0474536..e3b5b9d8a04c 100644
--- a/nixpkgs/pkgs/by-name/ed/eduvpn-client/package.nix
+++ b/nixpkgs/pkgs/by-name/ed/eduvpn-client/package.nix
@@ -12,11 +12,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "eduvpn-client";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://github.com/eduvpn/python-${pname}/releases/download/${version}/python-${pname}-${version}.tar.xz";
-    hash = "sha256-W5z0ykrwWANZmW+lQt6m+BmYPI0cutsamx8V2JrpeHA=";
+    hash = "sha256-57EKWOzGfA4ihVYTyfLF2yoe7hN/7OnEkG+zLz7QtxI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/ei/eigenlayer/package.nix b/nixpkgs/pkgs/by-name/ei/eigenlayer/package.nix
index e0db71808db6..e6af77a07f70 100644
--- a/nixpkgs/pkgs/by-name/ei/eigenlayer/package.nix
+++ b/nixpkgs/pkgs/by-name/ei/eigenlayer/package.nix
@@ -6,13 +6,13 @@
 }:
 buildGoModule rec {
   pname = "eigenlayer";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "Layr-Labs";
     repo = "eigenlayer-cli";
     rev = "v${version}";
-    hash = "sha256-PN1VB01NyBrDNIDpUIQlzhdwKoy17X1GdfQfRrN3bWo=";
+    hash = "sha256-cr3ltNmJj8GoQLADivekLU2hV7xWk4KR2Gej0rcaVTA=";
   };
 
   vendorHash = "sha256-VcXjYiJ9nwSCQJvQd7UYduZKJISRfoEXjziiX6Z3w6Q=";
diff --git a/nixpkgs/pkgs/by-name/el/elvish/package.nix b/nixpkgs/pkgs/by-name/el/elvish/package.nix
index 0069dad4f0c6..bd3e746377a3 100644
--- a/nixpkgs/pkgs/by-name/el/elvish/package.nix
+++ b/nixpkgs/pkgs/by-name/el/elvish/package.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "elvish";
-  version = "0.19.2";
+  version = "0.20.1";
 in
 buildGoModule {
   inherit pname version;
@@ -15,10 +15,10 @@ buildGoModule {
     owner = "elves";
     repo = "elvish";
     rev = "v${version}";
-    hash = "sha256-eCPJXCgmMvrJ2yVqYgXHXJWb6Ec0sutc91LNs4yRBYk=";
+    hash = "sha256-lKrX38gVUhYwwuNF25LcZ+TytP4vx/GO7ay6Au4BBZA=";
   };
 
-  vendorHash = "sha256-VMI20IP1jVkUK3rJm35szaFDfZGEEingUEL/xfVJ1cc=";
+  vendorHash = "sha256-sgVGqpncV7Ylok5FRcV01a3MCX6UdZvTt3nfVh5L2so=";
 
   subPackages = [ "cmd/elvish" ];
 
diff --git a/nixpkgs/pkgs/by-name/en/envio/package.nix b/nixpkgs/pkgs/by-name/en/envio/package.nix
index eebe13711e71..51b656eccbbb 100644
--- a/nixpkgs/pkgs/by-name/en/envio/package.nix
+++ b/nixpkgs/pkgs/by-name/en/envio/package.nix
@@ -13,16 +13,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "envio";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "envio-cli";
     repo = "envio";
     rev = "v${version}";
-    hash = "sha256-HVu2Ua1iu7Z14RUbdDQ4ElOGnfYjZCekFvAolu2lM7w=";
+    hash = "sha256-KhjHd+1IeKdASeYP2rPtyTmtkPcBbaruylmOwTPtFgo=";
   };
 
-  cargoHash = "sha256-AVbAHaLARMKGf5ZIygyWWSkg4U1Xkfjwm9XPNZNtUsE=";
+  cargoHash = "sha256-qmJUARwsGln07RAX1Ab0cNDgJq7NkezuT0tZsyd48Mw=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/by-name/er/eris-go/package.nix b/nixpkgs/pkgs/by-name/er/eris-go/package.nix
index 50a37c008ffd..5823756e301d 100644
--- a/nixpkgs/pkgs/by-name/er/eris-go/package.nix
+++ b/nixpkgs/pkgs/by-name/er/eris-go/package.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "eris-go";
-  version = "20231219";
+  version = "20240128";
   outputs = [ "out" "man" ];
 
   src = fetchFromGitea {
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "eris";
     repo = "eris-go";
     rev = version;
-    hash = "sha256-eXLfBkJgG51ZjR1qXRE2BgTrIpQsPW5SKeMlGd3J1NE=";
+    hash = "sha256-mS5PMrp6rBR8ehlpDAZaTQL8vhFSpcztMaQF5zjozxc=";
   };
 
   vendorHash = "sha256-pA/fz7JpDwdTRFfLDY0M6p9TeBOK68byhy/0Cw53p4M=";
@@ -23,10 +23,10 @@ buildGoModule rec {
   '';
   postBuild = "tupBuild";
   postInstall = ''
-    install -D *.1.man -t $man/share/man/man1
+    install -D *.1.gz -t $man/share/man/man1
   '';
 
-  skipNetworkTests = true;
+  env.skipNetworkTests = true;
 
   passthru.tests = { inherit (nixosTests) eris-server; };
 
diff --git a/nixpkgs/pkgs/by-name/ex/ext3grep/package.nix b/nixpkgs/pkgs/by-name/ex/ext3grep/package.nix
new file mode 100644
index 000000000000..9e5ab4daf37f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ex/ext3grep/package.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, e2fsprogs
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ext3grep";
+  version = "0.10.2";
+
+  src = fetchurl {
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ext3grep/ext3grep-${finalAttrs.version}.tar.gz";
+    hash = "sha256-WG8+k50v/XgvbwBrgaPfLcR3xtoD8h7biGDFxPcZjz4=";
+  };
+
+  nativeBuildInputs = [ e2fsprogs ];
+
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/ext3grep/-/raw/6150141b945dd12240629c07ada0a033b275baeb/debian/patches/001_fix-ftbfs-e2fsprogs_1.42-WIP-702.diff";
+      hash = "sha256-27M+o3vw4eGCFpdqVLXX6b73a8v29yuKphMo8K0xJ3U=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/ext3grep/-/raw/7c4bfb4c19eabaa11e6bf435289bfcd6e6847a9c/debian/patches/002_remove_i_dir_acl.diff";
+      hash = "sha256-2bdlJ+zlsd7zX3ztV7NOTwSmEZf0N1BM8qJ/5avKX+M=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/ext3grep/-/raw/58d63611bb8dfe5c4eacd568e79914f4f0cb2a0f/debian/patches/005_fix-FTBFS-dh-11.patch";
+      hash = "sha256-GfiSMRxbGz1gDMfAjo+FRmNIRK1zq96TVkLBO03pzbI=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/ext3grep/-/raw/8bb5322ced9b099d2af73e77d4a84b6e5b1a9f7f/debian/patches/010_fix-spellings.patch";
+      hash = "sha256-YHUInewf634HaRFUW9djtRZqg7Wdqh/rjp0pbJuOT2M=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/ext3grep/-/raw/662e314abca7d466add8015fc3d2cd49653cffcf/debian/patches/015_fix-clang-build.patch";
+      hash = "sha256-GctPFpBxdZYi5l2dtFTrFx4cTmDXV8BARvpwK+oxMdc=";
+    })
+  ];
+
+  meta = with lib; {
+    description = "A tool to investigate an ext3 file system for deleted content and possibly recover it";
+    mainProgram = "ext3grep";
+    homepage = "https://code.google.com/archive/p/ext3grep/";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/ez/eza/package.nix b/nixpkgs/pkgs/by-name/ez/eza/package.nix
index 02eb0c397905..d5088a772f0d 100644
--- a/nixpkgs/pkgs/by-name/ez/eza/package.nix
+++ b/nixpkgs/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.18.2";
+  version = "0.18.3";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-gVpgI/I91ounqSrEIM7BWJKR4NyRuEU2iK+g8T9L6YY=";
+    hash = "sha256-gxJajnq9VU9SDjClEV7QPAvI5dX3flTzyK228Iy0Mhk=";
   };
 
-  cargoHash = "sha256-q2xVSB3lpsur8P8KF7jDVrEj24q6FRVJbh7bL4teOqQ=";
+  cargoHash = "sha256-p6r0sR32M0/3GoybA2N1qs0M4Bmtq+s97GT5PMAolcg=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/nixpkgs/pkgs/by-name/fa/fangfrisch/package.nix b/nixpkgs/pkgs/by-name/fa/fangfrisch/package.nix
index 139e22fe8e9a..e49633ae01b7 100644
--- a/nixpkgs/pkgs/by-name/fa/fangfrisch/package.nix
+++ b/nixpkgs/pkgs/by-name/fa/fangfrisch/package.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 }:
 let
-  version = "1.7.0";
+  version = "1.8.0";
 in
 python3.pkgs.buildPythonApplication {
   pname = "fangfrisch";
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication {
     owner = "rseichter";
     repo = "fangfrisch";
     rev = "refs/tags/${version}";
-    hash = "sha256-s55W5/ppwr008ZIjDgQa90N+Ax9cwnvc+mXRetFdy+4=";
+    hash = "sha256-lZDChg7og98LY20IaafVGM487F/anrVIBB39dp2r2g0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/fa/fantomas/package.nix b/nixpkgs/pkgs/by-name/fa/fantomas/package.nix
index 8461ab3c29cf..b0e3677a9230 100644
--- a/nixpkgs/pkgs/by-name/fa/fantomas/package.nix
+++ b/nixpkgs/pkgs/by-name/fa/fantomas/package.nix
@@ -10,7 +10,7 @@ buildDotnetGlobalTool {
     description = "F# source code formatter";
     homepage = "https://github.com/fsprojects/fantomas";
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mikaelfangel ];
     mainProgram = "fantomas";
   };
diff --git a/nixpkgs/pkgs/by-name/fi/figurine/package.nix b/nixpkgs/pkgs/by-name/fi/figurine/package.nix
new file mode 100644
index 000000000000..ec6470de63d6
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/fi/figurine/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "figurine";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "arsham";
+    repo = "figurine";
+    rev = "v${version}";
+    hash = "sha256-1q6Y7oEntd823nWosMcKXi6c3iWsBTxPnSH4tR6+XYs=";
+  };
+
+  vendorHash = "sha256-mLdAaYkQH2RHcZft27rDW1AoFCWKiUZhh2F0DpqZELw=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.currentSha=${src.rev}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/arsham/figurine";
+    description = "Print your name in style";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ironicbadger ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/fi/files-cli/package.nix b/nixpkgs/pkgs/by-name/fi/files-cli/package.nix
index 8ac879448781..f829e6b08a11 100644
--- a/nixpkgs/pkgs/by-name/fi/files-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.12.30";
+  version = "2.12.37";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-V0oQ43ZTgzXjp+jZvF0UxfjU7vhbvKuDG2rBvB1pEOk=";
+    hash = "sha256-2vXztx294fOAZ1Vp0z4sGfoUYZch9aZffyz/Z9vzEnQ=";
   };
 
-  vendorHash = "sha256-OKNwYQCiB07cpnmQmJR0OJ3gX4VtXEcCPzsINEHj8Zg=";
+  vendorHash = "sha256-AEBpt8qg6UvHlx4iS8fXCdzQ0GgEf2ALKR00ThqXctc=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/by-name/fl/flarectl/package.nix b/nixpkgs/pkgs/by-name/fl/flarectl/package.nix
index 05066f90fb40..e73f0741b0fe 100644
--- a/nixpkgs/pkgs/by-name/fl/flarectl/package.nix
+++ b/nixpkgs/pkgs/by-name/fl/flarectl/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.87.0";
+  version = "0.88.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-M3Qc9PAcYASOQyEjWdGrLKx9h6uQGPftMJnD0Uc2buc=";
+    hash = "sha256-nFTE6RCVpfF/CPcwKM0wK15/1KMXAuvSdmtrt+Xrp8E=";
   };
 
-  vendorHash = "sha256-Bn2SDvFWmmMYDpOe+KBuzyTZLpdDtYDPc8HixgEgX+M=";
+  vendorHash = "sha256-AxBvmDB3mfgkv7U+BzR0Khdgx1hrDI61CSxr45pRZqg=";
 
   subPackages = [ "cmd/flarectl" ];
 
diff --git a/nixpkgs/pkgs/by-name/fr/free42/package.nix b/nixpkgs/pkgs/by-name/fr/free42/package.nix
index 6bb9d765b841..a552921153d3 100644
--- a/nixpkgs/pkgs/by-name/fr/free42/package.nix
+++ b/nixpkgs/pkgs/by-name/fr/free42/package.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "free42";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
     repo = "free42";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bOW5OyWaWblH2/2O3jNxaTjJEPZw86dTFJdexdlVLPs=";
+    hash = "sha256-XAYi4CBOx5KkqJyz6WkPlWC+bfbEReyaSv9SRCe6TDw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/fr/freefilesync/package.nix b/nixpkgs/pkgs/by-name/fr/freefilesync/package.nix
index ec93d9badec6..eb8e8cf9b295 100644
--- a/nixpkgs/pkgs/by-name/fr/freefilesync/package.nix
+++ b/nixpkgs/pkgs/by-name/fr/freefilesync/package.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "freefilesync";
-  version = "13.3";
+  version = "13.4";
 
   src = fetchurl {
     url = "https://freefilesync.org/download/FreeFileSync_${finalAttrs.version}_Source.zip";
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
       rm -f $out
       tryDownload "$url"
     '';
-    hash = "sha256-mpCCecG1teBjIJqCzB3pGAQKT6t8bMKbK8KihMXOn3g=";
+    hash = "sha256-0c4HYlah9aHsMMyCz/TjgA59pTce4hogz5n6Xf9Myho=";
   };
 
   sourceRoot = ".";
@@ -56,14 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
       patch = "Disable_wxWidgets_uncaught_exception_handling.patch";
       hash = "sha256-Fem7eDDKSqPFU/t12Jco8OmYC8FM9JgB4/QVy/ouvbI=";
     })
-    # Fix gui freeze
-    (fetchDebianPatch {
-      pname = "freefilesync";
-      version = "13.3";
-      debianRevision = "1";
-      patch = "revert_buggy_gtk3_change_in_12.1.patch";
-      hash = "sha256-eqush3zXxypQUxtO5110GoOJ30F5LZcF8XIC/Y8/fgM=";
-    })
     # Disable update patch
     (fetchDebianPatch {
       pname = "freefilesync";
diff --git a/nixpkgs/pkgs/development/python-modules/fypp/default.nix b/nixpkgs/pkgs/by-name/fy/fypp/package.nix
index 0303f517cad5..7785b67eda26 100644
--- a/nixpkgs/pkgs/development/python-modules/fypp/default.nix
+++ b/nixpkgs/pkgs/by-name/fy/fypp/package.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, buildPythonApplication }:
+{ lib, fetchFromGitHub, python3 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "fypp";
   version = "3.2";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "aradi";
@@ -12,6 +12,8 @@ buildPythonApplication rec {
     hash = "sha256-MgGVlOqOIrIVoDfBMVpFLT26mhYndxans2hfo/+jdoA=";
   };
 
+  nativeBuildInputs = [ python3.pkgs.setuptools ];
+
   meta = with lib; {
     description = "Python powered Fortran preprocessor";
     homepage = "https://github.com/aradi/fypp";
diff --git a/nixpkgs/pkgs/by-name/ga/galleta/package.nix b/nixpkgs/pkgs/by-name/ga/galleta/package.nix
index 9127d5293c3c..651a8eafa326 100644
--- a/nixpkgs/pkgs/by-name/ga/galleta/package.nix
+++ b/nixpkgs/pkgs/by-name/ga/galleta/package.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchzip
+, fetchpatch
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -12,8 +13,30 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-tc5XLToyQZutb51ZoBlGWXDpsSqdJ89bjzJwY8kRncA=";
   };
 
+  patches = [
+    # fix some GCC warnings.
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/998470d8151b2f3a4bec71ae340c30f252d03a9b/debian/patches/10_fix-gcc-warnings.patch";
+      hash = "sha256-b8VJGSAoSnWteyUbC2Ue3tqkpho7gyn+E/yrN2O3G9c=";
+    })
+    # make Makefile compliant with Debian and add GCC hardening.
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/553c237a34995d9f7fc0383ee547d4f5cd004d5b/debian/patches/20_fix-makefile.patch";
+      hash = "sha256-+rnoTrlXtWl9zmZlkvqbJ+YlIXFCpKOqvxIkN8xxtsg=";
+    })
+    # Fix cross compilation.
+    # Galleta fails to cross build from source, because the upstream
+    # Makefile hard codes the build architecture compiler. The patch
+    # makes the compiler substitutable and galleta cross buildable.
+    (fetchpatch {
+      url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/f0f51a5a9e5adc0279f78872461fa57ee90d6842/debian/patches/30-fix-FTBS-cross-compilation.patch";
+      hash = "sha256-ZwymEVJy7KvLFvNOcVZqDtJPxEcpQBVg+u+G+kSDZBo=";
+    })
+  ];
+
   makeFlags = [
     "-C src"
+    "CC=cc"
   ];
 
   enableParallelBuilding = true;
@@ -21,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
   installPhase = ''
     runHook preInstall
     mkdir -p $out/bin
-    cp bin/galleta $out/bin
+    cp src/galleta $out/bin
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/by-name/ga/game-rs/package.nix b/nixpkgs/pkgs/by-name/ga/game-rs/package.nix
index 127e06f7129e..40c66d6f8c71 100644
--- a/nixpkgs/pkgs/by-name/ga/game-rs/package.nix
+++ b/nixpkgs/pkgs/by-name/ga/game-rs/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "game-rs";
-  version = "0.1.3";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "amanse";
     repo = "game-rs";
     rev = "v${version}";
-    hash = "sha256-M9/hFItoCL8fSrc0dFNn43unqkIaD179OGUdbXL6/Rs=";
+    hash = "sha256-FuZl2yNre5jNSfHqF3tjiGwg5mRKbYer2FOPpLy0OrA=";
   };
 
-  cargoHash = "sha256-aq58sFK4/Zd8S4dOWjag+g5PmTeaVAK3FS3fW/YlCLs=";
+  cargoHash = "sha256-fNC8Aff09nTSbtxZg5qEKtvFyKFLRVjaokWiZihZCgM=";
 
   buildFeatures = [ "nixos" ];
 
diff --git a/nixpkgs/pkgs/by-name/ge/gerbolyze/package.nix b/nixpkgs/pkgs/by-name/ge/gerbolyze/package.nix
new file mode 100644
index 000000000000..ce177e6aa03b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ge/gerbolyze/package.nix
@@ -0,0 +1,92 @@
+{ lib
+, stdenv
+, python3Packages
+, fetchFromGitHub
+, resvg
+}:
+
+let
+  version = "3.1.7";
+  src = fetchFromGitHub {
+    owner = "jaseg";
+    repo = "gerbolyze";
+    rev = "v${version}";
+    hash = "sha256-0iTelSlUJUafclRowwsUAoO44nc/AXaOKXnZKfKOIaE=";
+    fetchSubmodules = true;
+  };
+
+  svg-flatten = stdenv.mkDerivation rec {
+    inherit version src;
+    pname = "svg-flatten";
+
+    sourceRoot = "${src.name}/svg-flatten";
+
+    postPatch = ''
+      substituteInPlace Makefile \
+        --replace "$(INSTALL) $(BUILDDIR)/$(BINARY) $(PREFIX)/bin" \
+        "$(INSTALL) $(BUILDDIR)/$(BINARY) $(PREFIX)/bin/svg-flatten" \
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/bin
+      PREFIX=$out make install
+      runHook postInstall
+    '';
+
+    meta = with lib; {
+      description = "svg-flatten SVG downconverter";
+      homepage = "https://github.com/jaseg/gerbolyze";
+      license = with licenses; [ agpl3 ];
+      maintainers = with maintainers; [ wulfsta ];
+      mainProgram = "svg-flatten";
+      platforms = platforms.linux;
+    };
+  };
+in python3Packages.buildPythonApplication rec {
+  inherit version src;
+  pname = "gerbolyze";
+
+  format = "setuptools";
+
+  nativeBuildInputs = [
+    python3Packages.setuptools
+  ];
+
+  propagatedBuildInputs = [
+    python3Packages.beautifulsoup4
+    python3Packages.click
+    python3Packages.numpy
+    python3Packages.scipy
+    python3Packages.python-slugify
+    python3Packages.lxml
+    python3Packages.gerbonara
+    resvg
+    svg-flatten
+  ];
+
+  preConfigure = ''
+    # setup.py tries to execute a call to git in a subprocess, this avoids it.
+    substituteInPlace setup.py \
+      --replace "version = get_version()," \
+                "version = '${version}'," \
+
+    # setup.py tries to execute a call to git in a subprocess, this avoids it.
+    substituteInPlace setup.py \
+      --replace "long_description=format_readme_for_pypi()," \
+                "long_description='\n'.join(Path('README.rst').read_text().splitlines()),"
+  '';
+
+  pythonImportsCheck = [ "gerbolyze" ];
+
+  nativeCheckInputs = [ python3Packages.pytestCheckHook resvg svg-flatten ];
+
+  meta = with lib; {
+    description = "Directly render SVG overlays into Gerber and Excellon files";
+    homepage = "https://github.com/jaseg/gerbolyze";
+    license = with licenses; [ agpl3 ];
+    maintainers = with maintainers; [ wulfsta ];
+    mainProgram = "gerbolyze";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/gl/glauth/package.nix b/nixpkgs/pkgs/by-name/gl/glauth/package.nix
index a95c833ebbdd..f049321e114b 100644
--- a/nixpkgs/pkgs/by-name/gl/glauth/package.nix
+++ b/nixpkgs/pkgs/by-name/gl/glauth/package.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "glauth";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "glauth";
     repo = "glauth";
     rev = "v${version}";
-    hash = "sha256-OkkiB1AGO7r7ehpnSJ+cB00crVpZ5Cwy4rAT55LUUdE=";
+    hash = "sha256-FOhtL8nIm5kuKRxFtkrDyUU2z1K22ZdHaes3GY0KmfQ=";
   };
 
   vendorHash = "sha256-MfauZRufl3kxr1fqatxTmiIvLJ+5JhbpSnbTHiujME8=";
@@ -28,10 +28,6 @@ buildGoModule rec {
   # Disable go workspaces to fix build.
   env.GOWORK = "off";
 
-  # Fix this build error:
-  #   main module (github.com/glauth/glauth/v2) does not contain package github.com/glauth/glauth/v2/vendored/toml
-  excludedPackages = [ "vendored/toml" ];
-
   # Based on ldflags in <glauth>/Makefile.
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/by-name/go/go-camo/package.nix b/nixpkgs/pkgs/by-name/go/go-camo/package.nix
index cae992068712..19523f903be0 100644
--- a/nixpkgs/pkgs/by-name/go/go-camo/package.nix
+++ b/nixpkgs/pkgs/by-name/go/go-camo/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-camo";
-  version = "2.4.8";
+  version = "2.4.9";
 
   src = fetchFromGitHub {
     owner = "cactus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Y2Zhr8MhIN13AYMq0t9QASfd2Mgp4tiFmrpc6VTIUq0=";
+    sha256 = "sha256-d2W7XI/4MKyn9PgIYUJKew/WWA9z5Ut78bsk6Z5Qfxk=";
   };
 
-  vendorHash = "sha256-O3JatOmQrNZRxKa9dTYQpVoPUIuFIbnEXpak3PXJquA=";
+  vendorHash = "sha256-BGQ+2i3HQCKOSUTl2+xaQqQQE7MCtmJ1IHL2ZRz5whk=";
 
   ldflags = [ "-s" "-w" "-X=main.ServerVersion=${version}" ];
 
diff --git a/nixpkgs/pkgs/by-name/go/go-critic/package.nix b/nixpkgs/pkgs/by-name/go/go-critic/package.nix
index 82299f5ae7a0..df2116150dd1 100644
--- a/nixpkgs/pkgs/by-name/go/go-critic/package.nix
+++ b/nixpkgs/pkgs/by-name/go/go-critic/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-critic";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "go-critic";
     repo = "go-critic";
     rev = "v${version}";
-    hash = "sha256-jL/z1GtHmEbS8vsIYG1jEZOxySXqU92WIq9p+GDTP8E=";
+    hash = "sha256-8dRgPhYedEPwK4puP8hJWhjub2NkOl3OWNRb43AH3xc=";
   };
 
-  vendorHash = "sha256-qQO4JWMU8jfc64CBPaMRYRbUsgLQZx9P5AKbSPyHnRE=";
+  vendorHash = "sha256-0Y9yMcgyRgXQUie7oj0bRy4+eGfQOa9QXux2AoRc6pw=";
 
   subPackages = [
     "cmd/gocritic"
diff --git a/nixpkgs/pkgs/by-name/go/go-judge/package.nix b/nixpkgs/pkgs/by-name/go/go-judge/package.nix
index aab0ab3d6358..dcc83f461090 100644
--- a/nixpkgs/pkgs/by-name/go/go-judge/package.nix
+++ b/nixpkgs/pkgs/by-name/go/go-judge/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-judge";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "criyle";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-iKSOD/jh7NgGUNeQxFqlZDcctUXBDC1Tjxsm0Q2iZ3I=";
+    hash = "sha256-yWO4LD8inFOZiyrwFhjl2FCkGePpLfXuLCTwBUUGal4=";
   };
 
-  vendorHash = "sha256-GVsRflqqt+PwVGWaNGMH4prKQ5pWqPRlsTBJZtC+7zo=";
+  vendorHash = "sha256-lMqZGrrMwNER8RKABheUH4GPy0q32FBTY3zmYHtssKo=";
 
   tags = [ "nomsgpack" ];
 
diff --git a/nixpkgs/pkgs/by-name/gp/gptscript/package.nix b/nixpkgs/pkgs/by-name/gp/gptscript/package.nix
new file mode 100644
index 000000000000..0cd7af6cb221
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/gp/gptscript/package.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  buildGo122Module,
+  fetchFromGitHub,
+}:
+buildGo122Module rec {
+  pname = "gptscript";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "gptscript-ai";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-zG75L10WvfkmjwW3ifBHaTkHNXqXvNO0PaXejCc2tls=";
+  };
+
+  vendorHash = "sha256-LV9uLLwdtLJTIxaBB1Jew92S0QjQsceyLEfSrDeDnR4=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.Version=${version}"
+    "-X main.Commit=${version}"
+  ];
+
+  # Requires network access
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://gptscript.ai";
+    changelog = "https://github.com/gptscript-ai/gptscript/releases/tag/v{version}";
+    description = "Natural Language Programming";
+    license = with licenses; [asl20];
+    maintainers = with maintainers; [jamiemagee];
+    mainProgram = "gptscript";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/gr/graphite-cli/package-lock.json b/nixpkgs/pkgs/by-name/gr/graphite-cli/package-lock.json
index 8f6a8fb32c5f..7ca424bbf432 100644
--- a/nixpkgs/pkgs/by-name/gr/graphite-cli/package-lock.json
+++ b/nixpkgs/pkgs/by-name/gr/graphite-cli/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@withgraphite/graphite-cli",
-  "version": "1.1.2",
+  "version": "1.1.5",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@withgraphite/graphite-cli",
-      "version": "1.1.2",
+      "version": "1.1.5",
       "license": "None",
       "dependencies": {
         "chalk": "^4.1.2",
@@ -90,9 +90,9 @@
       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
     },
     "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
       "engines": {
         "node": ">=6"
       }
diff --git a/nixpkgs/pkgs/by-name/gr/graphite-cli/package.nix b/nixpkgs/pkgs/by-name/gr/graphite-cli/package.nix
index 6c490d665028..54305d0ece48 100644
--- a/nixpkgs/pkgs/by-name/gr/graphite-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/gr/graphite-cli/package.nix
@@ -7,14 +7,14 @@
 
 buildNpmPackage rec {
   pname = "graphite-cli";
-  version = "1.1.2";
+  version = "1.1.5";
 
   src = fetchurl {
     url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
-    hash = "sha256-NNBI1S33jD6ZKbztZXSRtYwt3w0T4A5Bg2zxMWw74cY=";
+    hash = "sha256-/JnhUjrZq1iiXwqCSXZH250gu3yh6gJt6JjZRJ2OQd8=";
   };
 
-  npmDepsHash = "sha256-Nk0Aoyv4eEXZD4B9B/B6mJd/UDy8Kc/sHtQWXrLukSk=";
+  npmDepsHash = "sha256-oQLombXIZRyjnKA04xuDZoZf2NO/0/xFfuXXmp46OaI=";
 
   postPatch = ''
     ln -s ${./package-lock.json} package-lock.json
@@ -42,6 +42,6 @@ buildNpmPackage rec {
     homepage = "https://graphite.dev/docs/graphite-cli";
     license = lib.licenses.unfree; # no license specified
     mainProgram = "gt";
-    maintainers = with lib.maintainers; [ ];
+    maintainers = with lib.maintainers; [ diegs ];
   };
 }
diff --git a/nixpkgs/pkgs/by-name/ht/htcondor/package.nix b/nixpkgs/pkgs/by-name/ht/htcondor/package.nix
index f8dec4143667..4f400d1f009e 100644
--- a/nixpkgs/pkgs/by-name/ht/htcondor/package.nix
+++ b/nixpkgs/pkgs/by-name/ht/htcondor/package.nix
@@ -14,7 +14,7 @@
 , munge
 , voms
 , perl
-, scitoken-cpp
+, scitokens-cpp
 , openssl
 }:
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     munge
     voms
     perl
-    scitoken-cpp
+    scitokens-cpp
   ];
 
 
diff --git a/nixpkgs/pkgs/by-name/hy/hyprlang/package.nix b/nixpkgs/pkgs/by-name/hy/hyprlang/package.nix
index 83e9305f9802..118c38309ae5 100644
--- a/nixpkgs/pkgs/by-name/hy/hyprlang/package.nix
+++ b/nixpkgs/pkgs/by-name/hy/hyprlang/package.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "hyprlang";
-  version = "0.3.0";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "hyprwm";
     repo = "hyprlang";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-lm1Bq2AduKFYHdl/q0OLYOdYBTHnKyHGewwQa68q/Wc=";
+    hash = "sha256-9TT3xk++LI5/SPYgjYX34xZ4ebR93c1uerIq+SE/ues=";
   };
 
   nativeBuildInputs = [cmake];
diff --git a/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix b/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
index 70cce2b97630..985c7cc38b4c 100644
--- a/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
+++ b/nixpkgs/pkgs/by-name/im/immersed-vr/package.nix
@@ -4,12 +4,12 @@
 }:
 appimageTools.wrapType2 rec {
   pname = "immersed-vr";
-  version = "9.6";
+  version = "9.10";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://web.archive.org/web/20231011083250/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
-    hash = "sha256-iA0SQlPktETFXEqCbSoWV9NaWVahkPa6qO4Cfju0aBQ=";
+    url = "https://web.archive.org/web/20240210075929/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
+    hash = "sha256-Mx8UnV4fZSebj9ah650ZqsL/EIJpM6jl8tYmXJZiJpA=";
   };
 
   extraInstallCommands = ''
diff --git a/nixpkgs/pkgs/by-name/in/incus/package.nix b/nixpkgs/pkgs/by-name/in/incus/package.nix
index 8a10f6eef7fd..110bc41dce28 100644
--- a/nixpkgs/pkgs/by-name/in/incus/package.nix
+++ b/nixpkgs/pkgs/by-name/in/incus/package.nix
@@ -165,6 +165,7 @@ symlinkJoin {
 
   passthru = {
     inherit client unwrapped;
+    ui = callPackage ./ui.nix {};
 
     inherit (unwrapped) tests;
   };
diff --git a/nixpkgs/pkgs/by-name/in/incus/ui.nix b/nixpkgs/pkgs/by-name/in/incus/ui.nix
new file mode 100644
index 000000000000..2aefb2c640f9
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/in/incus/ui.nix
@@ -0,0 +1,26 @@
+{ lxd
+, fetchFromGitHub
+, git
+}:
+
+lxd.ui.overrideAttrs(prev: rec {
+  pname = "incus-ui";
+
+  zabbly = fetchFromGitHub {
+    owner = "zabbly";
+    repo = "incus";
+    rev = "8bbe23f42beedd845bd95069c06f4d0c85e450b6";
+    hash = "sha256-X0I8vrhvg5mLGAY8oEU/nr2pvDJ8ZqLUSY9WBqwmolE=";
+  };
+
+  nativeBuildInputs = prev.nativeBuildInputs ++ [
+    git
+  ];
+
+  patchPhase = ''
+    for p in $zabbly/patches/ui-canonical*; do
+      echo "applying patch $p"
+      git apply -p1 "$p"
+    done
+  '';
+})
diff --git a/nixpkgs/pkgs/by-name/in/invidtui/package.nix b/nixpkgs/pkgs/by-name/in/invidtui/package.nix
index 859b801ea1cd..378280bf95f3 100644
--- a/nixpkgs/pkgs/by-name/in/invidtui/package.nix
+++ b/nixpkgs/pkgs/by-name/in/invidtui/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "invidtui";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "darkhz";
     repo = "invidtui";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3F/JWdYjb3Wtd2eBkEmId3SCVapu2gCgLFowK59RXRc=";
+    hash = "sha256-/HsoV8HdMffD7dzRblSSBMv7kBPRpxUarM5WZoYVxvQ=";
   };
 
-  vendorHash = "sha256-rwKx3h0X7RfIZ9lE/4TJoK0BR6f/lPcLNFbQjUtq/Tk=";
+  vendorHash = "sha256-T/muFaQQp/joOCehNZQc5CWmyGakoRaGAsO2mTOODJA=";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/by-name/ja/jasper/package.nix b/nixpkgs/pkgs/by-name/ja/jasper/package.nix
index 47a8cf5b85a1..72a8a9aff709 100644
--- a/nixpkgs/pkgs/by-name/ja/jasper/package.nix
+++ b/nixpkgs/pkgs/by-name/ja/jasper/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "jasper";
-  version = "4.1.2";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "jasper-software";
     repo = "jasper";
     rev = "version-${finalAttrs.version}";
-    hash = "sha256-tTgoRLthNLqRO8fDrmGHVCB9QXpmPmTr9uqSFwkIK+s=";
+    hash = "sha256-aDeexQ+JmxRIjYAUH+x/J/Z847JasKWQNYYEpu78sHw=";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/nixpkgs/pkgs/by-name/js/jsoncons/package.nix b/nixpkgs/pkgs/by-name/js/jsoncons/package.nix
new file mode 100644
index 000000000000..57908ded4a16
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/js/jsoncons/package.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "jsoncons";
+  version = "0.173.4";
+
+  src = fetchFromGitHub {
+    owner = "danielaparker";
+    repo = "jsoncons";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-Mf3kvfYAcwNrwbvGyMP6PQmk5e5Mz7b0qCZ6yi95ksk=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "A C++, header-only library for constructing JSON and JSON-like data formats";
+    homepage = "https://danielaparker.github.io/jsoncons/";
+    changelog = "https://github.com/danielaparker/jsoncons/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+    license = licenses.boost;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.all;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/ka/kas/package.nix b/nixpkgs/pkgs/by-name/ka/kas/package.nix
index d2b062226794..f17b7bfed3b0 100644
--- a/nixpkgs/pkgs/by-name/ka/kas/package.nix
+++ b/nixpkgs/pkgs/by-name/ka/kas/package.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "kas";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "siemens";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EYz9V45b7fSKoI8w9X0LcSTojErpJHfzxcdE4I4qD2k=";
+    hash = "sha256-NjNPcCqmjFeydTgNdN8QRrFG5Mys2jL4I8TiznO2rSA=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml ];
diff --git a/nixpkgs/pkgs/by-name/ke/keep-sorted/package.nix b/nixpkgs/pkgs/by-name/ke/keep-sorted/package.nix
index 78a9e8522fbc..c103e77dd0fc 100644
--- a/nixpkgs/pkgs/by-name/ke/keep-sorted/package.nix
+++ b/nixpkgs/pkgs/by-name/ke/keep-sorted/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "keep-sorted";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "keep-sorted";
     rev = "v${version}";
-    hash = "sha256-qCR1JVDC/+NVz+CAY/2mMP8Sk71WDl2+Ig7QWwXTUrQ=";
+    hash = "sha256-wXR471Iuo+4oZUNa2MN4N5q0n7vEpYtoTaJHvdGIDHw=";
   };
 
   vendorHash = "sha256-tPTWWvr+/8wWUnQcI4Ycco2OEgA2mDQt15OGCk/ZjrQ=";
diff --git a/nixpkgs/pkgs/by-name/ki/killerbee/package.nix b/nixpkgs/pkgs/by-name/ki/killerbee/package.nix
new file mode 100644
index 000000000000..d483da652ff9
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ki/killerbee/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, libgcrypt
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "killerbee";
+  version = "3.0.0-beta.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "riverloopsec";
+    repo = "killerbee";
+    rev = "refs/tags/${version}";
+    hash = "sha256-WM0Z6sd8S71F8FfhhoUq3MSD/2uvRTY/FsBP7VGGtb0=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ];
+
+  buildInputs = with python3.pkgs; [
+    libgcrypt
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyserial
+    pyusb
+    rangeparser
+    scapy
+  ];
+
+  pythonImportsCheck = [
+    "killerbee"
+  ];
+
+  meta = with lib; {
+    description = "IEEE 802.15.4/ZigBee Security Research Toolkit";
+    homepage = "https://github.com/riverloopsec/killerbee";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ki/kiwitalk/package.nix b/nixpkgs/pkgs/by-name/ki/kiwitalk/package.nix
index 6acc0664a958..2a581feb2684 100644
--- a/nixpkgs/pkgs/by-name/ki/kiwitalk/package.nix
+++ b/nixpkgs/pkgs/by-name/ki/kiwitalk/package.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
       i686-linux = "sha256-/Q7VZahYhLdKVFB25CanROYxD2etQOcRg+4bXZUMqTc=";
       x86_64-darwin = "sha256-9biFAbFD7Bva7KPKztgCvcaoX8E6AlJBKkjlDQdP6Zw=";
       aarch64-darwin = "sha256-to5Y0R9tm9b7jUQAK3eBylLhpu+w5oDd63FbBCBAvd8=";
-    }.${stdenv.system} or (throw "Unsupported platform");
+    }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/nixpkgs/pkgs/by-name/kn/knossosnet/deps.nix b/nixpkgs/pkgs/by-name/kn/knossosnet/deps.nix
new file mode 100644
index 000000000000..233d43f5c0fe
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/kn/knossosnet/deps.nix
@@ -0,0 +1,115 @@
+# This file was automatically generated by passthru.fetch-deps.
+# Please dont edit it manually, your changes might get overwritten!
+
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Avalonia"; version = "11.0.5"; sha256 = "1l8vpw7dmkgll197i42r98ikkl0g08469wkl1kxkcv8f0allgah6"; })
+  (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; })
+  (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; })
+  (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.5"; sha256 = "0w1909yjg1s1h6zzxbfw1dazvlknpgk9v7d03ik7ihd14lxzr1i2"; })
+  (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.5"; sha256 = "14nr767zhxcqwis901sn5s9qala0wf2ip4pic3ncdvkhyhq6w9fs"; })
+  (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.5"; sha256 = "1zqp8whkvm95zxhjpwska7rhkbxjfkv2fz3821pn782931pn59ah"; })
+  (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.5"; sha256 = "1plr03dgq24gjlcx39qlbcg2ywh7in58yfkkq9snvnagh8yk3ifi"; })
+  (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.5"; sha256 = "0sn6c3mqvc62vhy8ssmz515wbcaq418qfrck67zysp2qzw5iyv9v"; })
+  (fetchNuGet { pname = "Avalonia.HtmlRenderer"; version = "11.0.0"; sha256 = "1glnc82dasxcajb84h41273cfaa5apxwfrh12bgd294hfzbza40c"; })
+  (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.5"; sha256 = "1n41g1z36sgvhfl7bdavc3j7ccr3qkbqjc4znimqazzyfifh0m99"; })
+  (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.5"; sha256 = "0a6a8lbpna3z5bcall7a953r3xjibcl90ic21gimwhipyp29sfn1"; })
+  (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.5"; sha256 = "008pqpim91i6mya0nfn3g9gclh0dw5mqmhi2fdalbh62sa8a18xc"; })
+  (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.5"; sha256 = "1zhg11c8iah06gkv6gk7vzs0q9lbx1whfma5p2s00k3kyhv9lcqi"; })
+  (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.5"; sha256 = "1i6xpihpw32i9mywzzhw0nyc2gkifmri6ylila21y8xb0jdazdyv"; })
+  (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.5"; sha256 = "03rbx4msnl8jvw1017wi88rxvgg8iz7idy7wajp3nzk9m0c4pilx"; })
+  (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.5"; sha256 = "1bixdr5yzd9spyjc4n2kf1bwg52q3p5akj9xsr25xp310j3kgyxf"; })
+  (fetchNuGet { pname = "CommunityToolkit.Mvvm"; version = "8.2.2"; sha256 = "01kkwhz3r7l9d70p6mcgpdc0f05dad0lv6dmcj4sq9ry9ic6pnmx"; })
+  (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
+  (fetchNuGet { pname = "ini-parser-netstandard"; version = "2.5.2"; sha256 = "14alsxh7ik07xl9xab8bdi108f4xhz8vcchxvxy1k5w3zf3gdml9"; })
+  (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "7.0.0"; sha256 = "196b13zkkq0fhfgigkhwcw1hhaj4dj5pc27z7d5niaizzx6ycwiw"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "7.0.0"; sha256 = "1bqd3pqn5dacgnkq0grc17cgb2i0w8z1raw12nwm3p3zhrfcvgxf"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.0"; sha256 = "1gn7d18i1wfy13vrwhmdv1rmsb4vrk26kqdld4cgvh77yigj90xs"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (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.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
+  (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.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.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.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (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 = "SharpCompress"; version = "0.33.0"; sha256 = "1j94hfjvkygpp97svv75jay0rmnx9ygg86d5syyahl9hayns4ig9"; })
+  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; sha256 = "0xs11zjw9ha68maw3l825kfwlrid43qwy0mswljxhpjh0y1k6k6b"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; sha256 = "0cg38xgddww1y93xrnbfn40sin63yl39j5zm7gm5pdgp5si0cf2n"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; sha256 = "1fp9h8c8k6sbsh48b69dc6461isd4dajq7yw5i7j6fhkas78q4zf"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.6"; sha256 = "02wpxwqwknhdhkl00in766samqfzi7r6jmhxs4d047v0fmygv1h8"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
+  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (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.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; })
+  (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.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.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (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.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
+  (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.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (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.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; sha256 = "0d99kcs7r9cp6gpyc7z230czkkyx4164x86dhy0mca73f2ykc2g2"; })
+]
diff --git a/nixpkgs/pkgs/by-name/kn/knossosnet/package.nix b/nixpkgs/pkgs/by-name/kn/knossosnet/package.nix
new file mode 100644
index 000000000000..19f45b93b7b9
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/kn/knossosnet/package.nix
@@ -0,0 +1,36 @@
+{
+  buildDotnetModule
+  , fetchFromGitHub
+  , fontconfig
+  , lib
+  , openal
+  , stdenv
+  , xorg
+}:
+
+buildDotnetModule rec {
+  pname = "knossosnet";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "KnossosNET";
+    repo = "Knossos.NET";
+    rev = "v${version}";
+    hash = "sha256-Wq4WeRf+ELTxZhQyQf6XAOPmbJwX06qQ5GxRnnK3lyI=";
+  };
+
+  patches = [ ./targetframework.patch ];
+
+  nugetDeps = ./deps.nix;
+  executables = [ "Knossos.NET" ];
+
+  runtimeDeps = [ fontconfig openal xorg.libX11 xorg.libICE xorg.libSM ];
+
+  meta = with lib; {
+    homepage = "https://github.com/KnossosNET/Knossos.NET";
+    description = "A multi-platform launcher for Freespace 2 Open";
+    license = licenses.gpl3Only;
+    mainProgram = "Knossos.NET";
+    maintainers = with maintainers; [ cdombroski ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/kn/knossosnet/targetframework.patch b/nixpkgs/pkgs/by-name/kn/knossosnet/targetframework.patch
new file mode 100644
index 000000000000..2802a18053c4
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/kn/knossosnet/targetframework.patch
@@ -0,0 +1,12 @@
+diff -Naur Knossos.NET-0.1.4/IonKiwi.lz4/IonKiwi.lz4.csproj Knossos.NET-0.1.4.new/IonKiwi.lz4/IonKiwi.lz4.csproj
+--- Knossos.NET-0.1.4/IonKiwi.lz4/IonKiwi.lz4.csproj	2023-10-18 15:17:20.000000000 -0400
++++ Knossos.NET-0.1.4.new/IonKiwi.lz4/IonKiwi.lz4.csproj	2024-01-03 17:39:56.809971086 -0500
+@@ -1,7 +1,7 @@
+ <Project Sdk="Microsoft.NET.Sdk">
+ 
+ 	<PropertyGroup>
+-		<TargetFrameworks>net60</TargetFrameworks>
++		<TargetFramework>net6.0</TargetFramework>
+ 		<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ 		<PackageId>IonKiwi.lz4.managed</PackageId>
+ 		<Version>1.0.7</Version>
diff --git a/nixpkgs/pkgs/by-name/ko/kokkos/package.nix b/nixpkgs/pkgs/by-name/ko/kokkos/package.nix
index 087833d406ee..09dc6fc4edd0 100644
--- a/nixpkgs/pkgs/by-name/ko/kokkos/package.nix
+++ b/nixpkgs/pkgs/by-name/ko/kokkos/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "kokkos";
-  version = "4.2.00";
+  version = "4.2.01";
 
   src = fetchFromGitHub {
     owner = "kokkos";
     repo = "kokkos";
     rev = finalAttrs.version;
-    hash = "sha256-tclPqFxXK5x9P0RD7R/fcab8WPr8Wphq5rzrZbij/ds=";
+    hash = "sha256-d8GB7+hHqpD5KPeYmiXmT5+6W64j3bbTs2hoFYJnfa8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/li/libewf-legacy/package.nix b/nixpkgs/pkgs/by-name/li/libewf-legacy/package.nix
index 4cfbceb0089c..f6505afdacec 100644
--- a/nixpkgs/pkgs/by-name/li/libewf-legacy/package.nix
+++ b/nixpkgs/pkgs/by-name/li/libewf-legacy/package.nix
@@ -9,12 +9,12 @@
 , bzip2
 }:
 
-stdenv.mkDerivation rec {
-  pname = "libewf-ewf";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libewf-legacy";
   version = "20140814";
 
   src = fetchurl {
-    url = "https://github.com/libyal/libewf-legacy/releases/download/${version}/libewf-${version}.tar.gz";
+    url = "https://github.com/libyal/libewf-legacy/releases/download/${finalAttrs.version}/libewf-${finalAttrs.version}.tar.gz";
     hash = "sha256-OM3QXwnaIDeo66UNjzmu6to53SxgCMn/rE9VTPlX5BQ=";
   };
 
@@ -29,4 +29,4 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ d3vil0p3r ];
     platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/nixpkgs/pkgs/by-name/li/libnghttp2_asio/package.nix b/nixpkgs/pkgs/by-name/li/libnghttp2_asio/package.nix
new file mode 100644
index 000000000000..7d286b2ffcb5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/li/libnghttp2_asio/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, nghttp2
+, openssl
+, boost
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libnghttp2_asio";
+  version = "unstable-2022-08-11";
+
+  outputs = [ "out" "dev" "doc" ];
+
+  src = fetchFromGitHub {
+    owner = "nghttp2";
+    repo = "nghttp2-asio";
+    rev = "e877868abe06a83ed0a6ac6e245c07f6f20866b5";
+    sha256 = "sha256-XQXRHLz0kvaIQq1nbqkJnETHR51FXMB1P9F/hQeZh6A=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    boost
+    nghttp2
+    openssl
+  ];
+
+  meta = with lib; {
+    description = "High level HTTP/2 C++ library";
+    longDescription = ''
+      libnghttp2_asio is C++ library built on top of libnghttp2
+      and provides high level abstraction API to build HTTP/2
+      applications. It depends on the Boost::ASIO library and
+      OpenSSL. libnghttp2_asio provides both client and server APIs.
+    '';
+    homepage = "https://github.com/nghttp2/nghttp2-asio";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ izorkin ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/li/libui-ng/package.nix b/nixpkgs/pkgs/by-name/li/libui-ng/package.nix
index c2c2f6b18ea2..3652bb90800b 100644
--- a/nixpkgs/pkgs/by-name/li/libui-ng/package.nix
+++ b/nixpkgs/pkgs/by-name/li/libui-ng/package.nix
@@ -7,17 +7,18 @@
 , meson
 , ninja
 , pkg-config
+, unstableGitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "libui-ng";
-  version = "unstable-2023-12-19";
+  version = "unstable-2024-02-05";
 
   src = fetchFromGitHub {
     owner = "libui-ng";
     repo = "libui-ng";
-    rev = "8de4a5c8336f82310df1c6dad51cb732113ea114";
-    hash = "sha256-ZMt2pEHwxXxLWtK8Rm7hky9Kxq5ZIB0olBLf1d9wVfc=";
+    rev = "4d46de31eafad84c88b939356bcd64e6c5ee3821";
+    hash = "sha256-Yb8VdJe75uBzRnsfTOVxUXstZmu6dJ9nBuOrf86KO5s=";
   };
 
   postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
@@ -46,6 +47,8 @@ stdenv.mkDerivation rec {
     (lib.mesonBool "examples" (!stdenv.isDarwin))
   ];
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with lib; {
     description = "A portable GUI library for C";
     homepage = "https://github.com/libui-ng/libui-ng";
diff --git a/nixpkgs/pkgs/by-name/ll/llama-cpp/package.nix b/nixpkgs/pkgs/by-name/ll/llama-cpp/package.nix
index 3732947af710..92c626af246a 100644
--- a/nixpkgs/pkgs/by-name/ll/llama-cpp/package.nix
+++ b/nixpkgs/pkgs/by-name/ll/llama-cpp/package.nix
@@ -31,13 +31,13 @@ let
 in
 effectiveStdenv.mkDerivation (finalAttrs: {
   pname = "llama-cpp";
-  version = "2105";
+  version = "2167";
 
   src = fetchFromGitHub {
     owner = "ggerganov";
     repo = "llama.cpp";
     rev = "refs/tags/b${finalAttrs.version}";
-    hash = "sha256-Xq/P7EN6dz2oW++bXhIMY7AhWgVk6hmuf4PmEaoVgMM=";
+    hash = "sha256-b6q4yqhEO2UMmaUy06+3zDVXwwkYgRRb55PP57D7UVQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/by-name/lo/louvre/package.nix b/nixpkgs/pkgs/by-name/lo/louvre/package.nix
index a6445fad4347..2f4ffd9ad7c8 100644
--- a/nixpkgs/pkgs/by-name/lo/louvre/package.nix
+++ b/nixpkgs/pkgs/by-name/lo/louvre/package.nix
@@ -22,9 +22,9 @@
 }:
 stdenv.mkDerivation (self: {
   pname = "louvre";
-  version = "1.1.0-1";
+  version = "1.2.0-2";
   rev = "v${self.version}";
-  hash = "sha256-HwvX0ykl2+4MBcIixmEknFtsB0QC4w1QDzQz1589bl0=";
+  hash = "sha256-0l465kcGzfxnoTkfMCDFyU0Z4mFTjUHtKCN23ONQNoA=";
 
   src = fetchFromGitHub {
     inherit (self) rev hash;
diff --git a/nixpkgs/pkgs/by-name/lu/lunar-client/package.nix b/nixpkgs/pkgs/by-name/lu/lunar-client/package.nix
index c01e74dd9a80..3b8102c2d9ee 100644
--- a/nixpkgs/pkgs/by-name/lu/lunar-client/package.nix
+++ b/nixpkgs/pkgs/by-name/lu/lunar-client/package.nix
@@ -6,11 +6,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "lunar-client";
-  version = "3.2.1";
+  version = "3.2.3";
 
   src = fetchurl {
     url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
-    hash = "sha512-ZW+SFIZ5+xxgesaZ7ZQbUnv7H5U92SZdfAU7GhJR1H0mhkrIb5Go6GWrIXaWYZLrmOlD98LSLihYi7SemJp+Yg==";
+    hash = "sha512-2zuVURKDw+Z/8I1AO8G5KPVOlPIZC/Mbt9jK5gn9CV1zmRiWKL+m1/Bw9/h7fanBdm0fhfLklplmlTTabPm7dg==";
   };
 
   extraInstallCommands =
diff --git a/nixpkgs/pkgs/by-name/ma/marcel/package.nix b/nixpkgs/pkgs/by-name/ma/marcel/package.nix
new file mode 100644
index 000000000000..d2829f9e241f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ma/marcel/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, bash
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "marcel";
+  version = "0.22.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "geophile";
+    repo = "marcel";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-CiAIY4qXv5V2VOsi+vat7OvFcmeFpIrmHCfqlY+JRXc=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    setuptools
+  ];
+
+  buildInputs = [
+    bash
+  ];
+
+  pythonPath = with python3Packages; [
+    dill
+    psutil
+  ];
+
+  # The tests use sudo and try to read/write $HOME/.local/share/marcel and /tmp
+  doCheck = false;
+
+  postFixup = ''
+    wrapProgram $out/bin/marcel \
+      --prefix PATH : "$program_PATH:${lib.getBin bash}/bin" \
+      --prefix PYTHONPATH : "$program_PYTHONPATH"
+    '';
+
+  meta = with lib; {
+    description = "A modern shell";
+    homepage = "https://github.com/geophile/marcel";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ kud ];
+    mainProgram = "marcel";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/me/menulibre/package.nix b/nixpkgs/pkgs/by-name/me/menulibre/package.nix
new file mode 100644
index 000000000000..5abe3a2bb47a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/me/menulibre/package.nix
@@ -0,0 +1,61 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, gnome-menus
+, gtk3
+, intltool
+, gobject-introspection
+, wrapGAppsHook
+, testers
+, menulibre
+}:
+
+python3Packages.buildPythonApplication rec {
+  name = "menulibre";
+  version = "2.2.3";
+
+  src = fetchFromGitHub {
+    owner = "bluesabre";
+    repo = "menulibre";
+    rev = "menulibre-${version}";
+    hash = "sha256-E0ukq3q4YaakOI2mDs3dh0ncZX/dqspCA+97r3JwWyA=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+    gnome-menus
+    psutil
+    distutils-extra
+  ];
+
+  nativeBuildInputs = [
+    gtk3
+    intltool
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail 'data_dir =' "data_dir = '$out/share/menulibre' #" \
+      --replace-fail 'update_desktop_file(desktop_file, script_path)' ""
+  '';
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = menulibre;
+    command = "HOME=$TMPDIR menulibre --version | cut -d' ' -f2";
+  };
+
+  meta = with lib; {
+    description = "An advanced menu editor with an easy-to-use interface";
+    homepage = "https://bluesabre.org/projects/menulibre";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ lelgenio ];
+    mainProgram = "menulibre";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/mi/miru/package.nix b/nixpkgs/pkgs/by-name/mi/miru/package.nix
new file mode 100644
index 000000000000..467b5a5260d9
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/mi/miru/package.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchurl
+, appimageTools
+}:
+
+appimageTools.wrapType2 rec {
+  pname = "miru";
+  version = "4.5.10";
+
+  src = fetchurl {
+    url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage";
+    name = "${pname}-${version}.AppImage";
+    sha256 = "sha256-ptaviLwr0X/MuF517YLW7i9+rtnktcpgHVqMHn+tXWg=";
+  };
+
+  extraInstallCommands =
+    let
+      contents = appimageTools.extractType2 { inherit pname version src; };
+    in
+    ''
+      mkdir -p "$out/share/applications"
+      mkdir -p "$out/share/lib/miru"
+      cp -r ${contents}/{locales,resources} "$out/share/lib/miru"
+      cp -r ${contents}/usr/* "$out"
+      cp "${contents}/${pname}.desktop" "$out/share/applications/"
+      mv "$out/bin/${pname}-${version}" "$out/bin/${pname}"
+      substituteInPlace $out/share/applications/${pname}.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
+    '';
+
+  meta = with lib; {
+    description = "Stream anime torrents, real-time with no waiting for downloads";
+    homepage = "https://github.com/ThaUnknown/miru#readme";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.d4ilyrun ];
+    mainProgram = "miru";
+
+    platforms = [ "x86_64-linux" ];
+    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+
+    longDescription = ''
+      A pure JS BitTorrent streaming environment, with a built-in list manager.
+      Imagine qBit + Taiga + MPV, all in a single package, but streamed real-time.
+      Completely ad free with no tracking/data collection.
+
+      This app is meant to feel look, work and perform like a streaming website/app,
+      while providing all the advantages of torrenting, like file downloads,
+      higher download speeds, better video quality and quicker releases.
+
+      Unlike qBit's sequential, seeking into undownloaded data will prioritise downloading that data,
+      instead of flat out closing MPV.
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/mo/moneydance/package.nix b/nixpkgs/pkgs/by-name/mo/moneydance/package.nix
new file mode 100644
index 000000000000..5222684f706b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/mo/moneydance/package.nix
@@ -0,0 +1,52 @@
+{ lib, stdenv, fetchzip, makeWrapper, openjdk21, openjfx21, jvmFlags ? [ ] }:
+let jdk = openjdk21.override { enableJavaFX = true; };
+in stdenv.mkDerivation (finalAttrs: {
+  pname = "moneydance";
+  version = "2023.3_5064";
+
+  src = fetchzip {
+    url = "https://infinitekind.com/stabledl/${finalAttrs.version}/moneydance-linux.tar.gz";
+    hash = "sha256-jHr1V/gV1seenw2Q0/G405lTiabEYEsOS8p/XyByrtM=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk openjfx21 ];
+
+  # Note the double escaping in the call to makeWrapper. The escapeShellArgs
+  # call quotes each element of the flags list as a word[1] and returns a
+  # space-separated result; the escapeShellArg call quotes that result as a
+  # single word to pass to --add-flags. The --add-flags implementation[2]
+  # loops over the words in its argument.
+  #
+  # 1. https://www.gnu.org/software/bash/manual/html_node/Word-Splitting.html
+  # 2. https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/setup-hooks/make-wrapper.sh
+  installPhase = let
+    finalJvmFlags = [
+      "-client"
+      "--add-modules"
+      "javafx.swing,javafx.controls,javafx.graphics"
+      "-classpath"
+      "${placeholder "out"}/libexec/*"
+    ] ++ jvmFlags ++ [ "Moneydance" ];
+  in ''
+    runHook preInstall
+
+    mkdir -p $out/libexec $out/bin
+    cp -p $src/lib/* $out/libexec/
+    makeWrapper ${jdk}/bin/java $out/bin/moneydance \
+      --add-flags ${lib.escapeShellArg (lib.escapeShellArgs finalJvmFlags)}
+
+    runHook postInstall
+  '';
+
+  passthru = { inherit jdk; };
+
+  meta = {
+    homepage = "https://infinitekind.com/moneydance";
+    description = "An easy to use and full-featured personal finance app that doesn't compromise your privacy";
+    sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
+    license = lib.licenses.unfree;
+    platforms = jdk.meta.platforms;
+    maintainers = [ lib.maintainers.lucasbergman ];
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/mo/mountpoint-s3/package.nix b/nixpkgs/pkgs/by-name/mo/mountpoint-s3/package.nix
index 0caa5a4b4e50..194cf2249e52 100644
--- a/nixpkgs/pkgs/by-name/mo/mountpoint-s3/package.nix
+++ b/nixpkgs/pkgs/by-name/mo/mountpoint-s3/package.nix
@@ -8,17 +8,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mountpoint-s3";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "mountpoint-s3";
     rev = "v${version}";
-    hash = "sha256-7anWK7vg6u7Sz4eV+X3QqeLj6y11iEmsi3iIlnEI79w=";
+    hash = "sha256-V9d3rAb1rbso69RUMgwZdqfchgcDUlFU2LFjCk59uew=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-qqPzf56KqVsmey353GpeJ6xdVLnGfjh/KlErWKkB6JU=";
+  cargoHash = "sha256-9cdz1G4mKyg4TfsL+laoB6+6rqEgk8A3VkTjejETAKo=";
 
   # thread 'main' panicked at cargo-auditable/src/collect_audit_data.rs:77:9:
   # cargo metadata failure: error: none of the selected packages contains these features: libfuse3
diff --git a/nixpkgs/pkgs/by-name/mo/movim/package.nix b/nixpkgs/pkgs/by-name/mo/movim/package.nix
new file mode 100644
index 000000000000..985a7808b644
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/mo/movim/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, php
+, withPgsql ? true # “strongly recommended” according to docs
+, withMysql ? false
+}:
+
+php.buildComposerProject (finalAttrs: {
+  pname = "movim";
+  version = "0.23";
+
+  src = fetchFromGitHub {
+    owner = "movim";
+    repo = "movim";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-9MBe2IRYxvUuCc5m7ajvIlBU7YVm4A3RABlOOIjpKoM=";
+  };
+
+  php = php.buildEnv {
+    extensions = ({ all, enabled }:
+      enabled
+      ++ (with all; [ curl dom gd imagick mbstring ])
+      ++ lib.optional withPgsql all.pgsql
+      ++ lib.optional withMysql all.mysqli
+    );
+  };
+
+  # no listed license
+  # pinned commonmark
+  composerStrictValidation = false;
+
+  vendorHash = "sha256-PBoJbVuF0Qy7nNlL4yx446ivlZpPYNIai78yC0wWkCM=";
+
+  meta = {
+    description = "a federated blogging & chat platform that acts as a web front end for the XMPP protocol";
+    homepage = "https://movim.eu";
+    license = lib.licenses.agpl3;
+    maintainers = with lib.maintainers; [ toastal ];
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/mq/mqttx/package.nix b/nixpkgs/pkgs/by-name/mq/mqttx/package.nix
index ac3758584662..f2c22d54ade8 100644
--- a/nixpkgs/pkgs/by-name/mq/mqttx/package.nix
+++ b/nixpkgs/pkgs/by-name/mq/mqttx/package.nix
@@ -7,17 +7,17 @@
 
 let
   pname = "mqttx";
-  version = "1.9.8";
+  version = "1.9.9";
 
   suffixedUrl = suffix: "https://github.com/emqx/MQTTX/releases/download/v${version}/MQTTX-${version}${suffix}.AppImage";
   sources = {
     "aarch64-linux" = fetchurl {
       url = suffixedUrl "-arm64";
-      hash = "sha256-pdR9LwWgFdO0Dtn7ByyYKpLrfoBnl75TzQ31aIAJ/gs=";
+      hash = "sha256-mCCRvLS6diKoKYZNUMsyiWyFWmyYYB0pAxNT0yriJHI=";
     };
     "x86_64-linux" = fetchurl {
       url = suffixedUrl "";
-      hash = "sha256-XHAroiFuUcK0aUleNDskI1bfVX7HfTvIvSup9gKJj1w=";
+      hash = "sha256-InGfGiT3c5M8ueFZl5/hFmYRPeXnwSCUPhAqmz0jsU8=";
     };
   };
 
diff --git a/nixpkgs/pkgs/by-name/my/myrescue/0001-darwin-build-fixes.patch b/nixpkgs/pkgs/by-name/my/myrescue/0001-darwin-build-fixes.patch
new file mode 100644
index 000000000000..6dee89ab8f80
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/my/myrescue/0001-darwin-build-fixes.patch
@@ -0,0 +1,79 @@
+From c8f75fec1e558d1f6d5bbcdd89ac14b10fa370de Mon Sep 17 00:00:00 2001
+From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
+Date: Sun, 18 Feb 2024 09:08:12 +0000
+Subject: [PATCH] darwin build fixes
+
+---
+ compat.h              | 9 +++++++++
+ myrescue-bitmap2ppm.c | 1 +
+ myrescue-stat.c       | 1 +
+ myrescue.c            | 5 +++++
+ 4 files changed, 16 insertions(+)
+ create mode 100644 src/compat.h
+
+diff --git a/compat.h b/compat.h
+new file mode 100644
+index 0000000..99b7239
+--- /dev/null
++++ b/compat.h
+@@ -0,0 +1,9 @@
++#pragma once
++
++#ifdef __APPLE__
++#include <unistd.h>
++#include <fcntl.h>
++_Static_assert(sizeof(off_t) == 8, "off_t must be 8 bytes");
++#define lseek64 lseek
++#define open64 open
++#endif
+diff --git a/myrescue-bitmap2ppm.c b/myrescue-bitmap2ppm.c
+index 68ecc29..eb2dd9e 100644
+--- a/myrescue-bitmap2ppm.c
++++ b/myrescue-bitmap2ppm.c
+@@ -25,6 +25,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include "compat.h"
+ 
+ int main(int argc, char** argv)
+ {
+diff --git a/myrescue-stat.c b/myrescue-stat.c
+index c7a115f..264bd55 100644
+--- a/myrescue-stat.c
++++ b/myrescue-stat.c
+@@ -25,6 +25,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include "compat.h"
+ 
+ #define BUFFER_SIZE 4096
+ 
+diff --git a/myrescue.c b/myrescue.c
+index 0b119c5..f9b052c 100644
+--- a/myrescue.c
++++ b/myrescue.c
+@@ -21,7 +21,11 @@
+ #define __USE_LARGEFILE64   1
+ #define _LARGEFILE_SOURCE   1
+ #define _LARGEFILE64_SOURCE 1
++#ifdef __linux__
+ #define HAVE_USBRESET       1
++#else
++#define HAVE_USBRESET       0
++#endif
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -37,6 +41,7 @@
+ #include <signal.h>
+ 
+ #include "permute.h"
++#include "compat.h"
+ 
+ #define LONG_TIME 3
+ #define SLEEP_AFTER_USBRESET 5
+-- 
+2.43.0
+
diff --git a/nixpkgs/pkgs/by-name/my/myrescue/package.nix b/nixpkgs/pkgs/by-name/my/myrescue/package.nix
new file mode 100644
index 000000000000..1f47499c55bb
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/my/myrescue/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchurl
+, installShellFiles
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "myrescue";
+  version = "0.9.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/myrescue/myrescue/myrescue-${finalAttrs.version}/myrescue-${finalAttrs.version}.tar.gz";
+    hash = "sha256-tO9gkDpEtmySatzV2Ktw3eq5SybCUGAUmKXiSxnkwdc=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  sourceRoot = "./src";
+
+  patches = [
+    ./0001-darwin-build-fixes.patch
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 myrescue -t $out/bin
+    installManPage ../doc/myrescue.1
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Hard disk recovery tool that reads undamaged regions first";
+    mainProgram = "myrescue";
+    homepage = "https://myrescue.sourceforge.net";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/my/mystmd/package.nix b/nixpkgs/pkgs/by-name/my/mystmd/package.nix
index f2270a7c96b1..0bcdc2b22679 100644
--- a/nixpkgs/pkgs/by-name/my/mystmd/package.nix
+++ b/nixpkgs/pkgs/by-name/my/mystmd/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "mystmd";
-  version = "1.1.38";
+  version = "1.1.42";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
     repo = "mystmd";
     rev = "mystmd@${version}";
-    hash = "sha256-kshYS4mWqlWpF4pSetk6mpOn0/XCUF13M5qbZD/pNxQ=";
+    hash = "sha256-oVdZ2U1h1BFjo82IDFFHlQHR/V/GNLx4qWtSLhWm3ck=";
   };
 
-  npmDepsHash = "sha256-+aqS5khw/fDKOGAvOVFopcwoZAsgmmUQzOljZSUlArA=";
+  npmDepsHash = "sha256-ucw9ayyIocF/AKkXrzvBDaQ5Mv2edQdiYbX+G3bcHrs=";
 
   dontNpmInstall = true;
 
diff --git a/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix b/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix
index 08657bde7297..2de1a84b4f30 100644
--- a/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "namespace-cli";
-  version = "0.0.334";
+  version = "0.0.340";
 
   src = fetchFromGitHub {
     owner = "namespacelabs";
     repo = "foundation";
     rev = "v${version}";
-    hash = "sha256-gFh4LF++UB5JIVHVaZNDOhQoowf6xKow3ULrJt8CWTw=";
+    hash = "sha256-EzBkM4CCPaKg0wSnfU6U6cC83an8+VwH38dEspTJqSw=";
   };
 
-  vendorHash = "sha256-wurZp8cKyayZuTuUwonYZmUHp6OJ5I1RJWtELNyu2pc=";
+  vendorHash = "sha256-8VO+VKd6vsCzWeU1Bh33TvAmpiyCIEJbZ2HebpuwU5g=";
 
   subPackages = ["cmd/nsc" "cmd/ns" "cmd/docker-credential-nsc"];
 
diff --git a/nixpkgs/pkgs/by-name/nb/nbtscan/package.nix b/nixpkgs/pkgs/by-name/nb/nbtscan/package.nix
new file mode 100644
index 000000000000..27194abcf5ce
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/nb/nbtscan/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation {
+  pname = "nbtscan";
+  version = "1.7.2-unstable-2022-10-29";
+
+  src = fetchFromGitHub {
+    owner = "resurrecting-open-source-projects";
+    repo = "nbtscan";
+    rev = "e09e22a2a322ba74bb0b3cd596933fe2e31f4b2b";
+    hash = "sha256-+AOubF6eZ1Zvk5n8mGl9TxEicBpS4kYThA4MrEaGjAs=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "Scan networks searching for NetBIOS information";
+    homepage = "https://github.com/resurrecting-open-source-projects/nbtscan";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ne/netproxrc/package.nix b/nixpkgs/pkgs/by-name/ne/netproxrc/package.nix
new file mode 100644
index 000000000000..4f3de9cc073f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ne/netproxrc/package.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "netproxrc";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "timbertson";
+    repo = "netproxrc";
+    rev = "version-${version}";
+    hash = "sha256-LyHFaT5kej1hy5z28XP+bOSCEj5DHqwMRkvrv/5inQU=";
+  };
+
+  vendorHash = "sha256-LWNn5qp+Z/M9xTtOZ5RDHq1QEFK/Y2XgBi7H5S7Z7XE=";
+
+  meta = with lib; {
+    description = "A HTTP proxy injecting credentials from a .netrc file";
+    homepage = "https://github.com/timbertson/netproxrc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ timbertson ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ni/niri/Cargo.lock b/nixpkgs/pkgs/by-name/ni/niri/Cargo.lock
new file mode 100644
index 000000000000..bc8014e2499a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ni/niri/Cargo.lock
@@ -0,0 +1,3986 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+dependencies = [
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-activity"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289"
+dependencies = [
+ "android-properties",
+ "bitflags 2.4.2",
+ "cc",
+ "cesu8",
+ "jni",
+ "jni-sys",
+ "libc",
+ "log",
+ "ndk",
+ "ndk-context",
+ "ndk-sys",
+ "num_enum",
+ "thiserror",
+]
+
+[[package]]
+name = "android-properties"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
+
+[[package]]
+name = "anstream"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+
+[[package]]
+name = "appendlist"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e149dc73cd30538307e7ffa2acd3d2221148eaeed4871f246657b1c3eaa1cbd2"
+
+[[package]]
+name = "approx"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
+
+[[package]]
+name = "async-broadcast"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
+dependencies = [
+ "event-listener 2.5.3",
+ "futures-core",
+]
+
+[[package]]
+name = "async-channel"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 4.0.3",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+dependencies = [
+ "async-lock 3.3.0",
+ "async-task",
+ "concurrent-queue",
+ "fastrand 2.0.1",
+ "futures-lite 2.2.0",
+ "slab",
+]
+
+[[package]]
+name = "async-fs"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
+dependencies = [
+ "async-lock 2.8.0",
+ "autocfg",
+ "blocking",
+ "futures-lite 1.13.0",
+]
+
+[[package]]
+name = "async-io"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
+dependencies = [
+ "async-lock 2.8.0",
+ "autocfg",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-lite 1.13.0",
+ "log",
+ "parking",
+ "polling 2.8.0",
+ "rustix 0.37.27",
+ "slab",
+ "socket2",
+ "waker-fn",
+]
+
+[[package]]
+name = "async-io"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "parking",
+ "polling 3.3.2",
+ "rustix 0.38.31",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+dependencies = [
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-process"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
+dependencies = [
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
+ "async-signal",
+ "blocking",
+ "cfg-if",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.31",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "async-recursion"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+dependencies = [
+ "async-io 2.3.1",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix 0.38.31",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "async-task"
+version = "4.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bindgen"
+version = "0.66.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7"
+dependencies = [
+ "bitflags 2.4.2",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+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 = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "block"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
+dependencies = [
+ "objc-sys",
+]
+
+[[package]]
+name = "block2"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
+dependencies = [
+ "block-sys",
+ "objc2",
+]
+
+[[package]]
+name = "blocking"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+dependencies = [
+ "async-channel",
+ "async-lock 3.3.0",
+ "async-task",
+ "fastrand 2.0.1",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "piper",
+ "tracing",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cairo-rs"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+dependencies = [
+ "bitflags 2.4.2",
+ "cairo-sys-rs",
+ "glib",
+ "libc",
+ "once_cell",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.18.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "calloop"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
+dependencies = [
+ "async-task",
+ "bitflags 2.4.2",
+ "futures-io",
+ "log",
+ "polling 3.3.2",
+ "rustix 0.38.31",
+ "slab",
+ "thiserror",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix 0.38.31",
+ "wayland-backend",
+ "wayland-client",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[package]]
+name = "cesu8"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-expr"
+version = "0.15.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "cgmath"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a98d30140e3296250832bbaaff83b27dcd6fa3cc70fb6f1f3e5c9c0023b5317"
+dependencies = [
+ "approx",
+ "num-traits",
+]
+
+[[package]]
+name = "chumsky"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9"
+dependencies = [
+ "hashbrown",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "combine"
+version = "4.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "convert_case"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "cookie-factory"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b"
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "core-graphics"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
+ "foreign-types",
+ "libc",
+]
+
+[[package]]
+name = "core-graphics-types"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "libc",
+]
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "directories"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "dispatch"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+
+[[package]]
+name = "dlib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
+dependencies = [
+ "libloading",
+]
+
+[[package]]
+name = "downcast-rs"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+
+[[package]]
+name = "drm"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
+dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "drm-ffi",
+ "drm-fourcc",
+ "rustix 0.38.31",
+]
+
+[[package]]
+name = "drm-ffi"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
+dependencies = [
+ "drm-sys",
+ "rustix 0.38.31",
+]
+
+[[package]]
+name = "drm-fourcc"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
+
+[[package]]
+name = "drm-sys"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
+dependencies = [
+ "libc",
+ "linux-raw-sys 0.6.4",
+]
+
+[[package]]
+name = "edid-rs"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab5fa33485cd85ac354df485819a63360fefa312fe04cffe65e6f175be1522c"
+
+[[package]]
+name = "enumflags2"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
+dependencies = [
+ "enumflags2_derive",
+ "serde",
+]
+
+[[package]]
+name = "enumflags2_derive"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "event-listener"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+dependencies = [
+ "fastrand 1.9.0",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "gbm"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65dffaf38d96aa22cb748ccd9b1ffe624931e899f54c0225815ef7ac757a409f"
+dependencies = [
+ "bitflags 1.3.2",
+ "drm",
+ "drm-fourcc",
+ "gbm-sys",
+ "libc",
+ "wayland-backend",
+ "wayland-server",
+]
+
+[[package]]
+name = "gbm-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fd2d6bf7c0143b38beece05f9a5c4c851a49a8434f62bf58ff28da92b0ddc58"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "generator"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
+dependencies = [
+ "cc",
+ "libc",
+ "log",
+ "rustversion",
+ "windows 0.48.0",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "gethostname"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+dependencies = [
+ "libc",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gio"
+version = "0.18.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-util",
+ "gio-sys",
+ "glib",
+ "libc",
+ "once_cell",
+ "pin-project-lite",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "gio-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+ "winapi",
+]
+
+[[package]]
+name = "git-version"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad568aa3db0fcbc81f2f116137f263d7304f512a1209b35b85150d3ef88ad19"
+dependencies = [
+ "git-version-macro",
+]
+
+[[package]]
+name = "git-version-macro"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "gl_generator"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
+dependencies = [
+ "khronos_api",
+ "log",
+ "xml-rs",
+]
+
+[[package]]
+name = "glib"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+dependencies = [
+ "bitflags 2.4.2",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys",
+ "glib-macros",
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "memchr",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+dependencies = [
+ "heck",
+ "proc-macro-crate 2.0.2",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "glib-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+dependencies = [
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "gobject-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+dependencies = [
+ "glib-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "input"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7911ce3db9c10c5ab4a35c49af778a5f9a827bd0f7371d9be56175d8dd2740d0"
+dependencies = [
+ "bitflags 2.4.2",
+ "input-sys",
+ "io-lifetimes 1.0.11",
+ "libc",
+ "udev",
+]
+
+[[package]]
+name = "input-sys"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd4f5b4d1c00331c5245163aacfe5f20be75b564c7112d45893d4ae038119eb0"
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c"
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "jni"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "jni-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
+
+[[package]]
+name = "jobserver"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "keyframe"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60708bf7981518d09095d6f5673ce5cf6a64f1e0d9708b554f670e6d9d2bd9a9"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "khronos_api"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
+
+[[package]]
+name = "knuffel"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04bee6ddc6071011314b1ce4f7705fef6c009401dba4fd22cb0009db6a177413"
+dependencies = [
+ "base64",
+ "chumsky",
+ "knuffel-derive",
+ "miette",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "knuffel-derive"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91977f56c49cfb961e3d840e2e7c6e4a56bde7283898cf606861f1421348283d"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libseat"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54a0adf8d8607a73a5b74cbe4132f57cb349e4bf860103cd089461bbcbc9907e"
+dependencies = [
+ "errno",
+ "libseat-sys",
+ "log",
+]
+
+[[package]]
+name = "libseat-sys"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3671cb5e03871f1d6bf0b3b5daa9275549e348fa6359e0f9adb910ca163d4c34"
+dependencies = [
+ "pkg-config",
+]
+
+[[package]]
+name = "libspa"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0434617020ddca18b86067912970c55410ca654cdafd775480322f50b857a8c4"
+dependencies = [
+ "bitflags 2.4.2",
+ "cc",
+ "convert_case",
+ "cookie-factory",
+ "libc",
+ "libspa-sys",
+ "nix",
+ "nom",
+ "system-deps",
+]
+
+[[package]]
+name = "libspa-sys"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e70ca3f3e70f858ef363046d06178c427b4e0b63d210c95fd87d752679d345"
+dependencies = [
+ "bindgen",
+ "cc",
+ "system-deps",
+]
+
+[[package]]
+name = "libudev-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
+dependencies = [
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "logind-zbus"
+version = "3.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c07a2542f6e91ea92780158654852190edb2ba0b232d9d00d649d0c691cb7eb3"
+dependencies = [
+ "serde",
+ "zbus",
+]
+
+[[package]]
+name = "loom"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e045d70ddfbc984eacfa964ded019534e8f6cbf36f6410aee0ed5cefa5a9175"
+dependencies = [
+ "cfg-if",
+ "generator",
+ "scoped-tls",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "mac-notification-sys"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51fca4d74ff9dbaac16a01b924bc3693fa2bba0862c2c633abc73f9a8ea21f64"
+dependencies = [
+ "cc",
+ "dirs-next",
+ "objc-foundation",
+ "objc_id",
+ "time",
+]
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miette"
+version = "5.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e"
+dependencies = [
+ "miette-derive",
+ "once_cell",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "miette-derive"
+version = "5.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "ndk"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
+dependencies = [
+ "bitflags 2.4.2",
+ "jni-sys",
+ "log",
+ "ndk-sys",
+ "num_enum",
+ "raw-window-handle",
+ "thiserror",
+]
+
+[[package]]
+name = "ndk-context"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
+
+[[package]]
+name = "ndk-sys"
+version = "0.5.0+25.2.9519653"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
+dependencies = [
+ "jni-sys",
+]
+
+[[package]]
+name = "niri"
+version = "0.1.1"
+dependencies = [
+ "anyhow",
+ "arrayvec",
+ "async-channel",
+ "async-io 1.13.0",
+ "bitflags 2.4.2",
+ "calloop",
+ "clap",
+ "directories",
+ "futures-util",
+ "git-version",
+ "keyframe",
+ "libc",
+ "log",
+ "logind-zbus",
+ "niri-config",
+ "niri-ipc",
+ "notify-rust",
+ "pangocairo",
+ "pipewire",
+ "png",
+ "portable-atomic",
+ "profiling",
+ "proptest",
+ "proptest-derive",
+ "sd-notify",
+ "serde",
+ "serde_json",
+ "smithay",
+ "smithay-drm-extras",
+ "tracing",
+ "tracing-subscriber",
+ "tracy-client",
+ "url",
+ "xcursor",
+ "zbus",
+]
+
+[[package]]
+name = "niri-config"
+version = "0.1.1"
+dependencies = [
+ "bitflags 2.4.2",
+ "knuffel",
+ "miette",
+ "smithay",
+ "tracing",
+ "tracy-client",
+]
+
+[[package]]
+name = "niri-ipc"
+version = "0.1.1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "nix"
+version = "0.26.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+dependencies = [
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+ "memoffset 0.7.1",
+ "pin-utils",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "notify-rust"
+version = "4.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "827c5edfa80235ded4ab3fe8e9dc619b4f866ef16fe9b1c6b8a7f8692c0f2226"
+dependencies = [
+ "log",
+ "mac-notification-sys",
+ "serde",
+ "tauri-winrt-notification",
+ "zbus",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
+dependencies = [
+ "proc-macro-crate 2.0.2",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[package]]
+name = "objc-sys"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
+
+[[package]]
+name = "objc2"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
+dependencies = [
+ "objc-sys",
+ "objc2-encode",
+]
+
+[[package]]
+name = "objc2-encode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "orbclient"
+version = "0.3.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
+dependencies = [
+ "libredox 0.0.2",
+]
+
+[[package]]
+name = "ordered-stream"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "pango"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+dependencies = [
+ "gio",
+ "glib",
+ "libc",
+ "once_cell",
+ "pango-sys",
+]
+
+[[package]]
+name = "pango-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "pangocairo"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57036589a9cfcacf83f9e606d15813fc6bf03f0e9e69aa2b5e3bb85af86b38a5"
+dependencies = [
+ "cairo-rs",
+ "glib",
+ "libc",
+ "pango",
+ "pangocairo-sys",
+]
+
+[[package]]
+name = "pangocairo-sys"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc3c8ff676a37e7a72ec1d5fc029f91c407278083d2752784ff9f5188c108833"
+dependencies = [
+ "cairo-sys-rs",
+ "glib-sys",
+ "libc",
+ "pango-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.1",
+ "futures-io",
+]
+
+[[package]]
+name = "pipewire"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2d009c8dd65e890b515a71950f7e4c801523b8894ff33863a40830bf762e9e9"
+dependencies = [
+ "anyhow",
+ "bitflags 2.4.2",
+ "libc",
+ "libspa",
+ "libspa-sys",
+ "nix",
+ "once_cell",
+ "pipewire-sys",
+ "thiserror",
+]
+
+[[package]]
+name = "pipewire-sys"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "890c084e7b737246cb4799c86b71a0e4da536031ff7473dd639eba9f95039f64"
+dependencies = [
+ "bindgen",
+ "libspa-sys",
+ "system-deps",
+]
+
+[[package]]
+name = "pixman"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d24a24da0bec14f4e43a495c1837a3c358b87532e7fe66bd75c348b89f0451b6"
+dependencies = [
+ "drm-fourcc",
+ "paste",
+ "pixman-sys",
+ "thiserror",
+]
+
+[[package]]
+name = "pixman-sys"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a0483e89e81d7915defe83c51f23f6800594d64f6f4a21253ce87fd8444ada"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "polling"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "concurrent-queue",
+ "libc",
+ "log",
+ "pin-project-lite",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "polling"
+version = "3.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.31",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24"
+dependencies = [
+ "toml_datetime",
+ "toml_edit 0.20.2",
+]
+
+[[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 1.0.109",
+ "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.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "profiling"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42"
+dependencies = [
+ "profiling-procmacros",
+ "tracy-client",
+]
+
+[[package]]
+name = "profiling-procmacros"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce97fecd27bc49296e5e20518b5a1bb54a14f7d5fe6228bc9686ee2a74915cc8"
+dependencies = [
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "proptest"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf"
+dependencies = [
+ "bit-set",
+ "bit-vec",
+ "bitflags 2.4.2",
+ "lazy_static",
+ "num-traits",
+ "rand",
+ "rand_chacha",
+ "rand_xorshift",
+ "regex-syntax 0.8.2",
+ "rusty-fork",
+ "tempfile",
+ "unarray",
+]
+
+[[package]]
+name = "proptest-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quick-error"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+[[package]]
+name = "quick-xml"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_xorshift"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "raw-window-handle"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox 0.0.1",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.37.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes 1.0.11",
+ "libc",
+ "linux-raw-sys 0.3.8",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "rusty-fork"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
+dependencies = [
+ "fnv",
+ "quick-error",
+ "tempfile",
+ "wait-timeout",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scan_fmt"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b53b0a5db882a8e2fdaae0a43f7b39e7e9082389e978398bdf223a55b581248"
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "sd-notify"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32"
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smithay"
+version = "0.3.0"
+source = "git+https://github.com/Smithay/smithay.git#0eac415ba2d9409cbc201955dc0fd306c116ae05"
+dependencies = [
+ "appendlist",
+ "bitflags 2.4.2",
+ "calloop",
+ "cc",
+ "cgmath",
+ "cursor-icon",
+ "downcast-rs",
+ "drm",
+ "drm-ffi",
+ "drm-fourcc",
+ "errno",
+ "gbm",
+ "gl_generator",
+ "indexmap",
+ "input",
+ "lazy_static",
+ "libc",
+ "libloading",
+ "libseat",
+ "once_cell",
+ "pixman",
+ "pkg-config",
+ "profiling",
+ "rand",
+ "rustix 0.38.31",
+ "scan_fmt",
+ "smallvec",
+ "tempfile",
+ "thiserror",
+ "tracing",
+ "udev",
+ "wayland-backend",
+ "wayland-egl",
+ "wayland-protocols",
+ "wayland-protocols-misc",
+ "wayland-protocols-wlr",
+ "wayland-server",
+ "wayland-sys",
+ "winit",
+ "xkbcommon",
+]
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
+dependencies = [
+ "bitflags 2.4.2",
+ "calloop",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
+ "log",
+ "memmap2 0.9.4",
+ "rustix 0.38.31",
+ "thiserror",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-csd-frame",
+ "wayland-cursor",
+ "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
+ "xkeysym",
+]
+
+[[package]]
+name = "smithay-drm-extras"
+version = "0.1.0"
+source = "git+https://github.com/Smithay/smithay.git#0eac415ba2d9409cbc201955dc0fd306c116ae05"
+dependencies = [
+ "drm",
+ "edid-rs",
+]
+
+[[package]]
+name = "smol_str"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "socket2"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "system-deps"
+version = "6.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+dependencies = [
+ "cfg-expr",
+ "heck",
+ "pkg-config",
+ "toml",
+ "version-compare",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+
+[[package]]
+name = "tauri-winrt-notification"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2"
+dependencies = [
+ "quick-xml 0.30.0",
+ "windows 0.51.1",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+dependencies = [
+ "cfg-if",
+ "fastrand 2.0.1",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.31",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "time"
+version = "0.3.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd"
+dependencies = [
+ "deranged",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.20.2",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "tracy-client"
+version = "0.16.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "307e6b7030112fe9640fdd87988a40795549ba75c355f59485d14e6b444d2987"
+dependencies = [
+ "loom",
+ "once_cell",
+ "tracy-client-sys",
+]
+
+[[package]]
+name = "tracy-client-sys"
+version = "0.22.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d104d610dfa9dd154535102cc9c6164ae1fa37842bc2d9e83f9ac82b0ae0882"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "udev"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50051c6e22be28ee6f217d50014f3bc29e81c20dc66ff7ca0d5c5226e1dcc5a1"
+dependencies = [
+ "io-lifetimes 1.0.11",
+ "libc",
+ "libudev-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "uds_windows"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
+dependencies = [
+ "memoffset 0.9.0",
+ "tempfile",
+ "winapi",
+]
+
+[[package]]
+name = "unarray"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wait-timeout"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "waker-fn"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.90"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
+
+[[package]]
+name = "wayland-backend"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
+dependencies = [
+ "cc",
+ "downcast-rs",
+ "rustix 0.38.31",
+ "scoped-tls",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
+dependencies = [
+ "bitflags 2.4.2",
+ "rustix 0.38.31",
+ "wayland-backend",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-csd-frame"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
+dependencies = [
+ "bitflags 2.4.2",
+ "cursor-icon",
+ "wayland-backend",
+]
+
+[[package]]
+name = "wayland-cursor"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
+dependencies = [
+ "rustix 0.38.31",
+ "wayland-client",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-egl"
+version = "0.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "355f652e5a24ae02d2ad536c8fc2d3dcc6c2bd635027cd6103a193e7d75eeda2"
+dependencies = [
+ "wayland-backend",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-protocols"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
+ "wayland-server",
+]
+
+[[package]]
+name = "wayland-protocols-misc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa5933740b200188c9b4c38601b8212e8c154d7de0d2cb171944e137a77de1e"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-protocols",
+ "wayland-scanner",
+ "wayland-server",
+]
+
+[[package]]
+name = "wayland-protocols-plasma"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-wlr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+ "wayland-server",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
+dependencies = [
+ "proc-macro2",
+ "quick-xml 0.31.0",
+ "quote",
+]
+
+[[package]]
+name = "wayland-server"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00e6e4d5c285bc24ba4ed2d5a4bd4febd5fd904451f465973225c8e99772fdb7"
+dependencies = [
+ "bitflags 2.4.2",
+ "downcast-rs",
+ "io-lifetimes 2.0.3",
+ "rustix 0.38.31",
+ "wayland-backend",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-sys"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
+dependencies = [
+ "dlib",
+ "libc",
+ "log",
+ "memoffset 0.9.0",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "web-time"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winit"
+version = "0.29.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
+dependencies = [
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.4.2",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases",
+ "core-foundation",
+ "core-graphics",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
+ "libc",
+ "log",
+ "memmap2 0.9.4",
+ "ndk",
+ "ndk-sys",
+ "objc2",
+ "once_cell",
+ "orbclient",
+ "percent-encoding",
+ "raw-window-handle",
+ "redox_syscall 0.3.5",
+ "rustix 0.38.31",
+ "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-protocols-plasma",
+ "web-sys",
+ "web-time",
+ "windows-sys 0.48.0",
+ "x11-dl",
+ "x11rb",
+ "xkbcommon-dl",
+]
+
+[[package]]
+name = "winnow"
+version = "0.5.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "x11-dl"
+version = "2.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+dependencies = [
+ "libc",
+ "once_cell",
+ "pkg-config",
+]
+
+[[package]]
+name = "x11rb"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
+dependencies = [
+ "as-raw-xcb-connection",
+ "gethostname",
+ "libc",
+ "libloading",
+ "once_cell",
+ "rustix 0.38.31",
+ "x11rb-protocol",
+]
+
+[[package]]
+name = "x11rb-protocol"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
+
+[[package]]
+name = "xcursor"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
+
+[[package]]
+name = "xdg-home"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
+dependencies = [
+ "nix",
+ "winapi",
+]
+
+[[package]]
+name = "xkbcommon"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
+dependencies = [
+ "libc",
+ "memmap2 0.8.0",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkbcommon-dl"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
+dependencies = [
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
+]
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
+name = "xml-rs"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+
+[[package]]
+name = "zbus"
+version = "3.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
+dependencies = [
+ "async-broadcast",
+ "async-executor",
+ "async-fs",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
+ "async-process",
+ "async-recursion",
+ "async-task",
+ "async-trait",
+ "blocking",
+ "byteorder",
+ "derivative",
+ "enumflags2",
+ "event-listener 2.5.3",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "hex",
+ "nix",
+ "once_cell",
+ "ordered-stream",
+ "rand",
+ "serde",
+ "serde_repr",
+ "sha1",
+ "static_assertions",
+ "tracing",
+ "uds_windows",
+ "winapi",
+ "xdg-home",
+ "zbus_macros",
+ "zbus_names",
+ "zvariant",
+]
+
+[[package]]
+name = "zbus_macros"
+version = "3.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zbus_names"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+dependencies = [
+ "serde",
+ "static_assertions",
+ "zvariant",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "zvariant"
+version = "3.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+dependencies = [
+ "byteorder",
+ "enumflags2",
+ "libc",
+ "serde",
+ "static_assertions",
+ "zvariant_derive",
+]
+
+[[package]]
+name = "zvariant_derive"
+version = "3.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zvariant_utils"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
diff --git a/nixpkgs/pkgs/by-name/ni/niri/package.nix b/nixpkgs/pkgs/by-name/ni/niri/package.nix
new file mode 100644
index 000000000000..17c0e6993340
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ni/niri/package.nix
@@ -0,0 +1,75 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, libxkbcommon
+, pango
+, pipewire
+, seatd
+, stdenv
+, wayland
+, systemd
+, libinput
+, mesa
+, fontconfig
+, libglvnd
+, libclang
+, autoPatchelfHook
+, clang
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "niri";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "YaLTeR";
+    repo = "niri";
+    rev = "v${version}";
+    hash = "sha256-+Y7dnq8gwVxefwvRnamqGneCTI4uUXgAo0SEffIvNB0=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "smithay-0.3.0" = "sha256-TWq4L7Pe4/s0+hGjvTixoOFQ3P6tJXzV4/VgKcJ0tWU=";
+    };
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    rustPlatform.bindgenHook
+    autoPatchelfHook
+    clang
+  ];
+
+  buildInputs = [
+    wayland
+    systemd # For libudev
+    seatd # For libseat
+    libxkbcommon
+    libinput
+    mesa # For libgbm
+    fontconfig
+    stdenv.cc.cc.lib
+    pipewire
+    pango
+  ];
+
+  runtimeDependencies = [
+    wayland
+    mesa
+    libglvnd # For libEGL
+  ];
+
+  LIBCLANG_PATH = "${libclang.lib}/lib";
+
+  meta = with lib; {
+    description = "A scrollable-tiling Wayland compositor";
+    homepage = "https://github.com/YaLTeR/niri";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ iogamaster ];
+    mainProgram = "niri";
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/no/normcap/package.nix b/nixpkgs/pkgs/by-name/no/normcap/package.nix
index 8db68e9ae7e2..7018cc565780 100644
--- a/nixpkgs/pkgs/by-name/no/normcap/package.nix
+++ b/nixpkgs/pkgs/by-name/no/normcap/package.nix
@@ -25,7 +25,7 @@ in
 
 ps.buildPythonApplication rec {
   pname = "normcap";
-  version = "0.4.4";
+  version = "0.5.4";
   format = "pyproject";
 
   disabled = ps.pythonOlder "3.9";
@@ -34,20 +34,32 @@ ps.buildPythonApplication rec {
     owner = "dynobo";
     repo = "normcap";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dShtmoqS9TC3PHuwq24OEOhYfBHGhDCma8Du8QCkFuI=";
+    hash = "sha256-bYja05U/JBwSij1J2LxN+c5Syrb4qzWSZY5+HNmC9Zo=";
   };
 
+  postPatch = ''
+    # disable coverage testing
+    substituteInPlace pyproject.toml \
+      --replace "addopts = [" "addopts_ = ["
+  '';
+
   pythonRemoveDeps = [
-    "PySide6-Essentials"
+    "pyside6-essentials"
+  ];
+
+  pythonRelaxDeps = [
+    "shiboken6"
   ];
 
   nativeBuildInputs = [
     ps.pythonRelaxDepsHook
-    ps.poetry-core
+    ps.hatchling
+    ps.babel
   ];
 
   propagatedBuildInputs = [
     ps.pyside6
+    ps.jeepney
   ];
 
   preFixup = ''
@@ -78,6 +90,7 @@ ps.buildPythonApplication rec {
 
   postCheck = lib.optionalString stdenv.isLinux ''
     # cleanup the virtual x11 display
+    sleep 0.5
     kill $xvfb_pid
   '';
 
@@ -90,11 +103,20 @@ ps.buildPythonApplication rec {
     "test_urls_reachable"
     # requires xdg
     "test_synchronized_capture"
+    # flaky
+    "test_normcap_ocr_testcases"
   ] ++ lib.optionals stdenv.isDarwin [
     # requires impure pbcopy
     "test_get_copy_func_with_pbcopy"
     "test_get_copy_func_without_pbcopy"
     "test_perform_pbcopy"
+    # NSXPCSharedListener endpointForReply:withListenerName:replyErrorCode:
+    # while obtaining endpoint 'ClientCallsAuxiliary': Connection interrupted
+    # since v5.0.0
+    "test_introduction_initialize_checkbox_state"
+    "test_introduction_checkbox_sets_return_code"
+    "test_introduction_toggle_checkbox_changes_return_code"
+    "test_show_introduction"
   ];
 
   disabledTestPaths = [
@@ -105,6 +127,9 @@ ps.buildPythonApplication rec {
   ] ++ lib.optionals stdenv.isDarwin [
     # requires a display
     "tests/integration/test_normcap.py"
+    "tests/integration/test_tray_menu.py"
+    # failure unknown, crashes in first test with `.show()`
+    "tests/tests_gui/test_loading_indicator.py"
   ];
 
   meta = with lib; {
@@ -113,5 +138,6 @@ ps.buildPythonApplication rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ cafkafk pbsds ];
     mainProgram = "normcap";
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/by-name/nr/nrr/package.nix b/nixpkgs/pkgs/by-name/nr/nrr/package.nix
index 73c395cf00db..00738eac3694 100644
--- a/nixpkgs/pkgs/by-name/nr/nrr/package.nix
+++ b/nixpkgs/pkgs/by-name/nr/nrr/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nrr";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "ryanccn";
     repo = "nrr";
     rev = "v${version}";
-    hash = "sha256-jkI5t+1P7Ae6MkSnyy7Ur3Z0Vt8+hWTgf6dgL5tzhY8=";
+    hash = "sha256-WrpyT5h+eoCu7cspf9KGaM0FgLmnBm8tOHIWbj8sYpo=";
   };
 
-  cargoHash = "sha256-9qLeFuaKAGhtyHFHOBS6HA0wAWuk0ZJppVySpMwUGYc=";
+  cargoHash = "sha256-XTKaVHy7FWYgMq5gNCLF8kIjDDyiyZ+GPZYBMKtLrsI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreFoundation
diff --git a/nixpkgs/pkgs/by-name/nu/numbat/package.nix b/nixpkgs/pkgs/by-name/nu/numbat/package.nix
index 947292769110..d07753b3ffe8 100644
--- a/nixpkgs/pkgs/by-name/nu/numbat/package.nix
+++ b/nixpkgs/pkgs/by-name/nu/numbat/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "numbat";
-  version = "1.9.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "numbat";
     rev = "v${version}";
-    hash = "sha256-zMgZ/QmpZaB+4xdxVBE3C8CWS/aNCDuowDWOg65PhTo=";
+    hash = "sha256-/jt1+21yem0q/dlc7z89MRaVrnllb9QLSQUo2f/9q8o=";
   };
 
-  cargoHash = "sha256-x6SMQoiDf0GoyOJGP8S69wJnY/nCvo6Bq5KQyrgY+Gs=";
+  cargoHash = "sha256-8AA0LTw/9kd6yDme4N3/ANVkS67eoLrJviNhdqUftXM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/nixpkgs/pkgs/by-name/oe/oelint-adv/package.nix b/nixpkgs/pkgs/by-name/oe/oelint-adv/package.nix
index abcb5bbfa3c8..b92c0152b783 100644
--- a/nixpkgs/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/nixpkgs/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "4.2.0";
+  version = "4.3.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-Yq69pZLtOdUP+ZkKA6F7KgRlmXJQiS17+ETMVjpt9iY=";
+    hash = "sha256-G2wBy1nx05WiAtnNXp7Kvio4dA3rYJRVfdKm3a2ZF/g=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/by-name/of/offpunk/package.nix b/nixpkgs/pkgs/by-name/of/offpunk/package.nix
index 72642b17b540..935d4c0a6140 100644
--- a/nixpkgs/pkgs/by-name/of/offpunk/package.nix
+++ b/nixpkgs/pkgs/by-name/of/offpunk/package.nix
@@ -32,7 +32,7 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "offpunk";
-  version = "2.1";
+  version = "2.2";
   pyproject = true;
 
   disabled = python3Packages.pythonOlder "3.7";
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
     owner = "~lioploum";
     repo = "offpunk";
     rev = "v${version}";
-    hash = "sha256-IFqasTI2dZCauLUAq6/rvwkfraVK7SGUXpHCPEgSPGk=";
+    hash = "sha256-ygVL17qqmNB7hzw1VuYIAbirbaq4EVppWCHSvTl+/Jw=";
   };
 
   nativeBuildInputs = [ python3Packages.hatchling installShellFiles ];
@@ -53,11 +53,12 @@ python3Packages.buildPythonApplication rec {
 
   passthru.tests.version = testers.testVersion { package = offpunk; };
 
-  meta = with lib; {
+  meta = {
     description = "A command-line and offline-first smolnet browser/feed reader";
     homepage = src.meta.homepage;
-    maintainers = with maintainers; [ DamienCassou ];
-    platforms = platforms.linux;
-    license = licenses.agpl3Plus;
+    license = lib.licenses.agpl3Plus;
+    mainProgram = "offpunk";
+    maintainers = with lib.maintainers; [ DamienCassou ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/by-name/op/openscad-unstable/package.nix b/nixpkgs/pkgs/by-name/op/openscad-unstable/package.nix
index 582733035d46..c76d35b0f40b 100644
--- a/nixpkgs/pkgs/by-name/op/openscad-unstable/package.nix
+++ b/nixpkgs/pkgs/by-name/op/openscad-unstable/package.nix
@@ -78,12 +78,12 @@ in
 # clang consume much less RAM than GCC
 clangStdenv.mkDerivation rec {
   pname = "openscad-unstable";
-  version = "2024-01-22";
+  version = "2024-02-18";
   src = fetchFromGitHub {
     owner = "openscad";
     repo = "openscad";
-    rev = "88d244aed3c40a76194ff537ed84bd65bc0e1aeb";
-    hash = "sha256-qkQNbYhmOxF14zm+eCcwe9asLOEciYBANefUb8+KNEI=";
+    rev = "f5688998760d6b85d7b280300388448c162edc42";
+    hash = "sha256-rQnih7Am7NvlrTwIGAN4QbZCcziFm6YOOT27wmjcY8A=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/opensnitch/ui.nix b/nixpkgs/pkgs/by-name/op/opensnitch-ui/package.nix
index 9e7903149070..c8aef3a05123 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/ui.nix
+++ b/nixpkgs/pkgs/by-name/op/opensnitch-ui/package.nix
@@ -1,19 +1,18 @@
 { python3Packages
 , fetchFromGitHub
-, qtwayland
-, wrapQtAppsHook
+, qt5
 , lib
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "opensnitch-ui";
-  version = "1.6.4";
+  version = "1.6.5.1";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fkRykhcjWZ4MDl2HZ1ZFaQmEeRYhiCBeUxG/Eu7D8NA=";
+    hash = "sha256-IVrAAHzLS7A7cYhRk+IUx8/5TGKeqC7M/7iXOpPe2ZA=";
   };
 
   postPatch = ''
@@ -23,21 +22,22 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = [
     python3Packages.pyqt5
-    wrapQtAppsHook
+    qt5.wrapQtAppsHook
   ];
 
   buildInputs = [
-    qtwayland
+    qt5.qtwayland
   ];
 
   propagatedBuildInputs = with python3Packages; [
     grpcio-tools
-    pyqt5
-    unidecode
-    unicode-slugify
-    pyinotify
     notify2
     pyasn
+    pyinotify
+    pyqt5
+    qt-material
+    unicode-slugify
+    unidecode
   ];
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/tools/networking/opensnitch/go.mod b/nixpkgs/pkgs/by-name/op/opensnitch/go.mod
index f4a1c6c5fe9c..14242cd3cbb8 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/go.mod
+++ b/nixpkgs/pkgs/by-name/op/opensnitch/go.mod
@@ -1,19 +1,19 @@
 module github.com/evilsocket/opensnitch/daemon
 
-go 1.14
+go 1.17
 
 require (
 	github.com/fsnotify/fsnotify v1.4.7
 	github.com/golang/protobuf v1.5.0
-	github.com/google/gopacket v1.1.14
+	github.com/google/gopacket v1.1.19
 	github.com/google/nftables v0.1.0
 	github.com/google/uuid v1.3.0
 	github.com/iovisor/gobpf v0.2.0
 	github.com/varlink/go v0.4.0
-	github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452
+	github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4
 	github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
-	golang.org/x/net v0.0.0-20211209124913-491a49abca63
-	golang.org/x/sys v0.0.0-20211205182925-97ca703d548d
+	golang.org/x/net v0.17.0
+	golang.org/x/sys v0.13.0
 	google.golang.org/grpc v1.32.0
 	google.golang.org/protobuf v1.26.0
 )
@@ -24,10 +24,9 @@ require (
 	github.com/josharian/native v0.0.0-20200817173448-b6b71def0850 // indirect
 	github.com/mdlayher/netlink v1.4.2 // indirect
 	github.com/mdlayher/socket v0.0.0-20211102153432-57e3fa563ecb // indirect
-	golang.org/x/mod v0.5.1 // indirect
-	golang.org/x/text v0.3.7 // indirect
-	golang.org/x/tools v0.1.8 // indirect
-	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
+	golang.org/x/mod v0.8.0 // indirect
+	golang.org/x/text v0.13.0 // indirect
+	golang.org/x/tools v0.6.0 // indirect
 	google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 // indirect
 	honnef.co/go/tools v0.2.2 // indirect
 )
diff --git a/nixpkgs/pkgs/tools/networking/opensnitch/go.sum b/nixpkgs/pkgs/by-name/op/opensnitch/go.sum
index 9b14c3bfb5b2..baafbc6dd3df 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/go.sum
+++ b/nixpkgs/pkgs/by-name/op/opensnitch/go.sum
@@ -29,8 +29,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/gopacket v1.1.14 h1:1+TEhSu8Mh154ZBVjyd1Nt2Bb7cnyOeE3GQyb1WGLqI=
-github.com/google/gopacket v1.1.14/go.mod h1:UCLx9mCmAwsVbn6qQl1WIEt2SO7Nd2fD0th1TBAsqBw=
+github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
+github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
 github.com/google/nftables v0.1.0 h1:T6lS4qudrMufcNIZ8wSRrL+iuwhsKxpN+zFLxhUWOqk=
 github.com/google/nftables v0.1.0/go.mod h1:b97ulCCFipUC+kSin+zygkvUVpx0vyIAwxXFdY3PlNc=
 github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
@@ -76,25 +76,32 @@ github.com/mdlayher/socket v0.0.0-20211102153432-57e3fa563ecb/go.mod h1:nFZ1EtZY
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/varlink/go v0.4.0 h1:+/BQoUO9eJK/+MTSHwFcJch7TMsb6N6Dqp6g0qaXXRo=
 github.com/varlink/go v0.4.0/go.mod h1:DKg9Y2ctoNkesREGAEak58l+jOC6JU2aqZvUYs5DynU=
-github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452 h1:xe1bLd/sNkKVWdZuAb2+4JeMQMYyQ7Av38iRrE1lhm8=
-github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
+github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4 h1:fB26rIBlWTVJyEB6ONHdoEvUbvwoudH0/cMEXHiD1RU=
+github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
 github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
 github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns=
 github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
 golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -117,14 +124,21 @@ golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qx
 golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY=
 golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -148,30 +162,46 @@ golang.org/x/sys v0.0.0-20210216163648-f7da38b97c65/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210525143221-35b2ab0089ea/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E=
 golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
+golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
 golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
 golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
-golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
 golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix b/nixpkgs/pkgs/by-name/op/opensnitch/package.nix
index 9825d25bbc5a..795050cdc6d6 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/nixpkgs/pkgs/by-name/op/opensnitch/package.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "opensnitch";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
-    rev = "v${version}";
-    hash = "sha256-fkRykhcjWZ4MDl2HZ1ZFaQmEeRYhiCBeUxG/Eu7D8NA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-2HHyecgiodWhQkkn3eo0RJNroD7HaK6Je/+x9IqZfWE=";
   };
 
   postPatch = ''
@@ -47,7 +47,7 @@ buildGoModule rec {
     protoc-gen-go-grpc
   ];
 
-  vendorHash = "sha256-bUzGWpQxeXzvkzQ7G53ljQJq6wwqiXqbi6bgeFlNvvM=";
+  vendorHash = "sha256-PX41xeUJb/WKv3+z5kbRmJNP1vFu8x35NZvN2Dgp4CQ=";
 
   preBuild = ''
     # Fix inconsistent vendoring build error
@@ -64,13 +64,18 @@ buildGoModule rec {
     cp system-fw.json $out/etc/opensnitchd/
     substitute default-config.json $out/etc/opensnitchd/default-config.json \
       --replace "/var/log/opensnitchd.log" "/dev/stdout"
+    # Do not mkdir rules path
+    sed -i '8d' opensnitchd.service
+    # Fixup hardcoded paths
     substitute opensnitchd.service $out/lib/systemd/system/opensnitchd.service \
-      --replace "/usr/local/bin/opensnitchd" "$out/bin/opensnitchd" \
-      --replace "/etc/opensnitchd/rules" "/var/lib/opensnitch/rules" \
-      --replace "/bin/mkdir" "${coreutils}/bin/mkdir"
+      --replace "/usr/local/bin/opensnitchd" "$out/bin/opensnitchd"
   '';
 
-  ldflags = [ "-s" "-w" "-X github.com/evilsocket/opensnitch/daemon/core.Version=${version}" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/evilsocket/opensnitch/daemon/core.Version=${version}"
+  ];
 
   postInstall = ''
     wrapProgram $out/bin/opensnitchd \
diff --git a/nixpkgs/pkgs/by-name/op/opensoundmeter/build.patch b/nixpkgs/pkgs/by-name/op/opensoundmeter/build.patch
new file mode 100644
index 000000000000..3ec76bc90db6
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/op/opensoundmeter/build.patch
@@ -0,0 +1,13 @@
+--- a/OpenSoundMeter.desktop
++++ b/OpenSoundMeter.desktop
+@@ -6 +6 @@
+-Icon=white
++Icon=OpenSoundMeter
+--- a/OpenSoundMeter.pro
++++ b/OpenSoundMeter.pro
+@@ -261 +261 @@
+-APP_GIT_VERSION = $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ describe --tags $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ rev-list --tags --max-count=1))
++APP_GIT_VERSION = ?
+@@ -486 +486 @@
+-unix:!macx:!ios:CONFIG(release, debug|release) {
++unix:!linux:!macx:!ios:CONFIG(release, debug|release) {
diff --git a/nixpkgs/pkgs/by-name/op/opensoundmeter/package.nix b/nixpkgs/pkgs/by-name/op/opensoundmeter/package.nix
new file mode 100644
index 000000000000..77c7237f85f5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/op/opensoundmeter/package.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchFromGitHub, alsa-lib, qt5 }:
+
+let
+  inherit (qt5) qmake wrapQtAppsHook qtgraphicaleffects qtquickcontrols2;
+in stdenv.mkDerivation rec {
+  pname = "opensoundmeter";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "psmokotnin";
+    repo = "osm";
+    rev = "v${version}";
+    hash = "sha256-nRibcEtG6UUTgn7PhSg4IyahMYi5aSPvaEOrAdx6u3o=";
+  };
+
+  patches = [ ./build.patch ];
+
+  postPatch = ''
+    substituteInPlace OpenSoundMeter.pro \
+      --replace 'APP_GIT_VERSION = ?' 'APP_GIT_VERSION = ${src.rev}'
+  '';
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [ alsa-lib qtgraphicaleffects qtquickcontrols2 ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install OpenSoundMeter -Dt $out/bin
+    install OpenSoundMeter.desktop -m444 -Dt $out/share/applications
+    install icons/white.png -m444 -D $out/share/icons/OpenSoundMeter.png
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Sound measurement application for tuning audio systems in real-time";
+    homepage = "https://opensoundmeter.com/";
+    license = licenses.gpl3Plus;
+    mainProgram = "OpenSoundMeter";
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/pa/pa-notify/package.nix b/nixpkgs/pkgs/by-name/pa/pa-notify/package.nix
new file mode 100644
index 000000000000..3846b71ef38f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pa/pa-notify/package.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, extra-cmake-modules
+, glib
+, libnotify
+, libpulseaudio
+, pkg-config
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "pa-notify";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "ikrivosheev";
+    repo = "pa-notify";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-356qwSxxxAUNJajsVjH3zqGAZQwMOcoLPSKPZdsCmBM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    pkg-config
+  ];
+
+  buildInputs = [
+    glib
+    libnotify
+    libpulseaudio
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ikrivosheev/pa-notify";
+    description = "PulseAudio or PipeWire volume notification";
+    license = licenses.mit;
+    maintainers = with maintainers; [ juancmuller ];
+    mainProgram = "pa-notify";
+    platforms = platforms.linux;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/pa/parallel-disk-usage/package.nix b/nixpkgs/pkgs/by-name/pa/parallel-disk-usage/package.nix
index ba896d3afb11..f3aa96cbed14 100644
--- a/nixpkgs/pkgs/by-name/pa/parallel-disk-usage/package.nix
+++ b/nixpkgs/pkgs/by-name/pa/parallel-disk-usage/package.nix
@@ -4,16 +4,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "parallel-disk-usage";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "KSXGitHub";
     repo = pname;
     rev = version;
-    hash = "sha256-Bo2fBOGuAur3dQtBdcbeDRBgp+bFpi86dZQjSuZpEc8=";
+    hash = "sha256-nWn6T1vJ4UANuU5EL5Ws5qT+k8Wd3Cm0SOJEgAbsCvo=";
   };
 
-  cargoHash = "sha256-V7j2dvu7Z3Xq8WGoFxl6DjO8sYU8+ZNC9V6qqdYIuQo=";
+  cargoHash = "sha256-69DwIDGX4b+l2ay+OH3gjHnCj43VXruzBklOkS6M0DY=";
 
   meta = with lib; {
     description = "Highly parallelized, blazing fast directory tree analyzer";
diff --git a/nixpkgs/pkgs/by-name/pa/pasco/include-string.h.patch b/nixpkgs/pkgs/by-name/pa/pasco/include-string.h.patch
new file mode 100644
index 000000000000..b156a0537071
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pa/pasco/include-string.h.patch
@@ -0,0 +1,10 @@
+--- a/src/pasco.c	2024-02-18 12:43:27.385857649 +0100
++++ b/src/pasco.c	2024-02-18 12:44:00.286087384 +0100
+@@ -36,6 +36,7 @@
+ #include <stdio.h>
+ #include <time.h>
+ #include <math.h>
++#include <string.h>
+ 
+ //
+ /* This is the default block size for an activity record */
diff --git a/nixpkgs/pkgs/by-name/pa/pasco/package.nix b/nixpkgs/pkgs/by-name/pa/pasco/package.nix
new file mode 100644
index 000000000000..da9343db3930
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pa/pasco/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "pasco";
+  version = "20040505_1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/fast/Pasco/Pasco%20v${finalAttrs.version}/pasco_${finalAttrs.version}.tar.gz";
+    hash = "sha256-o7jue+lgVxQQvFZOzJMGd1WihlD7Nb+1WaSutq9vaGg=";
+  };
+
+  patches = [
+    ./include-string.h.patch
+  ];
+
+  makeFlags = [
+    "-C src"
+  ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile \
+      --replace gcc cc
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp bin/pasco $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Examine the contents of Internet Explorer's cache files for forensic purposes";
+    mainProgram = "pasco";
+    homepage = "https://sourceforge.net/projects/fast/files/Pasco/";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = with licenses; [ bsd3 ];
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/pd/pdepend/composer.lock b/nixpkgs/pkgs/by-name/pd/pdepend/composer.lock
index 66c12d8ec02b..0fd6360a265c 100644
--- a/nixpkgs/pkgs/by-name/pd/pdepend/composer.lock
+++ b/nixpkgs/pkgs/by-name/pd/pdepend/composer.lock
@@ -4,26 +4,31 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "5e64a6db62881c86d7bcc23b1d82dfb0",
+    "content-hash": "798f54294447492ecbff9cff6999c060",
     "packages": [
         {
             "name": "psr/container",
-            "version": "1.1.2",
+            "version": "2.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/container.git",
-                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
-                "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
                 "shasum": ""
             },
             "require": {
                 "php": ">=7.4.0"
             },
             "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
             "autoload": {
                 "psr-4": {
                     "Psr\\Container\\": "src/"
@@ -50,43 +55,40 @@
             ],
             "support": {
                 "issues": "https://github.com/php-fig/container/issues",
-                "source": "https://github.com/php-fig/container/tree/1.1.2"
+                "source": "https://github.com/php-fig/container/tree/2.0.2"
             },
-            "time": "2021-11-05T16:50:12+00:00"
+            "time": "2021-11-05T16:47:00+00:00"
         },
         {
             "name": "symfony/config",
-            "version": "v4.4.44",
+            "version": "v7.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/config.git",
-                "reference": "ed42f8f9da528d2c6cae36fe1f380b0c1d8f0658"
+                "reference": "86a5027869ca3d6bdecae6d5d6c2f77c8f2c1d16"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/config/zipball/ed42f8f9da528d2c6cae36fe1f380b0c1d8f0658",
-                "reference": "ed42f8f9da528d2c6cae36fe1f380b0c1d8f0658",
+                "url": "https://api.github.com/repos/symfony/config/zipball/86a5027869ca3d6bdecae6d5d6c2f77c8f2c1d16",
+                "reference": "86a5027869ca3d6bdecae6d5d6c2f77c8f2c1d16",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.1.3",
-                "symfony/filesystem": "^3.4|^4.0|^5.0",
-                "symfony/polyfill-ctype": "~1.8",
-                "symfony/polyfill-php80": "^1.16",
-                "symfony/polyfill-php81": "^1.22"
+                "php": ">=8.2",
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/filesystem": "^6.4|^7.0",
+                "symfony/polyfill-ctype": "~1.8"
             },
             "conflict": {
-                "symfony/finder": "<3.4"
+                "symfony/finder": "<6.4",
+                "symfony/service-contracts": "<2.5"
             },
             "require-dev": {
-                "symfony/event-dispatcher": "^3.4|^4.0|^5.0",
-                "symfony/finder": "^3.4|^4.0|^5.0",
-                "symfony/messenger": "^4.1|^5.0",
-                "symfony/service-contracts": "^1.1|^2",
-                "symfony/yaml": "^3.4|^4.0|^5.0"
-            },
-            "suggest": {
-                "symfony/yaml": "To use the yaml reference dumper"
+                "symfony/event-dispatcher": "^6.4|^7.0",
+                "symfony/finder": "^6.4|^7.0",
+                "symfony/messenger": "^6.4|^7.0",
+                "symfony/service-contracts": "^2.5|^3",
+                "symfony/yaml": "^6.4|^7.0"
             },
             "type": "library",
             "autoload": {
@@ -114,7 +116,7 @@
             "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/config/tree/v4.4.44"
+                "source": "https://github.com/symfony/config/tree/v7.0.3"
             },
             "funding": [
                 {
@@ -130,49 +132,43 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-07-20T09:59:04+00:00"
+            "time": "2024-01-30T08:34:29+00:00"
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v4.4.37",
+            "version": "v7.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dependency-injection.git",
-                "reference": "c00a23904b42f140087d36e1d22c88801bb39689"
+                "reference": "e915c6684b8e3ae90a4441f6823ebbb40edf0b92"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/c00a23904b42f140087d36e1d22c88801bb39689",
-                "reference": "c00a23904b42f140087d36e1d22c88801bb39689",
+                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e915c6684b8e3ae90a4441f6823ebbb40edf0b92",
+                "reference": "e915c6684b8e3ae90a4441f6823ebbb40edf0b92",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.1.3",
-                "psr/container": "^1.0",
-                "symfony/polyfill-php80": "^1.16",
-                "symfony/service-contracts": "^1.1.6|^2"
+                "php": ">=8.2",
+                "psr/container": "^1.1|^2.0",
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/service-contracts": "^3.3",
+                "symfony/var-exporter": "^6.4|^7.0"
             },
             "conflict": {
-                "symfony/config": "<4.3|>=5.0",
-                "symfony/finder": "<3.4",
-                "symfony/proxy-manager-bridge": "<3.4",
-                "symfony/yaml": "<3.4"
+                "ext-psr": "<1.1|>=2",
+                "symfony/config": "<6.4",
+                "symfony/finder": "<6.4",
+                "symfony/yaml": "<6.4"
             },
             "provide": {
-                "psr/container-implementation": "1.0",
-                "symfony/service-implementation": "1.0|2.0"
+                "psr/container-implementation": "1.1|2.0",
+                "symfony/service-implementation": "1.1|2.0|3.0"
             },
             "require-dev": {
-                "symfony/config": "^4.3",
-                "symfony/expression-language": "^3.4|^4.0|^5.0",
-                "symfony/yaml": "^4.4|^5.0"
-            },
-            "suggest": {
-                "symfony/config": "",
-                "symfony/expression-language": "For using expressions in service container configuration",
-                "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
-                "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
-                "symfony/yaml": ""
+                "symfony/config": "^6.4|^7.0",
+                "symfony/expression-language": "^6.4|^7.0",
+                "symfony/yaml": "^6.4|^7.0"
             },
             "type": "library",
             "autoload": {
@@ -200,7 +196,7 @@
             "description": "Allows you to standardize and centralize the way objects are constructed in your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dependency-injection/tree/v4.4.37"
+                "source": "https://github.com/symfony/dependency-injection/tree/v7.0.3"
             },
             "funding": [
                 {
@@ -216,11 +212,11 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-01-24T17:17:45+00:00"
+            "time": "2024-01-30T08:34:29+00:00"
         },
         {
             "name": "symfony/deprecation-contracts",
-            "version": "v3.3.0",
+            "version": "v3.4.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/deprecation-contracts.git",
@@ -267,7 +263,7 @@
             "description": "A generic function and convention to trigger deprecation notices",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
             },
             "funding": [
                 {
@@ -287,23 +283,22 @@
         },
         {
             "name": "symfony/filesystem",
-            "version": "v5.4.25",
+            "version": "v7.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/filesystem.git",
-                "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
+                "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
-                "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/2890e3a825bc0c0558526c04499c13f83e1b6b12",
+                "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.2.5",
+                "php": ">=8.2",
                 "symfony/polyfill-ctype": "~1.8",
-                "symfony/polyfill-mbstring": "~1.8",
-                "symfony/polyfill-php80": "^1.16"
+                "symfony/polyfill-mbstring": "~1.8"
             },
             "type": "library",
             "autoload": {
@@ -331,7 +326,7 @@
             "description": "Provides basic utilities for the filesystem",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
+                "source": "https://github.com/symfony/filesystem/tree/v7.0.3"
             },
             "funding": [
                 {
@@ -347,20 +342,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-05-31T13:04:02+00:00"
+            "time": "2024-01-23T15:02:46+00:00"
         },
         {
             "name": "symfony/polyfill-ctype",
-            "version": "v1.28.0",
+            "version": "v1.29.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-ctype.git",
-                "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+                "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
-                "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+                "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
                 "shasum": ""
             },
             "require": {
@@ -374,9 +369,6 @@
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-main": "1.28-dev"
-                },
                 "thanks": {
                     "name": "symfony/polyfill",
                     "url": "https://github.com/symfony/polyfill"
@@ -413,7 +405,7 @@
                 "portable"
             ],
             "support": {
-                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
             },
             "funding": [
                 {
@@ -429,20 +421,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-01-26T09:26:14+00:00"
+            "time": "2024-01-29T20:11:03+00:00"
         },
         {
             "name": "symfony/polyfill-mbstring",
-            "version": "v1.28.0",
+            "version": "v1.29.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/polyfill-mbstring.git",
-                "reference": "42292d99c55abe617799667f454222c54c60e229"
+                "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
-                "reference": "42292d99c55abe617799667f454222c54c60e229",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+                "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
                 "shasum": ""
             },
             "require": {
@@ -456,9 +448,6 @@
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-main": "1.28-dev"
-                },
                 "thanks": {
                     "name": "symfony/polyfill",
                     "url": "https://github.com/symfony/polyfill"
@@ -496,7 +485,7 @@
                 "shim"
             ],
             "support": {
-                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
             },
             "funding": [
                 {
@@ -512,127 +501,45 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-07-28T09:04:16+00:00"
+            "time": "2024-01-29T20:11:03+00:00"
         },
         {
-            "name": "symfony/polyfill-php80",
-            "version": "v1.28.0",
+            "name": "symfony/service-contracts",
+            "version": "v3.4.1",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/polyfill-php80.git",
-                "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+                "url": "https://github.com/symfony/service-contracts.git",
+                "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
-                "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
+                "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "1.28-dev"
-                },
-                "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
-                }
-            },
-            "autoload": {
-                "files": [
-                    "bootstrap.php"
-                ],
-                "psr-4": {
-                    "Symfony\\Polyfill\\Php80\\": ""
-                },
-                "classmap": [
-                    "Resources/stubs"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Ion Bazan",
-                    "email": "ion.bazan@gmail.com"
-                },
-                {
-                    "name": "Nicolas Grekas",
-                    "email": "p@tchwork.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
-            "homepage": "https://symfony.com",
-            "keywords": [
-                "compatibility",
-                "polyfill",
-                "portable",
-                "shim"
-            ],
-            "support": {
-                "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
-            },
-            "funding": [
-                {
-                    "url": "https://symfony.com/sponsor",
-                    "type": "custom"
-                },
-                {
-                    "url": "https://github.com/fabpot",
-                    "type": "github"
-                },
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
-                    "type": "tidelift"
-                }
-            ],
-            "time": "2023-01-26T09:26:14+00:00"
-        },
-        {
-            "name": "symfony/polyfill-php81",
-            "version": "v1.28.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/polyfill-php81.git",
-                "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
+                "php": ">=8.1",
+                "psr/container": "^1.1|^2.0"
             },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
-                "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=7.1"
+            "conflict": {
+                "ext-psr": "<1.1|>=2"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "1.28-dev"
+                    "dev-main": "3.4-dev"
                 },
                 "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
                 }
             },
             "autoload": {
-                "files": [
-                    "bootstrap.php"
-                ],
                 "psr-4": {
-                    "Symfony\\Polyfill\\Php81\\": ""
+                    "Symfony\\Contracts\\Service\\": ""
                 },
-                "classmap": [
-                    "Resources/stubs"
+                "exclude-from-classmap": [
+                    "/Test/"
                 ]
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -649,16 +556,18 @@
                     "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+            "description": "Generic abstractions related to writing services",
             "homepage": "https://symfony.com",
             "keywords": [
-                "compatibility",
-                "polyfill",
-                "portable",
-                "shim"
+                "abstractions",
+                "contracts",
+                "decoupling",
+                "interfaces",
+                "interoperability",
+                "standards"
             ],
             "support": {
-                "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
+                "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
             },
             "funding": [
                 {
@@ -674,47 +583,36 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-01-26T09:26:14+00:00"
+            "time": "2023-12-26T14:02:43+00:00"
         },
         {
-            "name": "symfony/service-contracts",
-            "version": "v2.5.2",
+            "name": "symfony/var-exporter",
+            "version": "v7.0.3",
             "source": {
                 "type": "git",
-                "url": "https://github.com/symfony/service-contracts.git",
-                "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+                "url": "https://github.com/symfony/var-exporter.git",
+                "reference": "1fb79308cb5fc2b44bff6e8af10a5af6812e05b8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
-                "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1fb79308cb5fc2b44bff6e8af10a5af6812e05b8",
+                "reference": "1fb79308cb5fc2b44bff6e8af10a5af6812e05b8",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.2.5",
-                "psr/container": "^1.1",
-                "symfony/deprecation-contracts": "^2.1|^3"
+                "php": ">=8.2"
             },
-            "conflict": {
-                "ext-psr": "<1.1|>=2"
-            },
-            "suggest": {
-                "symfony/service-implementation": ""
+            "require-dev": {
+                "symfony/var-dumper": "^6.4|^7.0"
             },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-main": "2.5-dev"
-                },
-                "thanks": {
-                    "name": "symfony/contracts",
-                    "url": "https://github.com/symfony/contracts"
-                }
-            },
             "autoload": {
                 "psr-4": {
-                    "Symfony\\Contracts\\Service\\": ""
-                }
+                    "Symfony\\Component\\VarExporter\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -730,18 +628,20 @@
                     "homepage": "https://symfony.com/contributors"
                 }
             ],
-            "description": "Generic abstractions related to writing services",
+            "description": "Allows exporting any serializable PHP data structure to plain PHP code",
             "homepage": "https://symfony.com",
             "keywords": [
-                "abstractions",
-                "contracts",
-                "decoupling",
-                "interfaces",
-                "interoperability",
-                "standards"
+                "clone",
+                "construct",
+                "export",
+                "hydrate",
+                "instantiate",
+                "lazy-loading",
+                "proxy",
+                "serialize"
             ],
             "support": {
-                "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+                "source": "https://github.com/symfony/var-exporter/tree/v7.0.3"
             },
             "funding": [
                 {
@@ -757,81 +657,11 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-05-30T19:17:29+00:00"
+            "time": "2024-01-23T15:02:46+00:00"
         }
     ],
     "packages-dev": [
         {
-            "name": "doctrine/instantiator",
-            "version": "1.5.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
-                "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^7.1 || ^8.0"
-            },
-            "require-dev": {
-                "doctrine/coding-standard": "^9 || ^11",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpbench/phpbench": "^0.16 || ^1",
-                "phpstan/phpstan": "^1.4",
-                "phpstan/phpstan-phpunit": "^1",
-                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
-                "vimeo/psalm": "^4.30 || ^5.4"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "https://ocramius.github.io/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "support": {
-                "issues": "https://github.com/doctrine/instantiator/issues",
-                "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
-            },
-            "funding": [
-                {
-                    "url": "https://www.doctrine-project.org/sponsorship.html",
-                    "type": "custom"
-                },
-                {
-                    "url": "https://www.patreon.com/phpdoctrine",
-                    "type": "patreon"
-                },
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
-                    "type": "tidelift"
-                }
-            ],
-            "time": "2022-12-30T00:15:36+00:00"
-        },
-        {
             "name": "easy-doc/easy-doc",
             "version": "1.4.1",
             "source": {
@@ -947,928 +777,6 @@
             "time": "2020-04-09T08:09:05+00:00"
         },
         {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "2.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
-                "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "suggest": {
-                "dflydev/markdown": "~1.0",
-                "erusev/parsedown": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "phpDocumentor": [
-                        "src/"
-                    ]
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "email": "mike.vanriel@naenius.com"
-                }
-            ],
-            "support": {
-                "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
-                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/2.x"
-            },
-            "time": "2016-01-25T08:17:30+00:00"
-        },
-        {
-            "name": "phpspec/prophecy",
-            "version": "v1.5.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "phpdocumentor/reflection-docblock": "~2.0",
-                "sebastian/comparator": "~1.1"
-            },
-            "require-dev": {
-                "phpspec/phpspec": "~2.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Prophecy\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
-                }
-            ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
-            "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
-            ],
-            "support": {
-                "issues": "https://github.com/phpspec/prophecy/issues",
-                "source": "https://github.com/phpspec/prophecy/tree/master"
-            },
-            "time": "2015-08-13T10:07:40+00:00"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "phpunit/php-file-iterator": "~1.3",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-token-stream": "~1.3",
-                "sebastian/environment": "^1.3.2",
-                "sebastian/version": "~1.0"
-            },
-            "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4"
-            },
-            "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "support": {
-                "irc": "irc://irc.freenode.net/phpunit",
-                "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
-                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/2.2"
-            },
-            "time": "2015-10-06T15:47:00+00:00"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.4.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
-                "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "support": {
-                "irc": "irc://irc.freenode.net/phpunit",
-                "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
-                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5"
-            },
-            "time": "2017-11-27T13:52:08+00:00"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
-                "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
-            },
-            "time": "2015-06-21T13:50:34+00:00"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "1.0.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
-                "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4|~5"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "support": {
-                "irc": "irc://irc.freenode.net/phpunit",
-                "issues": "https://github.com/sebastianbergmann/php-timer/issues",
-                "source": "https://github.com/sebastianbergmann/php-timer/tree/master"
-            },
-            "time": "2016-05-12T18:03:57+00:00"
-        },
-        {
-            "name": "phpunit/php-token-stream",
-            "version": "1.4.12",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
-                "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
-                "source": "https://github.com/sebastianbergmann/php-token-stream/tree/1.4"
-            },
-            "abandoned": true,
-            "time": "2017-12-04T08:55:13+00:00"
-        },
-        {
-            "name": "phpunit/phpunit",
-            "version": "4.8.36",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
-                "reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-json": "*",
-                "ext-pcre": "*",
-                "ext-reflection": "*",
-                "ext-spl": "*",
-                "php": ">=5.3.3",
-                "phpspec/prophecy": "^1.3.1",
-                "phpunit/php-code-coverage": "~2.1",
-                "phpunit/php-file-iterator": "~1.4",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-timer": "^1.0.6",
-                "phpunit/phpunit-mock-objects": "~2.3",
-                "sebastian/comparator": "~1.2.2",
-                "sebastian/diff": "~1.2",
-                "sebastian/environment": "~1.3",
-                "sebastian/exporter": "~1.2",
-                "sebastian/global-state": "~1.0",
-                "sebastian/version": "~1.0",
-                "symfony/yaml": "~2.1|~3.0"
-            },
-            "suggest": {
-                "phpunit/php-invoker": "~1.1"
-            },
-            "bin": [
-                "phpunit"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.8.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "The PHP Unit Testing framework.",
-            "homepage": "https://phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/phpunit/issues",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/4.8.36"
-            },
-            "time": "2017-06-21T08:07:12+00:00"
-        },
-        {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.3.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2",
-                "sebastian/exporter": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "suggest": {
-                "ext-soap": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "support": {
-                "irc": "irc://irc.freenode.net/phpunit",
-                "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
-                "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/2.3"
-            },
-            "abandoned": true,
-            "time": "2015-10-02T06:51:40+00:00"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "1.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.2",
-                "sebastian/exporter": "~1.2 || ~2.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/comparator/issues",
-                "source": "https://github.com/sebastianbergmann/comparator/tree/1.2"
-            },
-            "time": "2017-01-29T09:50:25+00:00"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "1.4.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.8"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "https://github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/diff/issues",
-                "source": "https://github.com/sebastianbergmann/diff/tree/master"
-            },
-            "time": "2015-12-08T07:14:41+00:00"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "1.3.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
-                "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/environment/issues",
-                "source": "https://github.com/sebastianbergmann/environment/tree/1.3.7"
-            },
-            "time": "2016-05-17T03:18:57+00:00"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "1.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/recursion-context": "~1.0"
-            },
-            "require-dev": {
-                "ext-mbstring": "*",
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/exporter/issues",
-                "source": "https://github.com/sebastianbergmann/exporter/tree/master"
-            },
-            "time": "2016-06-17T09:04:28+00:00"
-        },
-        {
-            "name": "sebastian/global-state",
-            "version": "1.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "suggest": {
-                "ext-uopz": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
-            "keywords": [
-                "global state"
-            ],
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/global-state/issues",
-                "source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1"
-            },
-            "time": "2015-10-12T03:26:01+00:00"
-        },
-        {
-            "name": "sebastian/recursion-context",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
-                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
-                "source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
-            },
-            "time": "2016-10-03T07:41:43+00:00"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "1.0.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "support": {
-                "issues": "https://github.com/sebastianbergmann/version/issues",
-                "source": "https://github.com/sebastianbergmann/version/tree/1.0.6"
-            },
-            "time": "2015-06-21T13:59:46+00:00"
-        },
-        {
             "name": "simple-cli/simple-cli",
             "version": "1.6.0",
             "source": {
@@ -1931,12 +839,12 @@
             "version": "2.9.2",
             "source": {
                 "type": "git",
-                "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+                "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
                 "reference": "2acf168de78487db620ab4bc524135a13cfe6745"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/2acf168de78487db620ab4bc524135a13cfe6745",
+                "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/2acf168de78487db620ab4bc524135a13cfe6745",
                 "reference": "2acf168de78487db620ab4bc524135a13cfe6745",
                 "shasum": ""
             },
@@ -2007,78 +915,21 @@
                 "source": "https://github.com/squizlabs/PHP_CodeSniffer",
                 "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
             },
-            "time": "2018-11-07T22:31:41+00:00"
-        },
-        {
-            "name": "symfony/yaml",
-            "version": "v3.4.47",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/yaml.git",
-                "reference": "88289caa3c166321883f67fe5130188ebbb47094"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094",
-                "reference": "88289caa3c166321883f67fe5130188ebbb47094",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.5.9|>=7.0.8",
-                "symfony/polyfill-ctype": "~1.8"
-            },
-            "conflict": {
-                "symfony/console": "<3.4"
-            },
-            "require-dev": {
-                "symfony/console": "~3.4|~4.0"
-            },
-            "suggest": {
-                "symfony/console": "For validating YAML files using the lint command"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Yaml\\": ""
-                },
-                "exclude-from-classmap": [
-                    "/Tests/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Yaml Component",
-            "homepage": "https://symfony.com",
-            "support": {
-                "source": "https://github.com/symfony/yaml/tree/v3.4.47"
-            },
             "funding": [
                 {
-                    "url": "https://symfony.com/sponsor",
-                    "type": "custom"
+                    "url": "https://github.com/PHPCSStandards",
+                    "type": "github"
                 },
                 {
-                    "url": "https://github.com/fabpot",
+                    "url": "https://github.com/jrfnl",
                     "type": "github"
                 },
                 {
-                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
-                    "type": "tidelift"
+                    "url": "https://opencollective.com/php_codesniffer",
+                    "type": "open_collective"
                 }
             ],
-            "time": "2020-10-24T10:57:07+00:00"
+            "time": "2018-11-07T22:31:41+00:00"
         }
     ],
     "aliases": [],
diff --git a/nixpkgs/pkgs/by-name/pd/pdepend/package.nix b/nixpkgs/pkgs/by-name/pd/pdepend/package.nix
index b14752c38cb3..412bdc0a8955 100644
--- a/nixpkgs/pkgs/by-name/pd/pdepend/package.nix
+++ b/nixpkgs/pkgs/by-name/pd/pdepend/package.nix
@@ -1,20 +1,24 @@
-{ php, fetchFromGitHub, lib }:
+{ php
+, fetchFromGitHub
+, lib
+}:
 
 php.buildComposerProject (finalAttrs: {
   pname = "pdepend";
-  version = "2.15.1";
+  version = "2.16.2";
 
   src = fetchFromGitHub {
     owner = "pdepend";
     repo = "pdepend";
     rev = finalAttrs.version;
-    hash = "sha256-tVWOR0rKMnQDeHk3MHhEVOjn+dSpoMx+Ln+AwFRMwYs=";
+    hash = "sha256-2Ruubcm9IWZYu2LGeGeKm1tmHca0P5xlKYkuBCCV9ag=";
   };
 
   composerLock = ./composer.lock;
-  vendorHash = "sha256-MWm8urRB9IujqrIl22x+JFFCRR+nINLQqnHUywT2pi0=";
+  vendorHash = "sha256-Rvvy6MI0q+T2W7xzf2UqWIbsqgrWhgqVnzhphQ3iw9g=";
 
   meta = {
+    changelog = "https://github.com/pdepend/pdepend/releases/tag/${finalAttrs.version}";
     description = "An adaptation of JDepend for PHP";
     homepage = "https://github.com/pdepend/pdepend";
     license = lib.licenses.bsd3;
@@ -24,7 +28,7 @@ php.buildComposerProject (finalAttrs: {
       of your design in terms of extensibility, reusability and
       maintainability.
     ";
+    mainProgram = "pdepend";
     maintainers = lib.teams.php.members;
-    platforms = lib.platforms.all;
   };
 })
diff --git a/nixpkgs/pkgs/by-name/pd/pdfannots/package.nix b/nixpkgs/pkgs/by-name/pd/pdfannots/package.nix
new file mode 100644
index 000000000000..14672b371724
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pd/pdfannots/package.nix
@@ -0,0 +1,34 @@
+{ lib, python3, fetchFromGitHub }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pdfannots";
+  version = "0.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "0xabu";
+    repo = "pdfannots";
+    rev = "v${version}";
+    hash = "sha256-C0Ss6kZvPx0hHnpBKquEolxeuTfjshhSBSIDXcCKtM8=";
+  };
+
+  nativeBuildInputs = [
+    python3.pkgs.setuptools
+  ];
+
+  propagatedBuildInputs = [
+    python3.pkgs.pdfminer-six
+  ];
+
+  pythonImportsCheck = [
+    "pdfannots"
+  ];
+
+  meta = with lib; {
+    description = "Extracts and formats text annotations from a PDF file";
+    homepage = "https://github.com/0xabu/pdfannots";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    mainProgram = "pdfannots";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/pd/pdfid/package.nix b/nixpkgs/pkgs/by-name/pd/pdfid/package.nix
new file mode 100644
index 000000000000..62e14fa9d226
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pd/pdfid/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchzip
+, python3
+, python3Packages
+, makeBinaryWrapper
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pdfid";
+  version = "0.2.8";
+  format = "other";
+
+  src = fetchzip {
+    url = "https://didierstevens.com/files/software/pdfid_v0_2_8.zip";
+    hash = "sha256-ZLyhBMF2KMX0c1oCvuSCjEjHTnm2gFhJtasaTD9Q1BI=";
+    stripRoot = false;
+  };
+
+  nativeBuildInputs = [
+    makeBinaryWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{bin,share/pdfid}
+    cp -a * $out/share/pdfid/
+    makeBinaryWrapper ${lib.getExe python3} $out/bin/${meta.mainProgram} \
+      --add-flags "$out/share/pdfid/pdfid.py"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Scan a file to look for certain PDF keywords";
+    homepage = "https://blog.didierstevens.com/programs/pdf-tools/";
+    license = with licenses; [ free ];
+    mainProgram = "pdfid";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix b/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix
index c4ee9ce37382..ee9ac2bbeefa 100644
--- a/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix
+++ b/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgmoneta";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "pgmoneta";
     repo = "pgmoneta";
     rev = version;
-    hash = "sha256-bIuVFF8v7O++g7lorGduAlOGx4XoiqjqkTWHM3RNNdg=";
+    hash = "sha256-KVweAsmAQGUkBAxR7gPJe6mygfG7xApvJFRiCbSFq9E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/ph/phel/package.nix b/nixpkgs/pkgs/by-name/ph/phel/package.nix
index 2c6431da2887..209f7bd8bbd4 100644
--- a/nixpkgs/pkgs/by-name/ph/phel/package.nix
+++ b/nixpkgs/pkgs/by-name/ph/phel/package.nix
@@ -17,7 +17,7 @@ php.buildComposerProject (finalAttrs: {
   vendorHash = "sha256-83GX/dxHa6w1E34wnJshg7yxlVyRkDT5jmAPCCqPdtA=";
 
   doInstallCheck = true;
-  postCheckInstall = ''
+  postInstallCheck = ''
     $out/bin/phel --version
   '';
 
diff --git a/nixpkgs/pkgs/by-name/ph/phpdocumentor/package.nix b/nixpkgs/pkgs/by-name/ph/phpdocumentor/package.nix
index 3f2002a0da4a..d94b143a0c0e 100644
--- a/nixpkgs/pkgs/by-name/ph/phpdocumentor/package.nix
+++ b/nixpkgs/pkgs/by-name/ph/phpdocumentor/package.nix
@@ -5,16 +5,19 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "phpdocumentor";
-  version = "3.4.1";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "phpDocumentor";
     repo = "phpDocumentor";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-fNjix3pJDRCTWM3Xtn+AtZe4RJfgQ60kiJB9J9tC5t4=";
+    hash = "sha256-NCBCwQ8im6ttFuQBaG+bzmtinf+rqNnbogcK8r60dCM=";
   };
 
-  vendorHash = "sha256-rsBg2EHbvYLVr6haN1brHZFVjLDaxqdkNWf0HL3Eoy0=";
+  vendorHash = "sha256-/TJ/CahmOWcRBlAsJDzWcfhlDd+ypRapruFT0Dvlb1w=";
+
+  # Needed because of the unbound version constraint on phpdocumentor/json-path
+  composerStrictValidation = false;
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/applications/window-managers/picom/default.nix b/nixpkgs/pkgs/by-name/pi/picom/package.nix
index ade2c1e0ddfe..bf197ab08f35 100644
--- a/nixpkgs/pkgs/applications/window-managers/picom/default.nix
+++ b/nixpkgs/pkgs/by-name/pi/picom/package.nix
@@ -8,6 +8,7 @@
 , libdrm
 , libev
 , libGL
+, libepoxy
 , libX11
 , libxcb
 , libxdg_basedir
@@ -32,13 +33,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "picom";
-  version = "11.1";
+  version = "11.2";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-vdR3HzBZxtth3zJD3vMSlrnBTbopidw7FGKOk69S0R0=";
+    hash = "sha256-7ohtI890CutwprPEY5njqWou0fD6T9eu51EBSQ2/lWs=";
     fetchSubmodules = true;
   };
 
@@ -59,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
     libdrm
     libev
     libGL
+    libepoxy
     libX11
     libxcb
     libxdg_basedir
diff --git a/nixpkgs/pkgs/by-name/pi/pinact/package.nix b/nixpkgs/pkgs/by-name/pi/pinact/package.nix
index 7e5b90100ee3..a5cee76cd9c6 100644
--- a/nixpkgs/pkgs/by-name/pi/pinact/package.nix
+++ b/nixpkgs/pkgs/by-name/pi/pinact/package.nix
@@ -1,6 +1,6 @@
 { lib
 , fetchFromGitHub
-, buildGo120Module
+, buildGoModule
 , testers
 , pinact
 }:
@@ -15,7 +15,7 @@ let
     hash = "sha256-OQo21RHk0c+eARKrA2qB4NAWWanb94DOZm4b9lqDz8o=";
   };
 in
-buildGo120Module {
+buildGoModule {
   inherit pname version src;
 
   vendorHash = "sha256-g7rdIE+w/pn70i8fOmAo/QGjpla3AUWm7a9MOhNmrgE=";
diff --git a/nixpkgs/pkgs/by-name/pl/plow/package.nix b/nixpkgs/pkgs/by-name/pl/plow/package.nix
new file mode 100644
index 000000000000..237b889c71e0
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pl/plow/package.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromGitHub, testers, plow }:
+
+buildGoModule rec {
+  pname = "plow";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "six-ddc";
+    repo = "plow";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TynFq7e4MtZlA5SmGMybhmCVw67yHYgZWffQjuyhTDA=";
+  };
+
+  vendorHash = "sha256-t2lBPyCn8bu9hLsWmaCGir9egbX0mQR+8kB0RfY7nHE=";
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = plow;
+  };
+
+  meta = with lib; {
+    description = "A high-performance HTTP benchmarking tool that includes a real-time web UI and terminal display";
+    homepage = "https://github.com/six-ddc/plow";
+    changelog = "https://github.com/six-ddc/plow/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ecklf ];
+    mainProgram = "plow";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/pl/plumber/package.nix b/nixpkgs/pkgs/by-name/pl/plumber/package.nix
index e306d09cdf35..18bf66678a68 100644
--- a/nixpkgs/pkgs/by-name/pl/plumber/package.nix
+++ b/nixpkgs/pkgs/by-name/pl/plumber/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "plumber";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchFromGitHub {
     owner = "streamdal";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ftXLipJQjRdOSNO56rIRfAKKU0kHtAK85hgcT3nYOKA=";
+    hash = "sha256-0uQYNOmG84kJo6fBZNv4/ua8uVzg2OWOWVFdGIcbm5U=";
   };
 
   vendorHash = null;
@@ -18,12 +18,12 @@ buildGoModule rec {
     export HOME="$(mktemp -d)"
   '';
 
+  subPackages = [ "." ];
+
   ldflags = [
     "-s"
     "-w"
     "-X github.com/streamdal/plumber/options.VERSION=${version}"
-    # remove once module in go.mod is renamed to github.com/batchcorp/streamdal
-    "-X github.com/batchcorp/plumber/options.VERSION=${version}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/by-name/pm/pmtiles/package.nix b/nixpkgs/pkgs/by-name/pm/pmtiles/package.nix
index 4e9cffd9173e..503b32dc22fa 100644
--- a/nixpkgs/pkgs/by-name/pm/pmtiles/package.nix
+++ b/nixpkgs/pkgs/by-name/pm/pmtiles/package.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "pmtiles";
-  version = "1.14.1";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "protomaps";
     repo = "go-pmtiles";
     rev = "v${version}";
-    hash = "sha256-CnREcPXNehxOMZm/cuedkDeWtloc7TGWNmmoFZhSTZE=";
+    hash = "sha256-BHzQMSIE94LW6SGcpaMdX/ztzVLlmWquwWMbruLAt00=";
   };
 
   vendorHash = "sha256-tSQjCdgEXIGlSWcIB6lLQulAiEAebgW3pXL9Z2ujgIs=";
diff --git a/nixpkgs/pkgs/by-name/pr/preserves-tools/package.nix b/nixpkgs/pkgs/by-name/pr/preserves-tools/package.nix
index 7b8407aea02f..170184efe72f 100644
--- a/nixpkgs/pkgs/by-name/pr/preserves-tools/package.nix
+++ b/nixpkgs/pkgs/by-name/pr/preserves-tools/package.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "preserves-tools";
-  version = "4.992.2";
+  version = "4.994.0";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-1IX6jTAH6qWE8X7YtIka5Z4y70obiVotOXzRnu+Z6a0=";
+    hash = "sha256-+I2uxdAe4SHg8ZLRvkIUr862FH6GvCwnyhxcCPD3JBA=";
   };
 
-  cargoHash = "sha256-D/ZCKRqZtPoCJ9t+5+q1Zm79z3K6Rew4eyuyDiGVGUs=";
+  cargoHash = "sha256-09uxXD9EZzzk42tBYbuqaLRFyGmOUuvC7G0XMDjsK6E=";
 
   meta = {
     description =
diff --git a/nixpkgs/pkgs/by-name/pt/ptunnel/package.nix b/nixpkgs/pkgs/by-name/pt/ptunnel/package.nix
new file mode 100644
index 000000000000..fedc0e3a5fe0
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/pt/ptunnel/package.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, libpcap
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ptunnel";
+  version = "0.72";
+
+  src = fetchurl {
+    url = "https://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-${finalAttrs.version}.tar.gz";
+    hash = "sha256-sxj3qn2IkYtiadBUp+JvBPl9iHD0e9Sadsssmcc0B6Q=";
+  };
+
+  patches = [
+    # fix hyphen-used-as-minus-sign lintian warning in manpage.
+    (fetchpatch {
+      url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/7475a32bc401056aeeb1b99e56b9ae5f1ee9c960/debian/patches/fix_minus_chars_in_man.patch";
+      hash = "sha256-DcMsCZczO+SxOiQuFbdSJn5UH5E4TVf3+vupJ4OurVg=";
+    })
+    # fix typo in README file.
+    (fetchpatch {
+      url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/7475a32bc401056aeeb1b99e56b9ae5f1ee9c960/debian/patches/fix_typo.diff";
+      hash = "sha256-9cdOCfr2r9FnTmxJwvoClW5uf27j05zWQLykahKMJQg=";
+    })
+    # reverse parameters to memset.
+    (fetchpatch {
+      url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/1dbf9b69507e19c86ac539fd8e3c60fc274717b3/debian/patches/memset-fix.patch";
+      hash = "sha256-dYbuMM0/ZUgi3OxukBIp5rKhlwAjGu7cl/3w3sWr/xU=";
+    })
+  ];
+
+  makeFlags = [
+    "prefix=$(out)"
+    "CC=cc"
+  ];
+
+  buildInputs = [
+    libpcap
+  ];
+
+  meta = with lib; {
+    description = "A tool for reliably tunneling TCP connections over ICMP echo request and reply packets";
+    homepage = "https://www.cs.uit.no/~daniels/PingTunnel";
+    license = licenses.bsd3;
+    mainProgram = "ptunnel";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/py/pyprland/package.nix b/nixpkgs/pkgs/by-name/py/pyprland/package.nix
index 7bc0b39edb2d..32def482f369 100644
--- a/nixpkgs/pkgs/by-name/py/pyprland/package.nix
+++ b/nixpkgs/pkgs/by-name/py/pyprland/package.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyprland";
-  version = "1.8.7";
+  version = "1.10.2";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.10";
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
     owner = "hyprland-community";
     repo = "pyprland";
     rev = "refs/tags/${version}";
-    hash = "sha256-6ne1wohpknxXpaLg29COM84pXUBKXBVH0jaLfypLtUo=";
+    hash = "sha256-ZbxrfxgURs+XHegsdZ7Z42o7flQ8Jt2rfR2RwDmGpls=";
   };
 
   nativeBuildInputs = with python3Packages; [ poetry-core ];
diff --git a/nixpkgs/pkgs/tools/filesystems/stratisd/Cargo.lock b/nixpkgs/pkgs/by-name/py/pyxel/Cargo.lock
index ddca983aa1cb..48e718510249 100644
--- a/nixpkgs/pkgs/tools/filesystems/stratisd/Cargo.lock
+++ b/nixpkgs/pkgs/by-name/py/pyxel/Cargo.lock
@@ -3,10 +3,22 @@
 version = 3
 
 [[package]]
-name = "aho-corasick"
+name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "adler32"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -27,87 +39,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "anstream"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is-terminal",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-dependencies = [
- "windows-sys",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
-dependencies = [
- "anstyle",
- "windows-sys",
-]
-
-[[package]]
-name = "assert_cmd"
-version = "2.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86d6b683edf8d1119fe420a94f8a7e389239666aa72e65495d91c00462510151"
-dependencies = [
- "anstyle",
- "bstr",
- "doc-comment",
- "predicates",
- "predicates-core",
- "predicates-tree",
- "wait-timeout",
-]
-
-[[package]]
-name = "assert_matches"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
-
-[[package]]
-name = "async-trait"
-version = "0.1.68"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -115,38 +46,31 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "bindgen"
-version = "0.68.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
+version = "0.69.1"
+source = "git+https://github.com/rust-lang/rust-bindgen.git?rev=d77e53ed8398743bf68831d25063719fa0f4f136#d77e53ed8398743bf68831d25063719fa0f4f136"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "cexpr",
  "clang-sys",
  "lazy_static",
  "lazycell",
+ "log",
  "peeking_take_while",
+ "prettyplease",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "bit-set"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
-dependencies = [
- "bit-vec",
+ "syn",
+ "which",
 ]
 
 [[package]]
-name = "bit-vec"
-version = "0.6.3"
+name = "bit_field"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
 
 [[package]]
 name = "bitflags"
@@ -156,48 +80,36 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
-name = "bstr"
-version = "1.5.0"
+name = "bumpalo"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
-dependencies = [
- "memchr",
- "once_cell",
- "regex-automata",
- "serde",
-]
+checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f"
 
 [[package]]
-name = "bumpalo"
-version = "3.13.0"
+name = "bytemuck"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "cexpr"
@@ -210,33 +122,29 @@ dependencies = [
 
 [[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 = "chrono"
-version = "0.4.26"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
+ "js-sys",
  "num-traits",
- "winapi",
+ "wasm-bindgen",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "clang-sys"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
 dependencies = [
  "glob",
  "libc",
@@ -244,367 +152,288 @@ dependencies = [
 ]
 
 [[package]]
-name = "clap"
-version = "4.3.5"
+name = "cmake"
+version = "0.1.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2686c4115cb0810d9a984776e197823d08ec94f176549a89a9efded477c456dc"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
 dependencies = [
- "clap_builder",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e53afce1efce6ed1f633cf0e57612fe51db54a1ee4fd8f8503d078fe02d69ae"
-dependencies = [
- "anstream",
- "anstyle",
- "bitflags 1.3.2",
- "clap_lex",
- "strsim",
+ "cc",
 ]
 
 [[package]]
-name = "clap_lex"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
+name = "color_quant"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
-name = "cpufeatures"
-version = "0.2.8"
+name = "crc32fast"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
- "libc",
+ "cfg-if",
 ]
 
 [[package]]
-name = "crc"
-version = "3.0.1"
+name = "crossbeam-deque"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "crc-catalog",
+ "crossbeam-epoch",
+ "crossbeam-utils",
 ]
 
 [[package]]
-name = "crc-catalog"
-version = "2.2.0"
+name = "crossbeam-epoch"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "generic-array",
- "typenum",
+ "crossbeam-utils",
 ]
 
 [[package]]
-name = "data-encoding"
-version = "2.4.0"
+name = "crossbeam-utils"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
-
-[[package]]
-name = "dbus"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
-dependencies = [
- "libc",
- "libdbus-sys",
- "winapi",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
-name = "dbus-tree"
-version = "0.9.2"
+name = "crunchy"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f456e698ae8e54575e19ddb1f9b7bce2298568524f215496b248eb9498b4f508"
-dependencies = [
- "dbus",
-]
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
-name = "devicemapper"
-version = "0.34.0"
+name = "deflate"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ff98688149bf6128f259f0009f98eb8ad82584aa0aae143081fdfde513d3d13"
+checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174"
 dependencies = [
- "bitflags 2.4.0",
- "devicemapper-sys",
- "env_logger",
- "lazy_static",
- "log",
- "nix 0.26.2",
- "rand",
- "retry",
- "semver",
- "serde",
+ "adler32",
+ "byteorder",
 ]
 
 [[package]]
-name = "devicemapper-sys"
-version = "0.2.0"
+name = "dirs-next"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "734fba4d2e6b551396439ea7dd4f56980b11bb096bbf505d4a259943b228367b"
+checksum = "cf36e65a80337bea855cd4ef9b8401ffce06a7baedf2e85ec467b1ac3f6e82b6"
 dependencies = [
- "bindgen",
+ "cfg-if",
+ "dirs-sys-next",
 ]
 
 [[package]]
-name = "difflib"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
-
-[[package]]
-name = "digest"
-version = "0.10.7"
+name = "dirs-sys-next"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
 dependencies = [
- "block-buffer",
- "crypto-common",
+ "libc",
+ "redox_users",
+ "winapi",
 ]
 
 [[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
 name = "either"
-version = "1.8.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
-name = "env_logger"
-version = "0.10.0"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
-dependencies = [
- "humantime",
- "is-terminal",
- "log",
- "regex",
- "termcolor",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "errno-dragonfly",
  "libc",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "exr"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
- "cc",
- "libc",
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide 0.7.2",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
 ]
 
 [[package]]
-name = "fastrand"
-version = "1.9.0"
+name = "fdeflate"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
- "instant",
+ "simd-adler32",
 ]
 
 [[package]]
-name = "float-cmp"
-version = "0.9.0"
+name = "filetime"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
- "num-traits",
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "futures"
-version = "0.3.28"
+name = "flate2"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
+ "crc32fast",
+ "miniz_oxide 0.7.2",
 ]
 
 [[package]]
-name = "futures-channel"
-version = "0.3.28"
+name = "flume"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "futures-core",
- "futures-sink",
+ "spin",
 ]
 
 [[package]]
-name = "futures-core"
-version = "0.3.28"
+name = "getrandom"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
 
 [[package]]
-name = "futures-executor"
-version = "0.3.28"
+name = "getrandom"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
 ]
 
 [[package]]
-name = "futures-io"
-version = "0.3.28"
+name = "gif"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
 
 [[package]]
-name = "futures-macro"
-version = "0.3.28"
+name = "gif"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
+ "color_quant",
+ "weezl",
 ]
 
 [[package]]
-name = "futures-sink"
-version = "0.3.28"
+name = "gif"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
 
 [[package]]
-name = "futures-task"
-version = "0.3.28"
+name = "glob"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
-name = "futures-util"
-version = "0.3.28"
+name = "glow"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
+ "js-sys",
+ "slotmap",
+ "wasm-bindgen",
+ "web-sys",
 ]
 
 [[package]]
-name = "generic-array"
-version = "0.14.7"
+name = "half"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
- "typenum",
- "version_check",
+ "cfg-if",
+ "crunchy",
 ]
 
 [[package]]
-name = "getrandom"
-version = "0.2.10"
+name = "hashbrown"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi",
-]
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
-name = "glob"
-version = "0.3.1"
+name = "heck"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
-name = "hermit-abi"
-version = "0.2.6"
+name = "home"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "hermit-abi"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -617,72 +446,81 @@ dependencies = [
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
+name = "image"
+version = "0.23.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
 dependencies = [
- "cfg-if 1.0.0",
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "gif 0.11.4",
+ "jpeg-decoder 0.1.22",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+ "png 0.16.8",
+ "scoped_threadpool",
+ "tiff 0.6.1",
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
+name = "image"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
- "hermit-abi 0.3.2",
- "libc",
- "windows-sys",
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif 0.12.0",
+ "jpeg-decoder 0.3.1",
+ "num-traits",
+ "png 0.17.12",
+ "qoi",
+ "tiff 0.9.1",
 ]
 
 [[package]]
-name = "iocuddle"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8972d5be69940353d5347a1344cb375d9b457d6809b428b05bb1ca2fb9ce007"
-
-[[package]]
-name = "is-terminal"
-version = "0.4.7"
+name = "indexmap"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
- "hermit-abi 0.3.2",
- "io-lifetimes",
- "rustix",
- "windows-sys",
+ "equivalent",
+ "hashbrown",
 ]
 
 [[package]]
-name = "itertools"
-version = "0.10.5"
+name = "indoc"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
 
 [[package]]
-name = "itertools"
-version = "0.12.0"
+name = "jpeg-decoder"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
 dependencies = [
- "either",
+ "rayon",
 ]
 
 [[package]]
-name = "itoa"
-version = "1.0.6"
+name = "jpeg-decoder"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+dependencies = [
+ "rayon",
+]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -700,263 +538,214 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
-name = "libblkid-rs"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b43fd7c0de11a5209aff91fb625c118fc15173ae3dd0ac11e8f61a1b4d1a863"
-dependencies = [
- "either",
- "libblkid-rs-sys",
- "libc",
- "uuid",
-]
-
-[[package]]
-name = "libblkid-rs-sys"
-version = "0.2.0"
+name = "lebe"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "163068067b2faf263fb2fc3daff137b45608ee185044ca849dc41438aa38e23a"
-dependencies = [
- "bindgen",
- "cc",
-]
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
-name = "libcryptsetup-rs"
-version = "0.9.1"
+name = "libloading"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73d2aa26d63e5289d6fac1e7e0be2e248ded9b5dfb3e2c345820d060c537d4b6"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
 dependencies = [
- "bitflags 2.4.0",
- "either",
- "lazy_static",
- "libc",
- "libcryptsetup-rs-sys",
- "log",
- "pkg-config",
- "semver",
- "serde_json",
- "uuid",
+ "cfg-if",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "libcryptsetup-rs-sys"
-version = "0.3.0"
+name = "libredox"
+version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20fc299fd05078d353a895d940fc463d1008d94258fc8096c095467549324707"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bindgen",
- "cc",
- "pkg-config",
- "semver",
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
 ]
 
 [[package]]
-name = "libdbus-sys"
-version = "0.2.5"
+name = "linux-raw-sys"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
-dependencies = [
- "pkg-config",
-]
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
-name = "libloading"
-version = "0.7.4"
+name = "lock_api"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
- "cfg-if 1.0.0",
- "winapi",
+ "autocfg",
+ "scopeguard",
 ]
 
 [[package]]
-name = "libm"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
-
-[[package]]
-name = "libmount"
-version = "0.1.15"
+name = "log"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23c4c2ad2d5cbd2f5a05620c3daf45930add53ec207fa99ce5eec971089dc35f"
-dependencies = [
- "libc",
- "nix 0.14.1",
- "quick-error",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
-name = "libudev"
-version = "0.3.0"
+name = "memchr"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0"
-dependencies = [
- "libc",
- "libudev-sys",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
-name = "libudev-sys"
-version = "0.1.4"
+name = "memoffset"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
- "libc",
- "pkg-config",
+ "autocfg",
 ]
 
 [[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-
-[[package]]
-name = "log"
-version = "0.4.19"
+name = "minimal-lexical"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
-name = "loopdev-3"
-version = "0.5.0"
+name = "miniz_oxide"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "378e7ca4e85e592564e6a96c362303972b5c7860367014383aadc10a8704fc38"
+checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
 dependencies = [
- "bindgen",
- "errno",
- "libc",
+ "adler32",
 ]
 
 [[package]]
-name = "memchr"
-version = "2.5.0"
+name = "miniz_oxide"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
+dependencies = [
+ "adler",
+ "autocfg",
+]
 
 [[package]]
-name = "memoffset"
-version = "0.7.1"
+name = "miniz_oxide"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
- "autocfg",
+ "adler",
+ "simd-adler32",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
+name = "noise"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "82051dd6745d5184c6efb7bc8be14892a7f6d4f3ad6dbf754d1c7d7d5fe24b43"
 dependencies = [
- "autocfg",
+ "image 0.23.14",
+ "rand 0.7.3",
+ "rand_xorshift",
 ]
 
 [[package]]
-name = "minimal-lexical"
-version = "0.2.1"
+name = "nom"
+version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
 
 [[package]]
-name = "mio"
-version = "0.8.8"
+name = "ntapi"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
 dependencies = [
- "libc",
- "wasi",
- "windows-sys",
+ "winapi",
 ]
 
 [[package]]
-name = "nix"
-version = "0.14.1"
+name = "num-integer"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "bitflags 1.3.2",
- "cc",
- "cfg-if 0.1.10",
- "libc",
- "void",
+ "num-traits",
 ]
 
 [[package]]
-name = "nix"
-version = "0.26.2"
+name = "num-iter"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
- "bitflags 1.3.2",
- "cfg-if 1.0.0",
- "libc",
- "memoffset 0.7.1",
- "pin-utils",
- "static_assertions",
+ "autocfg",
+ "num-integer",
+ "num-traits",
 ]
 
 [[package]]
-name = "nix"
-version = "0.27.1"
+name = "num-rational"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
 dependencies = [
- "bitflags 2.4.0",
- "cfg-if 1.0.0",
- "libc",
- "memoffset 0.9.0",
+ "autocfg",
+ "num-integer",
+ "num-traits",
 ]
 
 [[package]]
-name = "nom"
-version = "7.1.3"
+name = "num-traits"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
- "memchr",
- "minimal-lexical",
+ "autocfg",
 ]
 
 [[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
+name = "once_cell"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
-name = "num-traits"
-version = "0.2.15"
+name = "parking_lot"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
- "autocfg",
- "libm",
+ "lock_api",
+ "parking_lot_core",
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.15.0"
+name = "parking_lot_core"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
- "hermit-abi 0.2.6",
+ "cfg-if",
  "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.18.0"
+name = "paste"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "peeking_take_while"
@@ -965,22 +754,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
-name = "pin-project-lite"
-version = "0.2.9"
+name = "platform-dirs"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "e188d043c1a692985f78b5464853a263f1a27e5bd6322bad3a4078ee3c998a38"
+dependencies = [
+ "dirs-next",
+]
 
 [[package]]
-name = "pin-utils"
-version = "0.1.0"
+name = "png"
+version = "0.16.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "deflate",
+ "miniz_oxide 0.3.7",
+]
 
 [[package]]
-name = "pkg-config"
-version = "0.3.27"
+name = "png"
+version = "0.17.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "78c2378060fb13acff3ba0325b83442c1d2c44fbb76df481160ddc1687cce160"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide 0.7.2",
+]
 
 [[package]]
 name = "ppv-lite86"
@@ -989,95 +794,183 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
-name = "predicates"
-version = "3.0.3"
+name = "prettyplease"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9"
+checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
 dependencies = [
- "anstyle",
- "difflib",
- "float-cmp",
- "itertools 0.10.5",
- "normalize-line-endings",
- "predicates-core",
- "regex",
+ "proc-macro2",
+ "syn",
 ]
 
 [[package]]
-name = "predicates-core"
-version = "1.0.6"
+name = "proc-macro2"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
 
 [[package]]
-name = "predicates-tree"
-version = "1.0.9"
+name = "pyo3"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
 dependencies = [
- "predicates-core",
- "termtree",
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
 ]
 
 [[package]]
-name = "pretty-hex"
-version = "0.4.1"
+name = "pyo3-build-config"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254"
+checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
 
 [[package]]
-name = "proc-macro2"
-version = "1.0.66"
+name = "pyo3-ffi"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
 dependencies = [
- "unicode-ident",
+ "libc",
+ "pyo3-build-config",
 ]
 
 [[package]]
-name = "proptest"
-version = "1.2.0"
+name = "pyo3-macros"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65"
+checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
 dependencies = [
- "bit-set",
- "bitflags 1.3.2",
- "byteorder",
- "lazy_static",
- "num-traits",
- "rand",
- "rand_chacha",
- "rand_xorshift",
- "regex-syntax 0.6.29",
- "rusty-fork",
- "tempfile",
- "unarray",
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn",
 ]
 
 [[package]]
-name = "quick-error"
-version = "1.2.3"
+name = "pyo3-macros-backend"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pyxel-engine"
+version = "2.0.7"
+dependencies = [
+ "cfg-if",
+ "chrono",
+ "gif 0.13.1",
+ "glow",
+ "image 0.24.8",
+ "indexmap",
+ "noise",
+ "once_cell",
+ "parking_lot",
+ "platform-dirs",
+ "pyxel-platform",
+ "rand 0.8.5",
+ "rand_xoshiro",
+ "semver",
+ "serde",
+ "serde-xml-rs",
+ "toml",
+ "zip",
+]
+
+[[package]]
+name = "pyxel-platform"
+version = "2.0.7"
+dependencies = [
+ "bindgen",
+ "cfg-if",
+ "cmake",
+ "flate2",
+ "glow",
+ "once_cell",
+ "parking_lot",
+ "paste",
+ "tar",
+]
+
+[[package]]
+name = "pyxel-wrapper"
+version = "2.0.7"
+dependencies = [
+ "pyo3",
+ "pyxel-engine",
+ "sysinfo",
+]
+
+[[package]]
+name = "qoi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
+dependencies = [
+ "bytemuck",
+]
 
 [[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[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",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
 ]
 
 [[package]]
@@ -1087,7 +980,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
 ]
 
 [[package]]
@@ -1096,61 +998,104 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom",
+ "getrandom 0.2.12",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
 ]
 
 [[package]]
 name = "rand_xorshift"
-version = "0.3.0"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8"
+dependencies = [
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rand_xoshiro"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
 dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rayon"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom 0.2.12",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.2",
+ "regex-automata",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
-
-[[package]]
-name = "retry"
-version = "1.3.1"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac95c60a949a63fd2822f4964939662d8f2c16c4fa0624fd954bc6e703b9a3f6"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc-hash"
@@ -1160,82 +1105,74 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.25"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "rusty-fork"
-version = "0.3.0"
+name = "scoped_threadpool"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
-dependencies = [
- "fnv",
- "quick-error",
- "tempfile",
- "wait-timeout",
-]
+checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
 
 [[package]]
-name = "ryu"
-version = "1.0.13"
+name = "scopeguard"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
-version = "1.0.188"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
-name = "serde_derive"
-version = "1.0.188"
+name = "serde-xml-rs"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
+ "log",
+ "serde",
+ "thiserror",
+ "xml-rs",
 ]
 
 [[package]]
-name = "serde_json"
-version = "1.0.97"
+name = "serde_derive"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
- "itoa",
- "ryu",
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn",
 ]
 
 [[package]]
-name = "sha2"
-version = "0.10.7"
+name = "serde_spanned"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest",
+ "serde",
 ]
 
 [[package]]
@@ -1245,225 +1182,165 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
+name = "simd-adler32"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
-name = "slab"
-version = "0.4.8"
+name = "slotmap"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
- "autocfg",
+ "version_check",
 ]
 
 [[package]]
-name = "socket2"
-version = "0.4.9"
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "spin"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 dependencies = [
- "libc",
- "winapi",
+ "lock_api",
 ]
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "syn"
+version = "2.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
 
 [[package]]
-name = "stratisd"
-version = "3.6.4"
+name = "sysinfo"
+version = "0.30.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2"
 dependencies = [
- "assert_cmd",
- "assert_matches",
- "async-trait",
- "bindgen",
- "byteorder",
- "chrono",
- "clap",
- "crc",
- "data-encoding",
- "dbus",
- "dbus-tree",
- "devicemapper",
- "either",
- "env_logger",
- "futures",
- "iocuddle",
- "itertools 0.12.0",
- "lazy_static",
- "libblkid-rs",
+ "cfg-if",
+ "core-foundation-sys",
  "libc",
- "libcryptsetup-rs",
- "libcryptsetup-rs-sys",
- "libmount",
- "libudev",
- "log",
- "loopdev-3",
- "nix 0.27.1",
- "pkg-config",
- "predicates",
- "pretty-hex",
- "proptest",
- "rand",
- "regex",
- "retry",
- "semver",
- "serde",
- "serde_derive",
- "serde_json",
- "sha2",
- "stratisd_proc_macros",
- "tempfile",
- "termios",
- "tokio",
- "uuid",
+ "ntapi",
+ "once_cell",
+ "rayon",
+ "windows",
 ]
 
 [[package]]
-name = "stratisd_proc_macros"
-version = "0.2.1"
+name = "tar"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "filetime",
+ "libc",
+ "xattr",
 ]
 
 [[package]]
-name = "strsim"
-version = "0.10.0"
+name = "target-lexicon"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
-name = "syn"
-version = "1.0.109"
+name = "thiserror"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
+ "thiserror-impl",
 ]
 
 [[package]]
-name = "syn"
-version = "2.0.29"
+name = "thiserror-impl"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-ident",
+ "syn",
 ]
 
 [[package]]
-name = "tempfile"
-version = "3.6.0"
+name = "tiff"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437"
 dependencies = [
- "autocfg",
- "cfg-if 1.0.0",
- "fastrand",
- "redox_syscall",
- "rustix",
- "windows-sys",
+ "jpeg-decoder 0.1.22",
+ "miniz_oxide 0.4.4",
+ "weezl",
 ]
 
 [[package]]
-name = "termcolor"
-version = "1.2.0"
+name = "tiff"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
- "winapi-util",
+ "flate2",
+ "jpeg-decoder 0.3.1",
+ "weezl",
 ]
 
 [[package]]
-name = "termios"
-version = "0.3.3"
+name = "toml"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
- "libc",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
 ]
 
 [[package]]
-name = "termtree"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
-
-[[package]]
-name = "tokio"
-version = "1.28.2"
+name = "toml_datetime"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
- "autocfg",
- "libc",
- "mio",
- "num_cpus",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "windows-sys",
+ "serde",
 ]
 
 [[package]]
-name = "tokio-macros"
-version = "2.1.0"
+name = "toml_edit"
+version = "0.22.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unarray"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
-
-[[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
-name = "utf8parse"
-version = "0.2.1"
+name = "unindent"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "uuid"
-version = "1.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81"
-dependencies = [
- "getrandom",
- "serde",
-]
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
 
 [[package]]
 name = "version_check"
@@ -1472,19 +1349,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "void"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-
-[[package]]
-name = "wait-timeout"
-version = "0.2.0"
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-dependencies = [
- "libc",
-]
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 
 [[package]]
 name = "wasi"
@@ -1494,34 +1362,34 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1529,22 +1397,50 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+
+[[package]]
+name = "web-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "which"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
 
 [[package]]
 name = "winapi"
@@ -1563,15 +1459,6 @@ 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"
@@ -1579,11 +1466,21 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.48.0"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -1592,62 +1489,175 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "xml-rs"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+
+[[package]]
+name = "zip"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+dependencies = [
+ "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+]
+
+[[package]]
+name = "zune-inflate"
+version = "0.2.54"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+dependencies = [
+ "simd-adler32",
+]
diff --git a/nixpkgs/pkgs/by-name/py/pyxel/never-bundle-sdl2.patch b/nixpkgs/pkgs/by-name/py/pyxel/never-bundle-sdl2.patch
new file mode 100644
index 000000000000..e3448d4ede63
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/py/pyxel/never-bundle-sdl2.patch
@@ -0,0 +1,13 @@
+diff --git a/crates/pyxel-platform/build.rs b/crates/pyxel-platform/build.rs
+index 35cdeef5..68a93ed9 100644
+--- a/crates/pyxel-platform/build.rs
++++ b/crates/pyxel-platform/build.rs
+@@ -30,7 +30,7 @@ impl SDL2BindingsBuilder {
+     }
+ 
+     fn should_bundle_sdl2(&self) -> bool {
+-        self.target_os.contains("windows") || self.target_os == "darwin"
++        false
+     }
+ 
+     fn download_sdl2(&self) {
diff --git a/nixpkgs/pkgs/by-name/py/pyxel/package.nix b/nixpkgs/pkgs/by-name/py/pyxel/package.nix
new file mode 100644
index 000000000000..4c9cd40682ff
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/py/pyxel/package.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, python3
+, fetchFromGitHub
+, rustPlatform
+, SDL2
+, libiconv
+, darwin
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pyxel";
+  version = "2.0.7";
+  pyproject = true;
+
+  disabled = python3.pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kitao";
+    repo = "pyxel";
+    rev = "v${version}";
+    hash = "sha256-5Jrwfi79HbS4hh+eMwI49Rsk4jrAdAuDhNpUT2cEvDo=";
+  };
+
+  patches = [
+    ./never-bundle-sdl2.patch
+    ./update-bindgen-f16-support.patch # can be removed once rust-bindgen gets a new release
+  ];
+
+  cargoRoot = "crates/pyxel-wrapper";
+
+  # Lockfile is generated by applying patches with `git apply`
+  # and then running `cargo generate-lockfile` in `crates/pyxel-wrapper`
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "bindgen-0.69.1" = "sha256-1967EmuyWgmrKmhwAcW49dlmuWPNuKjuRr5/u7ZKpXQ=";
+    };
+  };
+
+  postPatch = ''
+    cp ${./Cargo.lock} crates/pyxel-wrapper/Cargo.lock
+  '';
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+    bindgenHook
+  ];
+
+  buildInputs = [ SDL2 ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+    darwin.apple_sdk.frameworks.IOKit
+  ];
+
+  env.NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL2}/include/SDL2";
+
+  # Tests can't use the display
+  dontCheck = true;
+
+  pythonImportsCheck = [
+    "pyxel"
+    "pyxel.pyxel_wrapper"
+  ];
+
+  meta = {
+    changelog = "https://github.com/kitao/pyxel/tree/${src.rev}/CHANGELOG.md";
+    description = "A retro game engine for Python";
+    homepage = "https://github.com/kitao/pyxel";
+    license = lib.licenses.mit;
+    mainProgram = "pyxel";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/py/pyxel/update-bindgen-f16-support.patch b/nixpkgs/pkgs/by-name/py/pyxel/update-bindgen-f16-support.patch
new file mode 100644
index 000000000000..9b7257c7670c
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/py/pyxel/update-bindgen-f16-support.patch
@@ -0,0 +1,13 @@
+diff --git a/crates/pyxel-platform/Cargo.toml b/crates/pyxel-platform/Cargo.toml
+index 01a87b68..088ffbdd 100644
+--- a/crates/pyxel-platform/Cargo.toml
++++ b/crates/pyxel-platform/Cargo.toml
+@@ -22,7 +22,7 @@ parking_lot = "0.12"
+ paste = "1.0"
+ 
+ [build-dependencies]
+-bindgen = "0.69"
++bindgen = { git = "https://github.com/rust-lang/rust-bindgen.git", rev = "d77e53ed8398743bf68831d25063719fa0f4f136" }
+ cmake = "0.1"
+ flate2 = "1.0"
+ tar = "0.4"
diff --git a/nixpkgs/pkgs/by-name/qr/qrtool/package.nix b/nixpkgs/pkgs/by-name/qr/qrtool/package.nix
index 0eca4c6ada02..4cee9724b3d7 100644
--- a/nixpkgs/pkgs/by-name/qr/qrtool/package.nix
+++ b/nixpkgs/pkgs/by-name/qr/qrtool/package.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "qrtool";
-  version = "0.10.4";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "sorairolake";
     repo = "qrtool";
     rev = "v${version}";
-    sha256 = "sha256-b1dNGEdjmY2RSZ3M7lwWVeookMij2rUsVtevsYYNtw0=";
+    sha256 = "sha256-XYoa5AueI0AYH5Lw7CmzeK9RkNy8WXbAAePAGkcwzWw=";
   };
 
-  cargoHash = "sha256-9Zd4zETDy8iM/rrZI55NOybpa4Sn9AzYsNYmLDzxL+Q=";
+  cargoHash = "sha256-s68OCW2KS1ADTp8rWaUOGXCrl+Qapyf9FcLVhSF4QMg=";
 
   nativeBuildInputs = [ asciidoctor installShellFiles ];
 
diff --git a/nixpkgs/pkgs/by-name/qu/quark-goldleaf/99-quark-goldleaf.rules b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/99-quark-goldleaf.rules
new file mode 100644
index 000000000000..aa79720d7b55
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/99-quark-goldleaf.rules
@@ -0,0 +1,2 @@
+# Nintendo Switch HOS
+SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
diff --git a/nixpkgs/pkgs/by-name/qu/quark-goldleaf/fix-maven-plugin-versions.patch b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/fix-maven-plugin-versions.patch
new file mode 100644
index 000000000000..efe2e13c69cc
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/fix-maven-plugin-versions.patch
@@ -0,0 +1,88 @@
+diff --git a/pom.xml b/pom.xml
+index 5a683ca..be71e5d 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -104,7 +105,7 @@
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-compiler-plugin</artifactId>
+-                <version>3.1</version>
++                <version>3.11.0</version>
+                 <configuration>
+                     <source>1.8</source>
+                     <target>1.8</target>
+@@ -113,7 +114,7 @@
+             
+             <plugin>
+                 <artifactId>maven-jar-plugin</artifactId>
+-                <version>2.4</version>
++                <version>3.3.0</version>
+                 <executions>
+                     <execution>
+                         <id>default-jar</id>
+@@ -134,7 +135,7 @@
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-assembly-plugin</artifactId>
+-                <version>3.1.0</version>
++                <version>3.6.0</version>
+                 <configuration>
+                     <finalName>Quark</finalName>
+                     <appendAssemblyId>false</appendAssemblyId>
+@@ -157,6 +158,56 @@
+                     </execution>
+                 </executions>
+             </plugin>
++
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-enforcer-plugin</artifactId>
++                <version>3.3.0</version>
++                <executions>
++                    <execution>
++                        <id>require-all-plugin-versions-to-be-set</id>
++                        <phase>validate</phase>
++                        <goals>
++                            <goal>enforce</goal>
++                        </goals>
++                        <configuration>
++                            <rules>
++                                <requirePluginVersions />
++                            </rules>
++                        </configuration>
++                    </execution>
++                </executions>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-deploy-plugin</artifactId>
++                <version>3.1.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-resources-plugin</artifactId>
++                <version>3.3.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-site-plugin</artifactId>
++                <version>4.0.0-M9</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-install-plugin</artifactId>
++                <version>3.1.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-clean-plugin</artifactId>
++                <version>3.3.1</version>
++            </plugin>
++            <plugin>
++                <groupId>org.apache.maven.plugins</groupId>
++                <artifactId>maven-surefire-plugin</artifactId>
++                <version>3.1.2</version>
++            </plugin>
+         </plugins>
+     </build>
+ 
diff --git a/nixpkgs/pkgs/by-name/qu/quark-goldleaf/package.nix b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/package.nix
new file mode 100644
index 000000000000..71321a76fbd5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/package.nix
@@ -0,0 +1,114 @@
+{ lib
+, jdk
+, maven
+, fetchFromGitHub
+, fetchpatch
+, makeDesktopItem
+, copyDesktopItems
+, imagemagick
+, wrapGAppsHook
+, gtk3
+}:
+
+let
+  jdk' = jdk.override { enableJavaFX = true; };
+  maven' = maven.override { jdk = jdk'; };
+in
+maven'.buildMavenPackage rec {
+  pname = "quark-goldleaf";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "XorTroll";
+    repo = "Goldleaf";
+    rev = version;
+    hash = "sha256-gagIQGOiygJ0Onm0SrkbFWaovqWX2WJNx7LpSRheCLM=";
+  };
+
+  sourceRoot = "${src.name}/Quark";
+
+  patches = [
+    ./fix-maven-plugin-versions.patch
+    ./remove-pom-jfx.patch
+    (fetchpatch {
+      name = "fix-config-path.patch";
+      url = "https://github.com/XorTroll/Goldleaf/commit/714ecc2755df9c1252615ad02cafff9c0311a739.patch";
+      hash = "sha256-4j+6uLIOdltZ4XIb3OtOzZg9ReH9660gZMMNQpHnn4o=";
+      relative = "Quark";
+    })
+  ];
+
+  mvnHash = "sha256-gA3HsQZFa2POP9cyJLb1l8t3hrJYzDowhJU+5Xl79p4=";
+
+  # set fixed build timestamp for deterministic jar
+  mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
+
+  nativeBuildInputs = [
+    imagemagick # for icon conversion
+    copyDesktopItems
+    wrapGAppsHook
+  ];
+
+  buildInputs = [ gtk3 ];
+
+  # don't double-wrap
+  dontWrapGApps = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 ${./99-quark-goldleaf.rules} $out/etc/udev/rules.d/99-quark-goldleaf.rules
+    install -Dm644 target/Quark.jar $out/share/java/quark-goldleaf.jar
+
+    for size in 16 24 32 48 64 128; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      convert -resize "$size"x"$size" src/main/resources/Icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/quark-goldleaf.png
+    done
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    # This is in postFixup because gappsWrapperArgs are generated during preFixup
+    makeWrapper ${jdk'}/bin/java $out/bin/quark-goldleaf \
+        "''${gappsWrapperArgs[@]}" \
+        --add-flags "-jar $out/share/java/quark-goldleaf.jar"
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "quark-goldleaf";
+      exec = "quark-goldleaf";
+      icon = "quark-goldleaf";
+      desktopName = "Quark";
+      comment = meta.description;
+      terminal = false;
+      categories = [ "Utility" "FileTransfer" ];
+      keywords = [ "nintendo" "switch" "goldleaf" ];
+    })
+  ];
+
+  meta = {
+    changelog = "https://github.com/XorTroll/Goldleaf/releases/tag/${src.rev}";
+    description = "A GUI tool for transfering files between a computer and a Nintendo Switch running Goldleaf";
+    homepage = "https://github.com/XorTroll/Goldleaf#quark-and-remote-browsing";
+    longDescription = ''
+      ${meta.description}
+
+      For the program to work properly, you will have to install Nintendo Switch udev rules.
+
+      You can either do this by enabling the NixOS module:
+
+      `programs.quark-goldleaf.enable = true;`
+
+      or by adding the package manually to udev packages:
+
+      `services.udev.packages = [ pkgs.quark-goldleaf ];
+    '';
+    license = lib.licenses.gpl3Only;
+    mainProgram = "quark-goldleaf";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = with lib.platforms; linux ++ darwin;
+  };
+}
+
diff --git a/nixpkgs/pkgs/by-name/qu/quark-goldleaf/remove-pom-jfx.patch b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/remove-pom-jfx.patch
new file mode 100644
index 000000000000..3a28ee27086a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/qu/quark-goldleaf/remove-pom-jfx.patch
@@ -0,0 +1,93 @@
+diff --git a/pom.xml b/pom.xml
+index 51ce56b..44dcd09 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -15,72 +15,6 @@
+   </properties>
+ 
+     <dependencies>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-controls</artifactId>
+-            <version>17</version>
+-            <classifier>linux</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-controls</artifactId>
+-            <version>17</version>
+-            <classifier>win</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-controls</artifactId>
+-            <version>17</version>
+-            <classifier>mac</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-fxml</artifactId>
+-            <version>17</version>
+-            <classifier>linux</classifier>
+-            <scope>compile</scope> 
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-fxml</artifactId>
+-            <version>17</version>
+-            <classifier>win</classifier>
+-            <scope>compile</scope> 
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-fxml</artifactId>
+-            <version>17</version>
+-            <classifier>mac</classifier>
+-            <scope>compile</scope> 
+-        </dependency>
+-
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-graphics</artifactId>
+-            <version>17</version>
+-            <classifier>linux</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-graphics</artifactId>
+-            <version>17</version>
+-            <classifier>win</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-        <dependency>
+-            <groupId>org.openjfx</groupId>
+-            <artifactId>javafx-graphics</artifactId>
+-            <version>17</version>
+-            <classifier>mac</classifier>
+-            <scope>compile</scope>
+-        </dependency>
+-
+         <dependency>
+             <groupId>org.usb4java</groupId>
+             <artifactId>usb4java-javax</artifactId>
+@@ -123,15 +57,6 @@
+                 </executions>
+             </plugin>
+             
+-            <plugin>
+-                <groupId>org.openjfx</groupId>
+-                <artifactId>javafx-maven-plugin</artifactId>
+-                <version>0.0.8</version>
+-                <configuration>
+-                    <mainClass>xortroll.goldleaf.quark.Main</mainClass>
+-                </configuration>
+-            </plugin>
+-
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-assembly-plugin</artifactId>
diff --git a/nixpkgs/pkgs/by-name/qu/quicktype/package.nix b/nixpkgs/pkgs/by-name/qu/quicktype/package.nix
index 585dd1ebf471..c6dc593d061c 100644
--- a/nixpkgs/pkgs/by-name/qu/quicktype/package.nix
+++ b/nixpkgs/pkgs/by-name/qu/quicktype/package.nix
@@ -1,14 +1,14 @@
-{ lib, buildNpmPackage, fetchFromGitHub, jq }:
+{ lib, buildNpmPackage, fetchFromGitHub, jq, quicktype, testers }:
 
 buildNpmPackage rec {
   pname = "quicktype";
-  version = "23.0.81"; # version from https://npm.im/quicktype
+  version = "23.0.104"; # version from https://npm.im/quicktype
 
   src = fetchFromGitHub {
     owner = "glideapps";
     repo = "quicktype";
-    rev = "838c5e0e63a50d7c7790dc81118e664480fc4a80"; # version not tagged
-    hash = "sha256-+VMkfkBSomxxlkuOeMqBCySe7VCx2K5bIdF/tmVgK/Y=";
+    rev = "916cd94a9d4fdeab870b6a12f42ad43ebaedf314"; # version not tagged
+    hash = "sha256-PI9YgFVy7Mlln9+7IAU9vzyvK606PuAJ32st3NDwXIw=";
   };
 
   postPatch = ''
@@ -21,6 +21,10 @@ buildNpmPackage rec {
     mv packages/ $out/lib/node_modules/quicktype/
   '';
 
+  passthru.tests = {
+    version = testers.testVersion { package = quicktype; };
+  };
+
   meta = with lib; {
     description = "Generate types and converters from JSON, Schema, and GraphQL";
     homepage = "https://quicktype.io/";
diff --git a/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix b/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
index b45760fbb2cb..8dbd07a74870 100644
--- a/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
+++ b/nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "raft-cowsql";
-  version = "0.19.1";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "cowsql";
     repo = "raft";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GF+dfkdBNamaix+teJQfhiVMGFwHoAj6GeQj9EpuhYE=";
+    hash = "sha256-kd0PD45+CenlfRMp5O48uELyZ2gEtasCe7xNEzsKU+M=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/by-name/rc/rclip/package.nix b/nixpkgs/pkgs/by-name/rc/rclip/package.nix
index 938ee211ca89..e98c41815e75 100644
--- a/nixpkgs/pkgs/by-name/rc/rclip/package.nix
+++ b/nixpkgs/pkgs/by-name/rc/rclip/package.nix
@@ -4,14 +4,14 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "rclip";
-  version = "1.7.24";
+  version = "1.7.26";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "yurijmikhalevich";
     repo = "rclip";
     rev = "v${version}";
-    hash = "sha256-JWtKgvSP7oaPg19vWnnCDfm7P5Uew+v9yuvH7y2eHHM=";
+    hash = "sha256-u+xnrqJXtjElVXlwkCTHztcRl998CwoTEIvaGYzGOLU=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/by-name/rc/rcp/package.nix b/nixpkgs/pkgs/by-name/rc/rcp/package.nix
index 109d81bec9f5..0a9661f2a97a 100644
--- a/nixpkgs/pkgs/by-name/rc/rcp/package.nix
+++ b/nixpkgs/pkgs/by-name/rc/rcp/package.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rcp";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "wykurz";
     repo = "rcp";
     rev = "v${version}";
-    hash = "sha256-5CqQwTJAQhO9mLfMan6JhNY3N2gfwR6wmGtVBYzVxuc=";
+    hash = "sha256-a/gjphldS17W2OWUXpo+bayqaxINVLI7B27wlicT4Ks=";
   };
 
-  cargoHash = "sha256-sF7RjuVRNfJa3vw71S+BKIBLeWT6biekAE/56BsZYkw=";
+  cargoHash = "sha256-i8CrS0WlqlyXmI1waYrbiSFifAn5vqRW0YeQ1Izu0XE=";
 
   checkFlags = [
     # this test also sets setuid permissions on a test file (3oXXX) which doesn't work in a sandbox
diff --git a/nixpkgs/pkgs/by-name/re/redfishtool/package.nix b/nixpkgs/pkgs/by-name/re/redfishtool/package.nix
new file mode 100644
index 000000000000..d9457c3e1e6d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/re/redfishtool/package.nix
@@ -0,0 +1,28 @@
+{ lib
+, fetchPypi
+, python3
+}:
+
+let
+  pname = "redfishtool";
+  version = "1.1.8";
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version;
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-X/G6osOHCBidKZG/Y2nmHadifDacJhjBIc7WYrUCPn8=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [ requests python-dateutil ];
+
+  meta = with lib; {
+    description = "A Python34 program that implements a command line tool for accessing the Redfish API";
+    homepage = "https://github.com/DMTF/Redfishtool";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jfvillablanca ];
+    mainProgram = "redfishtool";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix b/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix
index 4726ee47421a..54d320362a45 100644
--- a/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix
+++ b/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication {
   pname = "renode-dts2repl";
-  version = "unstable-2024-02-08";
+  version = "unstable-2024-02-16";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "antmicro";
     repo = "dts2repl";
-    rev = "6e8ab15760db19614122bd54c8bb39217fbcb318";
-    hash = "sha256-bJFqAcEdjMyHSk0iji4jc0Vw45zEAmCqDWjAOIZfXWs=";
+    rev = "83c35ebd87c000f37a0b873e7c82134da7daa7a2";
+    hash = "sha256-ga9D/5MkAso9NVK7cv2JryOoDF+a2ORN4MVQ3uns/zk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix b/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix
index 14d384563bcc..25dde53528a7 100644
--- a/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix
+++ b/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix
@@ -7,10 +7,10 @@
   inherit buildUnstable;
 }).overrideAttrs (finalAttrs: _: {
   pname = "renode-unstable";
-  version = "1.14.0+20240130git6e173a1bb";
+  version = "1.14.0+20240215git10667c665";
 
   src = fetchurl {
     url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
-    hash = "sha256-D4DjZYsvtlJXgoAHkYb7qPqbNfpidXHmEozEj6nPPqA=";
+    hash = "sha256-4u2mAW93ivXteVBimjbjDhYHzHHIQCdrINEFzapCd3c=";
   };
 })
diff --git a/nixpkgs/pkgs/by-name/re/rerun/0001-re_space_view_time_series-utils-patch-out-doctests-w.patch b/nixpkgs/pkgs/by-name/re/rerun/0001-re_space_view_time_series-utils-patch-out-doctests-w.patch
new file mode 100644
index 000000000000..d43ae339641e
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/re/rerun/0001-re_space_view_time_series-utils-patch-out-doctests-w.patch
@@ -0,0 +1,31 @@
+From f6c5dde13a39bd149d892162e2ef72267f4c4a57 Mon Sep 17 00:00:00 2001
+From: Someone Serge <sergei.kozlukov@aalto.fi>
+Date: Thu, 15 Feb 2024 18:05:16 +0000
+Subject: [PATCH] re_space_view_time_series: utils: patch out doctests w
+ unstable features
+
+---
+ crates/re_space_view_time_series/src/util.rs | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/crates/re_space_view_time_series/src/util.rs b/crates/re_space_view_time_series/src/util.rs
+index 83ce5362f..59d3b9734 100644
+--- a/crates/re_space_view_time_series/src/util.rs
++++ b/crates/re_space_view_time_series/src/util.rs
+@@ -288,12 +288,7 @@ fn add_series_runs(
+ /// is finite `x == x.next_up().next_down()` also holds.
+ ///
+ /// ```rust
+-/// #![feature(float_next_up_down)]
+-/// // f64::EPSILON is the difference between 1.0 and the next number up.
+-/// assert_eq!(1.0f64.next_up(), 1.0 + f64::EPSILON);
+-/// // But not for most numbers.
+-/// assert!(0.1f64.next_up() < 0.1 + f64::EPSILON);
+-/// assert_eq!(9007199254740992f64.next_up(), 9007199254740994.0);
++/// // PATCHED OUT THE UNSTABLE float_next_up_down
+ /// ```
+ ///
+ /// [`NEG_INFINITY`]: f64::NEG_INFINITY
+-- 
+2.43.0
+
diff --git a/nixpkgs/pkgs/by-name/re/rerun/package.nix b/nixpkgs/pkgs/by-name/re/rerun/package.nix
new file mode 100644
index 000000000000..c2f3842a298c
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/re/rerun/package.nix
@@ -0,0 +1,128 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  pkg-config,
+  stdenv,
+  binaryen,
+  rustfmt,
+  lld,
+  darwin,
+  freetype,
+  glib,
+  gtk3,
+  libxkbcommon,
+  openssl,
+  protobuf,
+  vulkan-loader,
+  wayland,
+  python3Packages,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rerun";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "rerun-io";
+    repo = "rerun";
+    rev = version;
+    hash = "sha256-HgzzuvCpzKgWC8it0PSq62hBjjqpdgYtQQ50SNbr3do=";
+  };
+  patches = [
+    # Disables a doctest that depends on a nightly feature
+    ./0001-re_space_view_time_series-utils-patch-out-doctests-w.patch
+  ];
+
+  cargoHash = "sha256-qvnkOlcjADV4b+JfFAy9yNaZGaf0ZO7hh9HBg5XmPi0=";
+
+  nativeBuildInputs = [
+    (lib.getBin binaryen) # wasm-opt
+
+    # @SomeoneSerge: Upstream suggests `mold`, but I didn't get it to work
+    lld
+
+    pkg-config
+    protobuf
+    rustfmt
+  ];
+
+  buildInputs =
+    [
+      freetype
+      glib
+      gtk3
+      (lib.getDev openssl)
+      libxkbcommon
+      vulkan-loader
+    ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.AppKit
+      darwin.apple_sdk.frameworks.CoreFoundation
+      darwin.apple_sdk.frameworks.CoreGraphics
+      darwin.apple_sdk.frameworks.CoreServices
+      darwin.apple_sdk.frameworks.Foundation
+      darwin.apple_sdk.frameworks.IOKit
+      darwin.apple_sdk.frameworks.Metal
+      darwin.apple_sdk.frameworks.QuartzCore
+      darwin.apple_sdk.frameworks.Security
+    ]
+    ++ lib.optionals stdenv.isLinux [ (lib.getLib wayland) ];
+
+  env.CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "lld";
+
+  addBuildInputRunpathsPhase = ''
+    declare _extraRunpaths
+    _sep=
+    for p in "''${pkgsHostTarget[@]}" ; do
+      if [[ -d "$p/lib" ]] ; then
+        _extraRunpaths+="$_sep$p/lib"
+        if [[ -z "$_sep" ]] ; then
+          _sep=:
+        fi
+      fi
+    done
+
+    elfHasDynamicSection() {
+        patchelf --print-rpath "$1" >& /dev/null
+    }
+
+    while IFS= read -r -d $'\0' path ; do
+      if elfHasDynamicSection "$path" ; then
+        patchelf "$path" --add-rpath "''${_extraRunpaths}"
+      fi
+    done < <(
+      for o in $(getAllOutputNames) ; do
+        find "''${!o}" -type f -and "(" -executable -or -iname '*.so' ")" -print0
+      done
+    )
+
+    unset _extraRunpaths
+    unset _sep
+  '';
+
+  postPhases = lib.optionals stdenv.isLinux [ "addBuildInputRunpathsPhase" ];
+
+  cargoTestFlags = [
+    "-p"
+    "rerun"
+    "--workspace"
+    "--exclude=crates/rerun/src/lib.rs"
+  ];
+
+  passthru.tests = {
+    inherit (python3Packages) rerun-sdk;
+  };
+
+  meta = with lib; {
+    description = "Visualize streams of multimodal data. Fast, easy to use, and simple to integrate.  Built in Rust using egui";
+    homepage = "https://github.com/rerun-io/rerun";
+    changelog = "https://github.com/rerun-io/rerun/blob/${src.rev}/CHANGELOG.md";
+    license = with licenses; [
+      asl20
+      mit
+    ];
+    maintainers = with maintainers; [ SomeoneSerge ];
+    mainProgram = "rerun";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/re/restinio/package.nix b/nixpkgs/pkgs/by-name/re/restinio/package.nix
new file mode 100644
index 000000000000..ad892070b2f0
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/re/restinio/package.nix
@@ -0,0 +1,102 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  cmake,
+  asio,
+  boost,
+  expected-lite,
+  fmt,
+  llhttp,
+  openssl,
+  pcre2,
+  zlib,
+  catch2_3,
+  # Build with the asio library bundled in boost instead of the standalone asio package.
+  with_boost_asio ? false,
+}:
+
+assert with_boost_asio -> boost != null;
+assert !with_boost_asio -> asio != null;
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "restinio";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "Stiffstream";
+    repo = "restinio";
+    rev = "v.${finalAttrs.version}";
+    hash = "sha256-XodG+dVW4iBgFx0Aq0+/pZyCLyqTBtW7e9r69y176Ro=";
+  };
+
+  patches = let
+    useCommit = {id, name, hash}:
+    fetchpatch {
+      inherit name hash;
+      url = "https://github.com/Stiffstream/restinio/commit/${id}.patch";
+    };
+  in [
+    (useCommit {
+      id = "57e6ae3f73a03a5120feb80a7bb5dca27179fa38";
+      name = "restinio-unvendor-catch2_part1.patch";
+      hash = "sha256-2Htt9WTP6nrh+1y7y2xleFj568IpnSEn9Qhb1ObLam8=";
+    })
+    (useCommit {
+      id = "0060e493b99f03c38dda519763f6d6701bc18112";
+      name = "restinio-unvendor-catch2_part2.patch";
+      hash = "sha256-Eg/VNxPwNtEYmalP5myn+QvqwU6wln9v0vxbRelRHA8=";
+    })
+    (useCommit {
+      id = "05bea25f82917602a49b72b8ea10eeb43984762f";
+      name = "restinio-unvendor-catch2_part3.patch";
+      hash = "sha256-fA+U/Y7FyrxDRiWSVXCy9dMF4gmfDLag7gBWoY74In0=";
+    })
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ cmake ];
+
+  propagatedBuildInputs = [
+    expected-lite
+    fmt
+    llhttp
+    openssl
+    pcre2
+    zlib
+  ] ++ (if with_boost_asio then [
+    boost
+  ] else [
+    asio
+  ]);
+
+  checkInputs = [
+    catch2_3
+  ];
+
+  cmakeDir = "../dev";
+  cmakeFlags = [
+    "-DRESTINIO_TEST=ON"
+    "-DRESTINIO_SAMPLE=OFF"
+    "-DRESTINIO_BENCHMARK=OFF"
+    "-DRESTINIO_WITH_SOBJECTIZER=OFF"
+    "-DRESTINIO_ASIO_SOURCE=${if with_boost_asio then "boost" else "standalone"}"
+    "-DRESTINIO_DEP_EXPECTED_LITE=find"
+    "-DRESTINIO_DEP_FMT=find"
+    "-DRESTINIO_DEP_LLHTTP=find"
+    "-DRESTINIO_DEP_CATCH2=find"
+  ];
+
+  doCheck = true;
+  enableParallelChecking = false;
+
+  meta = with lib; {
+    description = "Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library";
+    homepage = "https://github.com/Stiffstream/restinio";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ tobim ];
+  };
+})
diff --git a/nixpkgs/pkgs/development/libraries/restinio/default.nix b/nixpkgs/pkgs/by-name/re/restinio_0_6/package.nix
index 9472bd0a554e..9472bd0a554e 100644
--- a/nixpkgs/pkgs/development/libraries/restinio/default.nix
+++ b/nixpkgs/pkgs/by-name/re/restinio_0_6/package.nix
diff --git a/nixpkgs/pkgs/by-name/ro/robo/package.nix b/nixpkgs/pkgs/by-name/ro/robo/package.nix
index 3caf4f7ee5b4..7310488376dd 100644
--- a/nixpkgs/pkgs/by-name/ro/robo/package.nix
+++ b/nixpkgs/pkgs/by-name/ro/robo/package.nix
@@ -6,16 +6,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "robo";
-  version = "4.0.4";
+  version = "4.0.6";
 
   src = fetchFromGitHub {
     owner = "consolidation";
     repo = "robo";
     rev = finalAttrs.version;
-    hash = "sha256-4sQc3ec34F5eBy9hquTqmzUgvFCTlml3LJdP39gPim4=";
+    hash = "sha256-rpCs24Q15XM4BdW1+IfysFR/8/ZU4o5b4MyJL48uDaU=";
   };
 
-  vendorHash = "sha256-QX7AFtW6Vm9P0ABOuTs1U++nvWBzpvtxhTbK40zDYqc=";
+  vendorHash = "sha256-Ul8XjH0Nav37UVpNQslOkF2bkiyqUAEZiIbcSW2tGkQ=";
 
   meta = {
     changelog = "https://github.com/consolidation/robo/blob/${finalAttrs.version}/CHANGELOG.md";
diff --git a/nixpkgs/pkgs/by-name/ro/roslyn-ls/deps.nix b/nixpkgs/pkgs/by-name/ro/roslyn-ls/deps.nix
new file mode 100644
index 000000000000..ee5d31c67e4d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ro/roslyn-ls/deps.nix
@@ -0,0 +1,238 @@
+# This file was automatically generated by passthru.fetch-deps.
+# Please dont edit it manually, your changes might get overwritten!
+
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "dotnet-format"; version = "7.0.360304"; sha256 = "1kxsigz0adld1lnqx82nwkrmvi09i4qjz8adxwjqgbls2wi5ks2f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/dotnet-format/7.0.360304/dotnet-format.7.0.360304.nupkg"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/humanizer.core/2.14.1/humanizer.core.2.14.1.nupkg"; })
+  (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "8.1.1.7464"; sha256 = "1qyfqsv4gv0gnqy73pps10qfsvqm2jcwb5p8bj8zl8ch7gvxwpzg"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/icsharpcode.decompiler/8.1.1.7464/icsharpcode.decompiler.8.1.1.7464.nupkg"; })
+  (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack/2.5.108/messagepack.2.5.108.nupkg"; })
+  (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; sha256 = "0nb1fx8dwl7304kw0bc375bvlhb7pg351l4cl3vqqd7d8zqjwx5v"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/messagepack.annotations/2.5.108/messagepack.annotations.2.5.108.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.26"; sha256 = "1d8nkz24vsm0iy2xm8y5ak2q1w1p99dxyz0y26acs6sfk2na0vm6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.ref/6.0.26/microsoft.aspnetcore.app.ref.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.26"; sha256 = "1za8lc52m4z54d68wd64c2nhzy05g3gx171k5cdlx73fbymiys9z"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-arm64/6.0.26/microsoft.aspnetcore.app.runtime.linux-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.26"; sha256 = "1zpbmz6z8758gwywzg0bac8kx9x39sxxc9j4a4r2jl74l9ssw4vm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.linux-x64/6.0.26/microsoft.aspnetcore.app.runtime.linux-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.26"; sha256 = "1i8ydlwjzk7j0mzvn0rpljxfp1h50zwaqalnyvfxai1fwgigzgw5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.osx-arm64/6.0.26/microsoft.aspnetcore.app.runtime.osx-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.26"; sha256 = "02src68hd3213sd1a2ms1my7i92knfmdxclvv90il9cky2zsq8kw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.runtime.osx-x64/6.0.26/microsoft.aspnetcore.app.runtime.osx-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.ExternalAccess.RoslynWorkspace"; version = "7.0.0-preview.23525.7"; sha256 = "1vx5wl7rj85889xx8iaqvjw5rfgdfhpc22f6dzkpr3q7ngad6b21"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.aspnetcore.razor.externalaccess.roslynworkspace/7.0.0-preview.23525.7/microsoft.aspnetcore.razor.externalaccess.roslynworkspace.7.0.0-preview.23525.7.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.bcl.asyncinterfaces/7.0.0/microsoft.bcl.asyncinterfaces.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build"; version = "17.3.2"; sha256 = "17g4ka0c28l9v3pmf3i7cvic137h7zg6xqc78qf5j5hj7qbcps5g"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.3.2/microsoft.build.17.3.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build"; version = "17.7.2"; sha256 = "18sa4d7yl2gb7hix4v7fkyk1xnr6h0lmav89riscn2ziscanfzlk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build/17.7.2/microsoft.build.17.7.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build"; version = "17.9.0-preview-23551-05"; sha256 = "0arxaw9xhmy85z9dicpkhmdfc0r03f2f88zzckh1m1gfk6fqzrr0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build/17.9.0-preview-23551-05/microsoft.build.17.9.0-preview-23551-05.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.3.2"; sha256 = "1p8ikc91qc2b1h68w44brb64dy5kmkb089hdliwp02gba3dszw67"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/17.3.2/microsoft.build.framework.17.3.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.7.2"; sha256 = "1b0n96h9870g8iy4my3s6mrl15589m3w99h1g3pr0k050rasdmbw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/17.7.2/microsoft.build.framework.17.7.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.9.0-preview-23551-05"; sha256 = "0cnjy7j9s97yk0ax82ydih2kq01w4n4y4bx21b4nr156gnz9jf5v"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.framework/17.9.0-preview-23551-05/microsoft.build.framework.17.9.0-preview-23551-05.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.6.10"; sha256 = "18xavj7zii38gkk6bkblif7j1j7y33z7f06xm81ljdl2124lbqc4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.locator/1.6.10/microsoft.build.locator.1.6.10.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.3.2"; sha256 = "1mxm6xrq4illg502kjz4l7j0vjcpfv2li9wrvf4ix9m09vdwk2jl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.3.2/microsoft.build.tasks.core.17.3.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.7.2"; sha256 = "15drzqhsa1z5zivy2has1nd5qc60z7slk6j96njk27qrd2lpzd9s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/17.7.2/microsoft.build.tasks.core.17.7.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.9.0-preview-23551-05"; sha256 = "1byfrjbp8g1zh00n5dh9nm62xphvd9bf5gqmq889715hbybmhhqv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.tasks.core/17.9.0-preview-23551-05/microsoft.build.tasks.core.17.9.0-preview-23551-05.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.3.2"; sha256 = "0r82hrjjqpxjp3l7ncy8jdj30p7y0p1hhr1dbfrj5l3i0zxrrcj4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.3.2/microsoft.build.utilities.core.17.3.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.7.2"; sha256 = "10330h9nnplr7fd01204xqndj7zx6sl392z3wgdmjgzflz84bax1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/17.7.2/microsoft.build.utilities.core.17.7.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.9.0-preview-23551-05"; sha256 = "0s4r68bfhmf6r9v9r54wjnkb6bd1y15aqqiwv0j10gycwzwhjk09"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.build.utilities.core/17.9.0-preview-23551-05/microsoft.build.utilities.core.17.9.0-preview-23551-05.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; sha256 = "0wd6v57p53ahz5z9zg4iyzmy3src7rlsncyqpcag02jjj1yx6g58"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.3.4/microsoft.codeanalysis.analyzers.3.3.4.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; version = "3.3.0"; sha256 = "0b2xy6m3l1y6j2xc97cg5llia169jv4nszrrrqclh505gpw6qccz"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzerutilities/3.3.0/microsoft.codeanalysis.analyzerutilities.3.3.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.11.0-beta1.23364.2"; sha256 = "0xi0pjbgpj5aass3l0qsa2jn2c5gq4scb7zp8gkdgzpcwkfikwdi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.11.0-beta1.23364.2/microsoft.codeanalysis.bannedapianalyzers.3.11.0-beta1.23364.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.4"; sha256 = "1vzrni7n94f17bzc13lrvcxvgspx9s25ap1p005z6i1ikx6wgx30"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.3.4/microsoft.codeanalysis.bannedapianalyzers.3.3.4.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.1.0"; sha256 = "1mbwbp0gq6fnh2fkvsl9yzry9bykcar58gbzx22y6x6zw74lnx43"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/4.1.0/microsoft.codeanalysis.common.4.1.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Elfie"; version = "1.0.0"; sha256 = "1y5r6pm9rp70xyiaj357l3gdl4i4r8xxvqllgdyrwn9gx2aqzzqk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.elfie/1.0.0/microsoft.codeanalysis.elfie.1.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "8.0.0-preview.23468.1"; sha256 = "1y2jwh74n88z1rx9vprxijx7f00i6j89ffiy568xsbzddsf7s0fv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/8.0.0-preview.23468.1/microsoft.codeanalysis.netanalyzers.8.0.0-preview.23468.1.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers"; version = "3.3.4-beta1.22504.1"; sha256 = "179b4r9y0ylz8y9sj9yjlag3qm34fzms85fywq3a50al32sq708x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/e31c6eea-0277-49f3-8194-142be67a9f72/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.4-beta1.22504.1/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.4-beta1.22504.1.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; version = "3.11.0-beta1.23364.2"; sha256 = "0fl9d686366zk3r7hh10x9rdw33040cq96g1drmmda2mm7ynarlf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.11.0-beta1.23364.2/microsoft.codeanalysis.publicapianalyzers.3.11.0-beta1.23364.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.DiaSymReader"; version = "2.0.0"; sha256 = "0g4fqxqy68bgsqzxdpz8n1sw0az1zgk33zc0xa8bwibwd1k2s6pj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader/2.0.0/microsoft.diasymreader.2.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.DotNet.Arcade.Sdk"; version = "8.0.0-beta.24059.4"; sha256 = "1xpmhdlvdcwg4dwq97pg4p7fba7qakvc5bc1n8lki0kyxb6in9la"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/8.0.0-beta.24059.4/microsoft.dotnet.arcade.sdk.8.0.0-beta.24059.4.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.DotNet.XliffTasks"; version = "9.0.0-beta.24076.5"; sha256 = "0zb41d8vv24lp4ysrpx6y11hfkzp45hp7clclgqc1hagrqpl9i75"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/9.0.0-beta.24076.5/microsoft.dotnet.xlifftasks.9.0.0-beta.24076.5.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "7.0.0"; sha256 = "0n1grglxql9llmrsbbnlz5chx8mxrb5cpvjngm0hfyrkgzcwz90d"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration/7.0.0/microsoft.extensions.configuration.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "7.0.0"; sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.abstractions/7.0.0/microsoft.extensions.configuration.abstractions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "7.0.0"; sha256 = "1qifb1pv7s76lih8wnjk418wdk4qwn87q2n6dx54knfvxai410bl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.configuration.binder/7.0.0/microsoft.extensions.configuration.binder.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection/7.0.0/microsoft.extensions.dependencyinjection.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.dependencyinjection.abstractions/7.0.0/microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "7.0.0"; sha256 = "1bqd3pqn5dacgnkq0grc17cgb2i0w8z1raw12nwm3p3zhrfcvgxf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging/7.0.0/microsoft.extensions.logging.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.0"; sha256 = "1gn7d18i1wfy13vrwhmdv1rmsb4vrk26kqdld4cgvh77yigj90xs"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.abstractions/7.0.0/microsoft.extensions.logging.abstractions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "7.0.0"; sha256 = "1f5fhpvzwyrwxh3g1ry027s4skmklf6mbm2w0p13h0x6fbmxcb24"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.configuration/7.0.0/microsoft.extensions.logging.configuration.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "7.0.0"; sha256 = "1m8ri2m3vlv9vzk0068jkrx0vkk4sqmk1kxmn8pc3wys38d38qaf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.logging.console/7.0.0/microsoft.extensions.logging.console.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "6.0.0"; sha256 = "12w6mjbq5wqqwnpclpp8482jbmz4a41xq450lx7wvjhp0zqxdh17"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.objectpool/6.0.0/microsoft.extensions.objectpool.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options/7.0.0/microsoft.extensions.options.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.options.configurationextensions/7.0.0/microsoft.extensions.options.configurationextensions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.extensions.primitives/7.0.0/microsoft.extensions.primitives.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.IO.Redist"; version = "6.0.0"; sha256 = "17d02106ksijzcnh03h8qaijs77xsba5l50chng6gb8nwi7wrbd5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.io.redist/6.0.0/microsoft.io.redist.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Net.Compilers.Toolset"; version = "4.10.0-1.24061.4"; sha256 = "1irnlg14ffymmxr5kgqyqja7z3jsql3wn7nmbbfnyr8y625jbn2g"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/4.10.0-1.24061.4/microsoft.net.compilers.toolset.4.10.0-1.24061.4.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.3.2"; sha256 = "1sg1wr7lza5c0xc4cncqr9fbsr30jlzrd1kwszr9744pfqfk1jj3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.3.2/microsoft.net.stringtools.17.3.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; sha256 = "1smx30nq22plrn2mw4wb5vfgxk6hyx12b60c4wabmpnr81lq3nzv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.4.0/microsoft.net.stringtools.17.4.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.7.2"; sha256 = "12izr6vdf8dqfra2445w2zxz8diwl2nmciynpfr0nwd063nk80c5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.stringtools/17.7.2/microsoft.net.stringtools.17.7.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.9.0-preview-23551-05"; sha256 = "0iq5pkdhlgpawq7kyxpzhdxlais89wyl5c3jr6ch7vb61lfrbwzb"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.stringtools/17.9.0-preview-23551-05/microsoft.net.stringtools.17.9.0-preview-23551-05.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.26"; sha256 = "19y6c6v20bgf7x7rrh4rx9y7s5fy8vp5m4j9b6gi1wp4rpb5mza4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-arm64/6.0.26/microsoft.netcore.app.host.linux-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.26"; sha256 = "0p7hhidaa3mnyiwnsijwy8578v843x8hh99255s69qwwyld6falv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-x64/6.0.26/microsoft.netcore.app.host.linux-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.26"; sha256 = "1mq11xsv9g1vsasp6k80y7xlvwi9hrpk5dgm773fvy8538s01gfv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.osx-arm64/6.0.26/microsoft.netcore.app.host.osx-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.26"; sha256 = "1chac9b4424ihrrnlzvc7qz6j4ymfjyv4kzyazzzw19yhymdkh2s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.osx-x64/6.0.26/microsoft.netcore.app.host.osx-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.26"; sha256 = "12gb52dhg5h9hgnyqh1zgj2w46paxv2pfh33pphl9ajhrdr7hlsb"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.ref/6.0.26/microsoft.netcore.app.ref.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.26"; sha256 = "164hfrwqz5dxcbb441lridk4mzcqmarb0b7ckgvqhsvpawyjw88v"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-arm64/6.0.26/microsoft.netcore.app.runtime.linux-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.26"; sha256 = "0islayddpnflviqpbq4djc4f3v9nhsa2y76k5x6il3csq5vdw2hq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.linux-x64/6.0.26/microsoft.netcore.app.runtime.linux-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.26"; sha256 = "1acn5zw1pxzmcg3c0pbf9hal36fbdh9mvbsiwra7simrk7hzqpdc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.osx-arm64/6.0.26/microsoft.netcore.app.runtime.osx-arm64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.26"; sha256 = "00f9l9dkdz0zv5csaw8fkm6s8ckrj5n9k3ygz12daa22l3bcn6ii"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.runtime.osx-x64/6.0.26/microsoft.netcore.app.runtime.osx-x64.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.3"; sha256 = "05smkcyxir59rgrmp7d6327vvrlacdgldfxhmyr1azclvga1zfsq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.3/microsoft.netcore.targets.1.1.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.3/microsoft.netframework.referenceassemblies.1.0.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.3"; sha256 = "0z7mpiljkqjw1qi5zapv7mg9pyfyzlgmil34j4wi3y9r19bsb87z"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.3/microsoft.netframework.referenceassemblies.net472.1.0.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.ServiceHub.Analyzers"; version = "4.4.22"; sha256 = "0zfy8r1jn0v3fl1jaia1iblyh72i5cvkkcgxpniwpp8h1hbpkxbg"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.servicehub.analyzers/4.4.22/microsoft.servicehub.analyzers.4.4.22.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.ServiceHub.Client"; version = "4.2.1017"; sha256 = "082l1kz1jy1g0dczzb5ysxrgb4aq4z53ydpx744gfr99h75mzj01"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.client/4.2.1017/microsoft.servicehub.client.4.2.1017.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.ServiceHub.Framework"; version = "4.4.22"; sha256 = "07wr0ix76cdrpiaajpblkpzfl194f4k5majxfm11dfpllyg08z4r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.servicehub.framework/4.4.22/microsoft.servicehub.framework.4.4.22.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.ServiceHub.Resources"; version = "4.2.1017"; sha256 = "1p0qk5nfzn12vbnl6nzlixzas5p4cckd8j6ki8mi6knbqn7baypa"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/2a239fd0-3e21-40b0-b9d6-bc122fec7eb2/nuget/v3/flat2/microsoft.servicehub.resources/4.2.1017/microsoft.servicehub.resources.4.2.1017.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.5.0"; sha256 = "1y0cv7lzn5gvh75bimikqqd5wv1gxnrh85wxi9b3qsfixpdavh1k"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.objectmodel/17.5.0/microsoft.testplatform.objectmodel.17.5.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.5.0"; sha256 = "04340sz5djyawmz43sf0h6qyza2pmmnsw70l4sbkmwn5bxg1wn5d"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.testplatform.translationlayer/17.5.0/microsoft.testplatform.translationlayer.17.5.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Composition"; version = "17.7.29"; sha256 = "02aj4q4xiykmj14rnf2nr2llcqfj8bgqnk0wnabsil00qkx8rw0x"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.composition/17.7.29/microsoft.visualstudio.composition.17.7.29.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Composition.Analyzers"; version = "17.7.40"; sha256 = "1zqgff4gg2r07lnz3p7f1188536jj83hl88npswp4hrb3lqsd5wf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.composition.analyzers/17.7.40/microsoft.visualstudio.composition.analyzers.17.7.40.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.RemoteControl"; version = "16.3.52"; sha256 = "04fdz3dj1wdnr8a6bm81l1105lb9x6lwirsa66skig38rwhs1xr7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.remotecontrol/16.3.52/microsoft.visualstudio.remotecontrol.16.3.52.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "3.2.2146"; sha256 = "0d3prb0i8h35l46am18d1qi62qcyrfslqbgj4lqal8c7r78n3kl9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.setup.configuration.interop/3.2.2146/microsoft.visualstudio.setup.configuration.interop.3.2.2146.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Telemetry"; version = "17.9.13"; sha256 = "1a17j0dfydq2jjpb3sfllzjmpv6zrfdxxji86yj0lj2hdi9hhb72"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.telemetry/17.9.13/microsoft.visualstudio.telemetry.17.9.13.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.9.3-alpha"; sha256 = "1k36jgaqikj9cvlfqhwpl06qjh9na7ppp3kphyn364rpbr85d2r2"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading/17.9.3-alpha/microsoft.visualstudio.threading.17.9.3-alpha.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.10.12-preview"; sha256 = "05a8k79qgcffzpjcw6b5fg50isgla7xvbra8z7p970w8ih5cb7b2"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/17.10.12-preview/microsoft.visualstudio.threading.analyzers.17.10.12-preview.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Utilities.Internal"; version = "16.3.56"; sha256 = "14z8qd6wkx5m79wph2fyf0hfj8z8fv93pjv8z39vpnxpfkq0rqhy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.utilities.internal/16.3.56/microsoft.visualstudio.utilities.internal.16.3.56.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; sha256 = "0qx4nzsx28galgzzjkgf541254d433dgxcaf7y2y1qyyxgsfjj1f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.validation/17.6.11/microsoft.visualstudio.validation.17.6.11.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.8.8"; sha256 = "0sra63pv7l51kyl89d4g3id87n00si4hb7msrg7ps7c930nhc7xh"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.validation/17.8.8/microsoft.visualstudio.validation.17.8.8.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/5.0.0/microsoft.win32.registry.5.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.systemevents/7.0.0/microsoft.win32.systemevents.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.WindowsDesktop.App.Ref"; version = "6.0.26"; sha256 = "15g43qk0r14zbynjvqmmc1v5gvsfaxz1qipb9vd9gwqx45w2krgm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/6.0.26/microsoft.windowsdesktop.app.ref.6.0.26.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.WindowsDesktop.App.Ref"; version = "7.0.15"; sha256 = "1hz4fxqnb3f896ahhsyimak6zajs6y3q6f6dp0188qyghds3pl9s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/7.0.15/microsoft.windowsdesktop.app.ref.7.0.15.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.WindowsDesktop.App.Ref"; version = "8.0.1"; sha256 = "0jd1ws1yzakd32dhsbmm15ywzww55jxvgnd9jfdid4ys4nr6z51b"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/8.0.1/microsoft.windowsdesktop.app.ref.8.0.1.nupkg"; })
+  (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.69"; sha256 = "1klsyly7k1xhbhrpq2s2iwdlmw3xyvh51rcakfazwxkv2hm5fj3b"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nerdbank.streams/2.10.69/nerdbank.streams.2.10.69.nupkg"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.0/netstandard.library.2.0.0.nupkg"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/newtonsoft.json/13.0.3/newtonsoft.json.13.0.3.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Common"; version = "6.8.0-rc.112"; sha256 = "15qpl1s25h5b3rqc7k0p8iirr0n344ard5z624gy20as4zr0bwid"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.8.0-rc.112/nuget.common.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.8.0-rc.112"; sha256 = "0z0nnyyfg5k9p1zz9845vsa5piy2nqs9qmfnbn7wapcs321p0s5m"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.8.0-rc.112/nuget.configuration.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.8.0-rc.112"; sha256 = "0ax127jjmrrahhc1qxxn0wqpg18ydqwsmw5w8141gcgswjdhlbcx"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.8.0-rc.112/nuget.dependencyresolver.core.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/nuget.frameworks/5.11.0/nuget.frameworks.5.11.0.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.8.0-rc.112"; sha256 = "1bfv6q3gnvjbhx1d6y60sgkysy3qvp6and69vmbf2sygkzzrinfi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.8.0-rc.112/nuget.frameworks.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.8.0-rc.112"; sha256 = "125h1jbcaqkndghakhl43bvm195cbwwrm78i1l1rkph2s5x46ggh"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.8.0-rc.112/nuget.librarymodel.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.8.0-rc.112"; sha256 = "1213nlqxqbbidj6w296hsb0l6sm21d7dm77cj0hfyxqjhi63vlb7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.8.0-rc.112/nuget.packaging.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.8.0-rc.112"; sha256 = "0yy2jfl3r8a4d8dbdfxwpamla4c3zi9998ip9y2rskliykaj3r41"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-rc.112/nuget.projectmodel.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.8.0-rc.112"; sha256 = "1xbyd4rb22pcd4j38gh4gybm9qwrn5zp9k8792dhi7in58jcrgza"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-rc.112/nuget.protocol.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.8.0-rc.112"; sha256 = "04a5x8p11xqqwd9h1bd3n48c33kasv3xwdq5s9ip66i9ki5icc07"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-rc.112/nuget.versioning.6.8.0-rc.112.nupkg"; })
+  (fetchNuGet { pname = "PowerShell"; version = "7.0.0"; sha256 = "13jhnbh12rcmdrkmlxq45ard03lmfq7bg14xg7k108jlpnpsr1la"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/powershell/7.0.0/powershell.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "RichCodeNav.EnvVarDump"; version = "0.1.1643-alpha"; sha256 = "1pp1608xizvv0h9q01bqy7isd3yzb3lxb2yp27j4k25xsvw460vg"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg"; })
+  (fetchNuGet { pname = "Roslyn.Diagnostics.Analyzers"; version = "3.11.0-beta1.23364.2"; sha256 = "1dingpkgbcapbfb2znd1gjhghamvhfvhnrsskf7if2q2sm52pkjz"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49a1bb2b-12b0-475f-adbd-1560fc76be38/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.11.0-beta1.23364.2/roslyn.diagnostics.analyzers.3.11.0-beta1.23364.2.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.microsoft.win32.primitives/4.3.0/runtime.unix.microsoft.win32.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.diagnostics.debug/4.3.0/runtime.unix.system.diagnostics.debug.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.io.filesystem/4.3.0/runtime.unix.system.io.filesystem.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.primitives/4.3.0/runtime.unix.system.net.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.net.sockets/4.3.0/runtime.unix.system.net.sockets.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.private.uri/4.3.0/runtime.unix.system.private.uri.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.unix.system.runtime.extensions/4.3.0/runtime.unix.system.runtime.extensions.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.1.0"; sha256 = "008bnj279y7gxcai69r4bqgxpxwsdb8jvai4kxkd97arlcr1cpjv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.bundle_green/2.1.0/sqlitepclraw.bundle_green.2.1.0.nupkg"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.0"; sha256 = "0kq5x9k5kl6lh7jp1hgjn08wl37zribrykfimhln6mkqbp1myncp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.core/2.1.0/sqlitepclraw.core.2.1.0.nupkg"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.0"; sha256 = "1ibkkz5dsac64nf7alsdsr8r1jm8j87vv6chsi3azkf5zv0rphsy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.lib.e_sqlite3/2.1.0/sqlitepclraw.lib.e_sqlite3.2.1.0.nupkg"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.0"; sha256 = "1g7gi1kdil8iv67g42xbmfhr1l0pkz645gqnd8lfv3q24449shan"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/sqlitepclraw.provider.e_sqlite3/2.1.0/sqlitepclraw.provider.e_sqlite3.2.1.0.nupkg"; })
+  (fetchNuGet { pname = "StreamJsonRpc"; version = "2.17.9"; sha256 = "03c9yl99rxw3by9xb7g3rf512p04qxqyxdqza7cis6k47l3fvklw"; url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/491596af-6d2d-439e-80bb-1ebb3b54f9a8/nuget/v3/flat2/streamjsonrpc/2.17.9/streamjsonrpc.2.17.9.nupkg"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg"; })
+  (fetchNuGet { pname = "System.CodeDom"; version = "7.0.0"; sha256 = "08a2k2v7kdx8wmzl4xcpfj749yy476ggqsy4cps4iyqqszgyv0zc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.codedom/7.0.0/system.codedom.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; sha256 = "0z53a42zjd59zdkszcm7pvij4ri5xbb8jly9hzaad9khlf69bcqp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/8.0.0/system.collections.immutable.8.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.CommandLine"; version = "2.0.0-beta4.23407.1"; sha256 = "1qsil8pmy3zwzn1hb7iyw2ic9fzdj1giqd5cz27mnb13x97mi9ck"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/flat2/system.commandline/2.0.0-beta4.23407.1/system.commandline.2.0.0-beta4.23407.1.nupkg"; })
+  (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "7.0.0"; sha256 = "1gkn56gclkn6qnsvaw5fzw6qb45pa7rffxph1gyqhq7ywvmm0nc3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.componentmodel.composition/7.0.0/system.componentmodel.composition.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition"; version = "7.0.0"; sha256 = "1aii681g7a4gv8fvgd6hbnbbwi6lpzfcnl3k0k8hqx4m7fxp2f32"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition/7.0.0/system.composition.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "7.0.0"; sha256 = "1cxrp0sk5b2gihhkn503iz8fa99k860js2qyzjpsw9rn547pdkny"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.attributedmodel/7.0.0/system.composition.attributedmodel.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition.Convention"; version = "7.0.0"; sha256 = "1nbyn42xys0kv247jf45r748av6fp8kp27f1582lfhnj2n8290rp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.convention/7.0.0/system.composition.convention.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition.Hosting"; version = "7.0.0"; sha256 = "0wqbjxgggskfn45ilvg86grqci3zx9xj34r5sradca4mqqc90n7f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.hosting/7.0.0/system.composition.hosting.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition.Runtime"; version = "7.0.0"; sha256 = "1p9xpqzx42s8cdizv6nh15hcjvl2km0rwby66nfkj4cb472l339s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.runtime/7.0.0/system.composition.runtime.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Composition.TypedParts"; version = "7.0.0"; sha256 = "0syz7y6wgnxxgjvfqgymn9mnaa5fjy1qp06qnsvh3agr9mvcv779"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.composition.typedparts/7.0.0/system.composition.typedparts.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "7.0.0"; sha256 = "149d9kmakzkbw69cip1ny0wjlgcvnhrr7vz5pavpsip36k2mw02a"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.configuration.configurationmanager/7.0.0/system.configuration.configurationmanager.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Data.DataSetExtensions"; version = "4.5.0"; sha256 = "0gk9diqx388qjmbhljsx64b5i0p9cwcaibd4h7f8x901pz84x6ma"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.data.datasetextensions/4.5.0/system.data.datasetextensions.4.5.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.0"; sha256 = "1jxhvsh5mzdf0sgb4dfmbys1b12ylyr5pcfyj1map354fiq3qsgm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/7.0.0/system.diagnostics.diagnosticsource.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.2"; sha256 = "1h97ikph775gya93qsjjaka87qcygbyh1064rh1hnfcnp5xv0ipi"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.diagnosticsource/7.0.2/system.diagnostics.diagnosticsource.7.0.2.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "7.0.0"; sha256 = "16p8z975dnzmncfifa9gw9n3k9ycpr2qvz7lglpghsvx0fava8k9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.eventlog/7.0.0/system.diagnostics.eventlog.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.PerformanceCounter"; version = "7.0.0"; sha256 = "1xg45w9gr7q539n2p0wighsrrl5ax55az8v2hpczm2pi0xd7ksdp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.performancecounter/7.0.0/system.diagnostics.performancecounter.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.3.0"; sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.3.0/system.diagnostics.tracesource.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "7.0.0"; sha256 = "0jwyv5zjxzr4bm4vhmz394gsxqa02q6pxdqd2hwy1f116f0l30dp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.drawing.common/7.0.0/system.drawing.common.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.asn1/6.0.0/system.formats.asn1.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Formats.Asn1"; version = "7.0.0"; sha256 = "1a14kgpqz4k7jhi7bs2gpgf67ym5wpj99203zxgwjypj7x47xhbq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.formats.asn1/7.0.0/system.formats.asn1.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "5.0.0"; sha256 = "0ixl68plva0fsj3byv76bai7vkin86s6wyzr8vcav3szl862blvk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.accesscontrol/5.0.0/system.io.filesystem.accesscontrol.5.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipelines/7.0.0/system.io.pipelines.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.IO.Pipes"; version = "4.3.0"; sha256 = "1ygv16gzpi9cnlzcqwijpv7055qc50ynwg3vw29vj1q3iha3h06r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes/4.3.0/system.io.pipes.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Management"; version = "7.0.0"; sha256 = "1x3xwjzkmlcrj6rl6f2y8lkkp1s8xkhwqlpqk9ylpwqz7w3mhis0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.management/7.0.0/system.management.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.5/system.memory.4.5.5.nupkg"; })
+  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.nameresolution/4.3.0/system.net.nameresolution.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg"; })
+  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.2"; sha256 = "019s7jz73d236p23mnpfaxxwib019i0v1fbwbkys0hskgddvw7cc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.uri/4.3.2/system.private.uri.4.3.2.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.7.0/system.reflection.emit.4.7.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.7.0"; sha256 = "0l8jpxhpgjlf1nkz5lvp61r4kfdbhr29qi8aapcxn3izd9wd0j8r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.7.0/system.reflection.emit.ilgeneration.4.7.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.7.0/system.reflection.emit.lightweight.4.7.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; sha256 = "10a8vm0c3n5cili5nix6bdmiaxr69qisvk356pb81f2s8bgq40bm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/8.0.0/system.reflection.metadata.8.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "6.0.0"; sha256 = "1ijfiqpi3flp5g9amridhjjmzz6md1c6pnxx5h7pdbiqqx9rwrpk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/6.0.0/system.reflection.metadataloadcontext.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "7.0.0"; sha256 = "0cmrvrmsf8hifcfyspmqmd4pv4h2g9yj87hf0fyl5pzma147m2am"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadataloadcontext/7.0.0/system.reflection.metadataloadcontext.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Resources.Extensions"; version = "7.0.0"; sha256 = "0d5gk5g5qqkwa728jwx9yabgjvgywsy6k8r5vgqv2dmlvjrqflb4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.extensions/7.0.0/system.resources.extensions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.loader/4.3.0/system.runtime.loader.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/5.0.0/system.security.accesscontrol.5.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/6.0.0/system.security.accesscontrol.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.1"; sha256 = "0wswhbvm3gh06azg9k1zfvmhicpzlh7v71qzd4x5zwizq4khv7iq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.pkcs/6.0.1/system.security.cryptography.pkcs.6.0.1.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; sha256 = "0hh5h38pnxmlrnvs72f2hzzpz4b2caiiv6xf8y7fzdg84r3imvfr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.pkcs/6.0.4/system.security.cryptography.pkcs.6.0.4.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "7.0.2"; sha256 = "0px6snb8gdb6mpwsqrhlpbkmjgd63h4yamqm2gvyf9rwibymjbm9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.pkcs/7.0.2/system.security.cryptography.pkcs.7.0.2.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.protecteddata/4.4.0/system.security.cryptography.protecteddata.4.4.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "7.0.0"; sha256 = "15s9s6hsj9bz0nzw41mxbqdjgjd71w2djqbv0aj413gfi9amybk9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.protecteddata/7.0.0/system.security.cryptography.protecteddata.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.0"; sha256 = "0aybd4mp9f8d4kgdnrnad7bmdg872044p75nk37f8a4lvkh2sywd"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.xml/6.0.0/system.security.cryptography.xml.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "7.0.1"; sha256 = "0p6kx6ag0il7rxxcvm84w141phvr7fafjzxybf920bxwa0jkwzq8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.xml/7.0.1/system.security.cryptography.xml.7.0.1.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/6.0.0/system.security.permissions.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Permissions"; version = "7.0.0"; sha256 = "0wkm6bj4abknzj41ygkziifx8mzhj4bix92wjvj6lihaw1gniq8c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.permissions/7.0.0/system.security.permissions.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal/4.3.0/system.security.principal.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/5.0.0/system.security.principal.windows.5.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; sha256 = "0sn6hxdjm7bw3xgsmg041ccchsa4sp02aa27cislw3x61dbr68kq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/7.0.0/system.text.encoding.codepages.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encodings.web/7.0.0/system.text.encodings.web.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; sha256 = "0zjrnc9lshagm6kdb9bdh45dmlnkpwcpyssa896sda93ngbmj8k9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.json/7.0.3/system.text.json.7.0.3.nupkg"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; sha256 = "1qrmqa6hpzswlmyp3yqsbnmia9i5iz1y208xpqc1y88b1f6j1v8a"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.channels/7.0.0/system.threading.channels.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.3.0"; sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.overlapped/4.3.0/system.threading.overlapped.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "7.0.0"; sha256 = "0ham9l8xrmlq2qwin53n82iz1wanci2h695i3cq83jcw4n28qdr9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.dataflow/7.0.0/system.threading.tasks.dataflow.7.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg"; })
+  (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg"; })
+  (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.windows.extensions/6.0.0/system.windows.extensions.6.0.0.nupkg"; })
+  (fetchNuGet { pname = "System.Windows.Extensions"; version = "7.0.0"; sha256 = "11r9f0v7qp365bdpq5ax023yra4qvygljz18dlqs650d44iay669"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.windows.extensions/7.0.0/system.windows.extensions.7.0.0.nupkg"; })
+]
diff --git a/nixpkgs/pkgs/by-name/ro/roslyn-ls/package.nix b/nixpkgs/pkgs/by-name/ro/roslyn-ls/package.nix
new file mode 100644
index 000000000000..b1afb62cd1ce
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ro/roslyn-ls/package.nix
@@ -0,0 +1,76 @@
+{ lib, fetchFromGitHub, buildDotnetModule, dotnetCorePackages, stdenvNoCC, testers, roslyn-ls }:
+let
+  pname = "roslyn-ls";
+  # see https://github.com/dotnet/roslyn/blob/main/eng/targets/TargetFrameworks.props
+  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_7_0 sdk_8_0 ];
+  # need sdk on runtime as well
+  dotnet-runtime = dotnetCorePackages.sdk_8_0;
+
+  project = "Microsoft.CodeAnalysis.LanguageServer";
+in
+buildDotnetModule rec {
+  inherit pname dotnet-sdk dotnet-runtime;
+
+  vsVersion = "2.17.7";
+  src = fetchFromGitHub {
+    owner = "dotnet";
+    repo = "roslyn";
+    rev = "VSCode-CSharp-${vsVersion}";
+    hash = "sha256-afsYOMoM4I/CdP6IwThJpGl9M2xx/eDeuOj9CTk2fFI=";
+  };
+
+  # versioned independently from vscode-csharp
+  # "roslyn" in here:
+  # https://github.com/dotnet/vscode-csharp/blob/main/package.json
+  version = "4.10.0-2.24102.11";
+  projectFile = "src/Features/LanguageServer/${project}/${project}.csproj";
+  useDotnetFromEnv = true;
+  nugetDeps = ./deps.nix;
+
+  postPatch = ''
+    substituteInPlace $projectFile \
+      --replace-fail \
+        '<RuntimeIdentifiers>win-x64;win-x86;win-arm64;linux-x64;linux-arm64;alpine-x64;alpine-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>' \
+        '<RuntimeIdentifiers>linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>'
+  '';
+
+  # two problems solved here:
+  # 1. --no-build removed -> BuildHost project within roslyn is running Build target during publish
+  # 2. missing crossgen2 7.* in local nuget directory when PublishReadyToRun=true
+  # the latter should be fixable here but unsure how
+  installPhase =
+    let
+      rid = dotnetCorePackages.systemToDotnetRid stdenvNoCC.targetPlatform.system;
+    in
+    ''
+      runHook preInstall
+
+      env dotnet publish $projectFile \
+          -p:ContinuousIntegrationBuild=true \
+          -p:Deterministic=true \
+          -p:InformationalVersion=$version \
+          -p:UseAppHost=true \
+          -p:PublishTrimmed=false \
+          -p:PublishReadyToRun=false \
+          --configuration Release \
+          --no-self-contained \
+          --output "$out/lib/$pname" \
+          --runtime ${rid}
+
+      runHook postInstall
+    '';
+
+  passthru = {
+    tests.version = testers.testVersion { package = roslyn-ls; };
+    updateScript = ./update.sh;
+  };
+
+  meta = {
+    homepage = "https://github.com/dotnet/vscode-csharp";
+    description = "The language server behind C# Dev Kit for Visual Studio Code";
+    changelog = "https://github.com/dotnet/vscode-csharp/releases/tag/v${vsVersion}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ konradmalik ];
+    mainProgram = "Microsoft.CodeAnalysis.LanguageServer";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ro/roslyn-ls/update.sh b/nixpkgs/pkgs/by-name/ro/roslyn-ls/update.sh
new file mode 100755
index 000000000000..e0d8d1194b4f
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ro/roslyn-ls/update.sh
@@ -0,0 +1,25 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
+# shellcheck shell=bash
+
+set -euo pipefail
+
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+old_vs_version="$(sed -nE 's/\s*vsVersion = "(.*)".*/\1/p' ./package.nix)"
+new_vs_version="$(curl -s "https://api.github.com/repos/dotnet/vscode-csharp/tags?per_page=1" | jq -r '.[0].name' | sed 's/v//')"
+
+if [[ "$new_vs_version" == "$old_vs_version" ]]; then
+    echo "Already up to date!"
+    exit 0
+fi
+
+old_roslyn_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
+new_roslyn_version="$(curl -s "https://raw.githubusercontent.com/dotnet/vscode-csharp/v$new_vs_version/package.json" | jq -r .defaults.roslyn)"
+
+sed -i "s/ = \"${old_roslyn_version}\"/ = \"${new_roslyn_version}\"/" ./package.nix
+
+cd ../../../..
+update-source-version roslyn-ls "${new_vs_version}" --version-key=vsVersion
+
+$(nix-build -A roslyn-ls.fetch-deps --no-out-link)
diff --git a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/Cargo.lock b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/Cargo.lock
index 6c1001e076e8..ffc56162b809 100644
--- a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/Cargo.lock
+++ b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/Cargo.lock
@@ -41,14 +41,14 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.6"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
  "cfg-if 1.0.0",
  "once_cell",
  "version_check",
- "zerocopy 0.7.18",
+ "zerocopy 0.7.32",
 ]
 
 [[package]]
@@ -62,9 +62,9 @@ dependencies = [
 
 [[package]]
 name = "allo-isolate"
-version = "0.1.20"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f56b7997817c178b853573e8bdfb6c3afe02810b43f17d766d6703560074b0c3"
+checksum = "f2f5a5fd28223e6f3cafb7d9cd685f51eafdd71d33ca1229f8316925d5957240"
 dependencies = [
  "anyhow",
  "atomic",
@@ -118,7 +118,7 @@ dependencies = [
 [[package]]
 name = "amf"
 version = "0.1.0"
-source = "git+https://github.com/21pages/gpucodec#90800ce41bee33cd898ec36a86c2e32a407e3f02"
+source = "git+https://github.com/21pages/gpucodec#4650b5f1376f92c59a9cdbbbe05a744248325eec"
 dependencies = [
  "bindgen 0.59.2",
  "cc",
@@ -180,9 +180,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -200,37 +200,37 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "apple-bindgen"
@@ -242,7 +242,7 @@ dependencies = [
  "bindgen 0.63.0",
  "derive_more",
  "regex",
- "serde 1.0.190",
+ "serde 1.0.195",
  "thiserror",
  "toml 0.6.0",
 ]
@@ -254,8 +254,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a04f192a700686ee70008ff4e4eb76fe7d11814ab93b7ee9d48c36b9a9f0bd2a"
 dependencies = [
  "plist",
- "serde 1.0.190",
- "serde_json 1.0.107",
+ "serde 1.0.195",
+ "serde_json 1.0.111",
 ]
 
 [[package]]
@@ -391,7 +391,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "event-listener 3.0.0",
  "futures-lite",
- "rustix 0.38.21",
+ "rustix 0.38.28",
  "windows-sys 0.48.0",
 ]
 
@@ -401,9 +401,9 @@ version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -418,7 +418,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "futures-core",
  "futures-io",
- "rustix 0.38.21",
+ "rustix 0.38.28",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -432,13 +432,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -526,9 +526,9 @@ checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9"
 
 [[package]]
 name = "base64ct"
@@ -551,8 +551,8 @@ dependencies = [
  "lazycell",
  "log",
  "peeking_take_while",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "regex",
  "rustc-hash",
  "shlex",
@@ -572,8 +572,8 @@ dependencies = [
  "lazycell",
  "log",
  "peeking_take_while",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "regex",
  "rustc-hash",
  "shlex",
@@ -595,20 +595,20 @@ dependencies = [
  "log",
  "peeking_take_while",
  "prettyplease",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.38",
+ "syn 2.0.48",
  "which",
 ]
 
 [[package]]
 name = "bindgen"
-version = "0.68.1"
+version = "0.69.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
+checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
 dependencies = [
  "bitflags 2.4.1",
  "cexpr",
@@ -616,12 +616,12 @@ dependencies = [
  "lazy_static",
  "lazycell",
  "peeking_take_while",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -644,12 +644,12 @@ checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
 name = "bitmask-enum"
-version = "2.2.2"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49fb8528abca6895a5ada33d62aedd538a5c33e77068256483b44a3230270163"
+checksum = "9990737a6d5740ff51cdbbc0f0503015cb30c390f6623968281eb214a520cfc0"
 dependencies = [
- "quote 1.0.33",
- "syn 2.0.38",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -743,9 +743,9 @@ checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b"
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
 
 [[package]]
 name = "bytecount"
@@ -771,7 +771,7 @@ version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -802,7 +802,7 @@ source = "git+https://github.com/clslaid/cacao?branch=feat/set-file-urls#05e1536
 dependencies = [
  "bitmask-enum",
  "block2",
- "core-foundation 0.9.3 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
+ "core-foundation 0.9.3",
  "core-graphics 0.23.1",
  "dispatch",
  "lazy_static",
@@ -924,13 +924,13 @@ dependencies = [
 
 [[package]]
 name = "clang-sys"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
 dependencies = [
  "glob",
  "libc",
- "libloading 0.7.4",
+ "libloading 0.8.1",
 ]
 
 [[package]]
@@ -950,18 +950,18 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "33e92c5c1a78c62968ec57dbc2440366a2d6e5a23faf829970ff1585dc6b18e2"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.7"
+version = "4.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+checksum = "f4323769dc8a61e2c39ad7dc26f6f2800524691a44d74fe3d1071a5c24db6370"
 dependencies = [
  "anstream",
  "anstyle",
@@ -990,7 +990,7 @@ dependencies = [
  "parking_lot",
  "percent-encoding",
  "rand 0.8.5",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
  "thiserror",
  "utf16string",
@@ -1036,7 +1036,7 @@ dependencies = [
  "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
  "core-graphics 0.22.3",
  "foreign-types 0.3.2",
  "libc",
@@ -1051,8 +1051,8 @@ checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
  "bitflags 1.3.2",
  "block",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-graphics-types 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
+ "core-graphics-types 0.1.3",
  "libc",
  "objc",
 ]
@@ -1094,7 +1094,7 @@ version = "0.4.0-2"
 source = "git+https://github.com/open-trade/confy#7855cd3c32b1a60b44e5076ee8f6b4131da10350"
 dependencies = [
  "directories-next",
- "serde 1.0.190",
+ "serde 1.0.195",
  "thiserror",
  "toml 0.5.11",
 ]
@@ -1130,8 +1130,8 @@ version = "0.2.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "unicode-xid 0.2.4",
 ]
 
@@ -1158,27 +1158,35 @@ name = "core-foundation"
 version = "0.9.3"
 source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
 dependencies = [
- "core-foundation-sys 0.8.6",
+ "core-foundation-sys 0.8.6 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
  "libc",
 ]
 
 [[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
- "objc2-encode",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
 ]
 
 [[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
 name = "core-graphics"
 version = "0.22.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-graphics-types 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
+ "core-graphics-types 0.1.3",
  "foreign-types 0.3.2",
  "libc",
 ]
@@ -1189,8 +1197,8 @@ version = "0.23.1"
 source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
- "core-graphics-types 0.1.2 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
+ "core-foundation 0.9.3",
+ "core-graphics-types 0.1.2",
  "foreign-types 0.5.0",
  "libc",
  "objc2-encode",
@@ -1202,29 +1210,40 @@ version = "0.1.2"
 source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
+ "core-foundation 0.9.3",
  "libc",
  "objc2-encode",
 ]
 
 [[package]]
+name = "core-graphics-types"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation 0.9.4",
+ "libc",
+]
+
+[[package]]
 name = "coreaudio-rs"
 version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "coreaudio-sys",
 ]
 
 [[package]]
 name = "coreaudio-sys"
-version = "0.2.13"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8478e5bdad14dce236b9898ea002eabfa87cbe14f0aa538dbe3b6a4bec4332d"
+checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9"
 dependencies = [
- "bindgen 0.68.1",
+ "bindgen 0.69.1",
 ]
 
 [[package]]
@@ -1234,7 +1253,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c"
 dependencies = [
  "alsa",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "coreaudio-rs",
  "dasp_sample",
  "jni 0.19.0",
@@ -1254,9 +1273,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -1272,56 +1291,46 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg 1.1.0",
- "cfg-if 1.0.0",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if 1.0.0",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -1382,7 +1391,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if 1.0.0",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -1558,9 +1567,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
 ]
@@ -1571,8 +1580,8 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -1582,8 +1591,8 @@ version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -1594,8 +1603,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
  "convert_case",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "rustc_version",
  "syn 1.0.109",
 ]
@@ -1744,8 +1753,8 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3a09ac8bb8c16a282264c379dffba707b9c998afc7506009137f3c6136888078"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -1774,7 +1783,7 @@ checksum = "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f"
 dependencies = [
  "lazy_static",
  "regex",
- "serde 1.0.190",
+ "serde 1.0.195",
  "strsim 0.10.0",
 ]
 
@@ -1797,7 +1806,7 @@ dependencies = [
  "cc",
  "hbb_common",
  "lazy_static",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
  "thiserror",
 ]
@@ -1825,7 +1834,7 @@ checksum = "f54cc3e827ee1c3812239a9a41dede7b4d7d5d5464faa32d71bd7cba28ce2cb2"
 dependencies = [
  "cc",
  "rustc_version",
- "toml 0.8.6",
+ "toml 0.8.8",
  "vswhom",
  "winreg 0.51.0",
 ]
@@ -1849,7 +1858,7 @@ dependencies = [
  "objc",
  "pkg-config",
  "rdev",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
  "tfc",
  "unicode-segmentation",
@@ -1880,9 +1889,9 @@ version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "04d0b288e3bb1d861c4403c1774a6f7a798781dfc519b3647df2a3dd4ae95f25"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1892,7 +1901,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
 dependencies = [
  "enumflags2_derive",
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -1901,9 +1910,9 @@ version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1950,12 +1959,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2028,9 +2037,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd"
 dependencies = [
  "simd-adler32",
 ]
@@ -2047,14 +2056,14 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.22"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.3.5",
- "windows-sys 0.48.0",
+ "redox_syscall",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2128,9 +2137,9 @@ dependencies = [
 
 [[package]]
 name = "flutter_rust_bridge_macros"
-version = "1.82.3"
+version = "1.82.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1ab3d175f0a09c1adb55fd98d7b6460b00af72c4e889b9eec2c5aee88273996"
+checksum = "a7fe743d921bedf4578b9472346d03a9643a01cd565ca7df7961baebad534ba5"
 
 [[package]]
 name = "fnv"
@@ -2172,9 +2181,9 @@ version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2191,9 +2200,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -2235,14 +2244,14 @@ dependencies = [
  "page_size",
  "pkg-config",
  "smallvec",
- "zerocopy 0.6.5",
+ "zerocopy 0.6.6",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2255,9 +2264,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2265,15 +2274,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2282,9 +2291,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -2303,32 +2312,32 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2450,9 +2459,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -2573,8 +2582,8 @@ dependencies = [
  "itertools",
  "proc-macro-crate 0.1.5",
  "proc-macro-error",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -2588,8 +2597,8 @@ dependencies = [
  "heck 0.4.1",
  "proc-macro-crate 1.3.1",
  "proc-macro-error",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -2644,20 +2653,20 @@ dependencies = [
 [[package]]
 name = "gpu_common"
 version = "0.1.0"
-source = "git+https://github.com/21pages/gpucodec#90800ce41bee33cd898ec36a86c2e32a407e3f02"
+source = "git+https://github.com/21pages/gpucodec#4650b5f1376f92c59a9cdbbbe05a744248325eec"
 dependencies = [
  "bindgen 0.59.2",
  "cc",
  "log",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
 ]
 
 [[package]]
 name = "gpucodec"
 version = "0.1.0"
-source = "git+https://github.com/21pages/gpucodec#90800ce41bee33cd898ec36a86c2e32a407e3f02"
+source = "git+https://github.com/21pages/gpucodec#4650b5f1376f92c59a9cdbbbe05a744248325eec"
 dependencies = [
  "amf",
  "bindgen 0.59.2",
@@ -2665,9 +2674,9 @@ dependencies = [
  "gpu_common",
  "log",
  "nv",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
  "vpl",
 ]
 
@@ -2854,16 +2863,16 @@ dependencies = [
  "anyhow",
  "proc-macro-crate 1.3.1",
  "proc-macro-error",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
 dependencies = [
  "bytes",
  "fnv",
@@ -2871,7 +2880,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
  "slab",
  "tokio",
  "tokio-util",
@@ -2898,11 +2907,11 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "allocator-api2",
 ]
 
@@ -2934,9 +2943,9 @@ dependencies = [
  "quinn",
  "rand 0.8.5",
  "regex",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
  "socket2 0.3.19",
  "sodiumoxide",
  "sysinfo",
@@ -2975,9 +2984,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -3020,20 +3029,20 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 1.0.9",
+ "itoa 1.0.10",
 ]
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
  "http",
@@ -3061,21 +3070,21 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 [[package]]
 name = "hwcodec"
 version = "0.2.0"
-source = "git+https://github.com/21pages/hwcodec?branch=stable#da8aec8e8abb6a5506e027484023e6e2ad1f47eb"
+source = "git+https://github.com/21pages/hwcodec?branch=stable#42cfa3f9e5138d3dbdea83ea87d4c4bf798fef51"
 dependencies = [
  "bindgen 0.59.2",
  "cc",
  "log",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
 ]
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -3086,9 +3095,9 @@ dependencies = [
  "http-body",
  "httparse",
  "httpdate",
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2 0.5.5",
  "tokio",
  "tower-service",
  "tracing",
@@ -3129,7 +3138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
 dependencies = [
  "android_system_properties",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
@@ -3147,9 +3156,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -3197,8 +3206,8 @@ version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
 ]
 
 [[package]]
@@ -3213,12 +3222,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -3265,7 +3274,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi 0.3.5",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -3282,8 +3291,8 @@ version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.3",
- "rustix 0.38.21",
+ "hermit-abi 0.3.5",
+ "rustix 0.38.28",
  "windows-sys 0.48.0",
 ]
 
@@ -3310,9 +3319,9 @@ checksum = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jni"
@@ -3384,9 +3393,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3399,7 +3408,7 @@ dependencies = [
  "anyhow",
  "apple-sys",
  "cfg-if 1.0.0",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
  "shadow-rs",
  "windows 0.48.0",
  "winres",
@@ -3423,7 +3432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7668b7cff6a51fe61cdde64cd27c8a220786f399501b57ebe36f7d8112fd68"
 dependencies = [
  "bitflags 1.3.2",
- "serde 1.0.190",
+ "serde 1.0.195",
  "unicode-segmentation",
 ]
 
@@ -3471,9 +3480,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "libdbus-sys"
@@ -3571,6 +3580,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
 name = "libsamplerate-sys"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3612,9 +3632,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050"
 dependencies = [
  "cc",
  "libc",
@@ -3639,9 +3659,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[package]]
 name = "lock_api"
@@ -3671,9 +3691,9 @@ dependencies = [
 
 [[package]]
 name = "mach2"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
+checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
 dependencies = [
  "libc",
 ]
@@ -3721,9 +3741,9 @@ checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -3776,9 +3796,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
  "log",
@@ -4023,9 +4043,9 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6"
 dependencies = [
  "num-traits 0.2.17",
 ]
@@ -4036,8 +4056,8 @@ version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -4097,7 +4117,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi 0.3.5",
  "libc",
 ]
 
@@ -4117,8 +4137,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -4134,7 +4154,7 @@ dependencies = [
 [[package]]
 name = "nv"
 version = "0.1.0"
-source = "git+https://github.com/21pages/gpucodec#90800ce41bee33cd898ec36a86c2e32a407e3f02"
+source = "git+https://github.com/21pages/gpucodec#4650b5f1376f92c59a9cdbbbe05a744248325eec"
 dependencies = [
  "bindgen 0.59.2",
  "cc",
@@ -4241,9 +4261,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "openssl"
@@ -4266,9 +4286,9 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4334,7 +4354,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
 dependencies = [
  "log",
- "serde 1.0.190",
+ "serde 1.0.195",
  "winapi 0.3.9",
 ]
 
@@ -4354,9 +4374,9 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38731fa859ef679f1aec66ca9562165926b442f298467f76f5990f431efe87dc"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
 ]
 
 [[package]]
@@ -4386,18 +4406,18 @@ version = "0.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c94f3b9b97df3c6d4e51a14916639b24e02c7d15d1dba686ce9b1118277cb811"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "pam-sys"
-version = "1.0.0-alpha4"
+version = "1.0.0-alpha5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e9dfd42858f6a6bb1081079fd9dc259ca3e2aaece6cb689fd36b1058046c969"
+checksum = "ce9484729b3e52c0bacdc5191cb6a6a5f31ef4c09c5e4ab1209d3340ad9e997b"
 dependencies = [
- "bindgen 0.59.2",
+ "bindgen 0.69.1",
  "libc",
 ]
 
@@ -4465,7 +4485,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.4.1",
+ "redox_syscall",
  "smallvec",
  "windows-targets 0.48.5",
 ]
@@ -4507,9 +4527,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "petgraph"
@@ -4518,7 +4538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 2.0.2",
+ "indexmap 2.1.0",
 ]
 
 [[package]]
@@ -4574,9 +4594,9 @@ version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4604,22 +4624,22 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
 
 [[package]]
 name = "plist"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
  "base64",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
  "line-wrap",
- "quick-xml",
- "serde 1.0.190",
- "time 0.3.30",
+ "quick-xml 0.31.0",
+ "serde 1.0.195",
+ "time 0.3.31",
 ]
 
 [[package]]
@@ -4675,8 +4695,8 @@ version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
 dependencies = [
- "proc-macro2 1.0.69",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4714,8 +4734,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
 dependencies = [
  "proc-macro-error-attr",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
  "version_check",
 ]
@@ -4726,8 +4746,8 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "version_check",
 ]
 
@@ -4742,9 +4762,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.76"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
 dependencies = [
  "unicode-ident",
 ]
@@ -4850,6 +4870,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "quinn"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4910,11 +4939,11 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
- "proc-macro2 1.0.69",
+ "proc-macro2 1.0.76",
 ]
 
 [[package]]
@@ -5091,8 +5120,8 @@ version = "0.5.0-2"
 source = "git+https://github.com/fufesou/rdev#b3434caee84c92412b45a2f655a15ac5dad33488"
 dependencies = [
  "cocoa",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-foundation-sys 0.8.4",
+ "core-foundation 0.9.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "core-graphics 0.22.3",
  "dispatch",
  "enum-map",
@@ -5129,24 +5158,6 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
@@ -5156,12 +5167,12 @@ dependencies = [
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
@@ -5232,8 +5243,8 @@ dependencies = [
  "rustls 0.21.10",
  "rustls-native-certs",
  "rustls-pemfile",
- "serde 1.0.190",
- "serde_json 1.0.107",
+ "serde 1.0.195",
+ "serde_json 1.0.111",
  "serde_urlencoded",
  "sync_wrapper",
  "system-configuration",
@@ -5395,10 +5406,10 @@ dependencies = [
  "cfg-if 1.0.0",
  "chrono",
  "cidr-utils",
- "clap 4.4.7",
+ "clap 4.4.14",
  "clipboard",
  "cocoa",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
  "core-graphics 0.22.3",
  "cpal",
  "crossbeam-queue",
@@ -5450,9 +5461,9 @@ dependencies = [
  "samplerate",
  "sciter-rs",
  "scrap",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_derive",
- "serde_json 1.0.107",
+ "serde_json 1.0.111",
  "serde_repr",
  "sha2",
  "shared_memory",
@@ -5492,9 +5503,9 @@ dependencies = [
 
 [[package]]
 name = "rustfft"
-version = "6.1.0"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17d4f6cbdb180c9f4b2a26bbf01c4e647f1e1dea22fe8eb9db54198b32f9434"
+checksum = "43806561bc506d0c5d160643ad742e3161049ac01027b5e6d7524091fd401d86"
 dependencies = [
  "num-complex",
  "num-integer",
@@ -5521,15 +5532,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.21"
+version = "0.38.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
  "libc",
- "linux-raw-sys 0.4.10",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5594,9 +5605,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "safemem"
@@ -5624,11 +5635,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5679,8 +5690,8 @@ dependencies = [
  "pkg-config",
  "quest",
  "repng",
- "serde 1.0.190",
- "serde_json 1.0.107",
+ "serde 1.0.195",
+ "serde_json 1.0.111",
  "target_build_utils",
  "tracing",
  "webm",
@@ -5704,8 +5715,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-foundation-sys 0.8.4",
+ "core-foundation 0.9.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc",
  "security-framework-sys",
 ]
@@ -5716,15 +5727,15 @@ version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc",
 ]
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
@@ -5734,22 +5745,22 @@ checksum = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.195"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.195"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5766,13 +5777,13 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.107"
+version = "1.0.111"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
 dependencies = [
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "ryu",
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -5781,18 +5792,18 @@ version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -5802,9 +5813,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
  "form_urlencoded",
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "ryu",
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -5838,7 +5849,7 @@ dependencies = [
  "const_format",
  "git2",
  "is_debug",
- "time 0.3.30",
+ "time 0.3.31",
  "tzdb",
 ]
 
@@ -5905,9 +5916,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "socket2"
@@ -5931,6 +5942,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "sodiumoxide"
 version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5939,7 +5960,7 @@ dependencies = [
  "ed25519",
  "libc",
  "libsodium-sys",
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -6006,8 +6027,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
 dependencies = [
  "heck 0.3.3",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -6018,8 +6039,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "rustversion",
  "syn 1.0.109",
 ]
@@ -6047,19 +6068,19 @@ version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "unicode-ident",
 ]
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "unicode-ident",
 ]
 
@@ -6084,7 +6105,7 @@ version = "0.29.10"
 source = "git+https://github.com/rustdesk-org/sysinfo#f45dcc6510d48c3a1401c5a33eedccc8899f67b2"
 dependencies = [
  "cfg-if 1.0.0",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc",
  "ntapi",
  "once_cell",
@@ -6099,7 +6120,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
  "system-configuration-sys",
 ]
 
@@ -6109,7 +6130,7 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc",
 ]
 
@@ -6137,7 +6158,7 @@ dependencies = [
  "cfg-expr",
  "heck 0.4.1",
  "pkg-config",
- "toml 0.8.6",
+ "toml 0.8.8",
  "version-compare 0.1.1",
 ]
 
@@ -6160,7 +6181,7 @@ dependencies = [
  "cairo-rs",
  "cc",
  "cocoa",
- "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation 0.9.4",
  "core-graphics 0.22.3",
  "crossbeam-channel",
  "dispatch",
@@ -6203,8 +6224,8 @@ name = "tao-macros"
 version = "0.1.2"
 source = "git+https://github.com/rustdesk-org/tao?branch=dev#1e5b97258cf42a30f80f85a6aa0b1a4aece1977e"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -6237,28 +6258,28 @@ version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2"
 dependencies = [
- "quick-xml",
+ "quick-xml 0.30.0",
  "windows 0.51.1",
 ]
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
 dependencies = [
  "cfg-if 1.0.0",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
- "rustix 0.38.21",
- "windows-sys 0.48.0",
+ "redox_syscall",
+ "rustix 0.38.28",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
  "winapi-util",
 ]
@@ -6295,22 +6316,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6346,16 +6367,16 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
 dependencies = [
  "deranged",
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "libc",
  "num_threads",
  "powerfmt",
- "serde 1.0.190",
+ "serde 1.0.195",
  "time-core",
  "time-macros",
 ]
@@ -6368,9 +6389,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
 dependencies = [
  "time-core",
 ]
@@ -6415,9 +6436,9 @@ version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6467,7 +6488,7 @@ dependencies = [
  "futures-io",
  "futures-sink",
  "futures-util",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "pin-project-lite",
  "slab",
  "tokio",
@@ -6480,7 +6501,7 @@ version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -6489,7 +6510,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb9d890e4dc9298b70f740f615f2e05b9db37dce531f6b24fb77ac993f9f217"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.5.1",
  "toml_edit 0.18.1",
@@ -6501,7 +6522,7 @@ version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.6.5",
  "toml_edit 0.19.15",
@@ -6509,14 +6530,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.6.5",
- "toml_edit 0.20.7",
+ "toml_edit 0.21.0",
 ]
 
 [[package]]
@@ -6525,7 +6546,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -6534,7 +6555,7 @@ version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -6545,7 +6566,7 @@ checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b"
 dependencies = [
  "indexmap 1.9.3",
  "nom8",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.5.1",
 ]
@@ -6556,8 +6577,8 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.2",
- "serde 1.0.190",
+ "indexmap 2.1.0",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.6.5",
  "winnow",
@@ -6565,12 +6586,12 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 dependencies = [
- "indexmap 2.0.2",
- "serde 1.0.190",
+ "indexmap 2.1.0",
+ "serde 1.0.195",
  "serde_spanned",
  "toml_datetime 0.6.5",
  "winnow",
@@ -6615,9 +6636,9 @@ version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6673,9 +6694,9 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "typenum"
@@ -6704,10 +6725,11 @@ dependencies = [
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi 0.3.9",
 ]
@@ -6723,9 +6745,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
 
 [[package]]
 name = "unicode-ident"
@@ -6780,14 +6802,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
  "percent-encoding",
- "serde 1.0.190",
+ "serde 1.0.195",
 ]
 
 [[package]]
@@ -6839,9 +6861,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.5.0"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
 dependencies = [
  "getrandom",
 ]
@@ -6887,7 +6909,7 @@ dependencies = [
 [[package]]
 name = "vpl"
 version = "0.1.0"
-source = "git+https://github.com/21pages/gpucodec#90800ce41bee33cd898ec36a86c2e32a407e3f02"
+source = "git+https://github.com/21pages/gpucodec#4650b5f1376f92c59a9cdbbbe05a744248325eec"
 dependencies = [
  "bindgen 0.59.2",
  "cc",
@@ -6967,9 +6989,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -6977,24 +6999,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -7004,32 +7026,32 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
 dependencies = [
- "quote 1.0.33",
+ "quote 1.0.35",
  "wasm-bindgen-macro-support",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
 
 [[package]]
 name = "wayland-backend"
@@ -7088,9 +7110,9 @@ version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c"
 dependencies = [
- "proc-macro2 1.0.69",
- "quick-xml",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quick-xml 0.30.0",
+ "quote 1.0.35",
 ]
 
 [[package]]
@@ -7106,9 +7128,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -7161,7 +7183,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.21",
+ "rustix 0.38.28",
 ]
 
 [[package]]
@@ -7321,8 +7343,8 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -7332,8 +7354,8 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
 
@@ -7382,6 +7404,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7412,6 +7443,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7424,6 +7470,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7448,6 +7500,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7472,6 +7530,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7496,6 +7560,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7520,6 +7590,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7532,6 +7608,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7556,10 +7638,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.17"
+version = "0.5.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c"
+checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
 dependencies = [
  "memchr",
 ]
@@ -7745,7 +7833,7 @@ dependencies = [
  "once_cell",
  "ordered-stream",
  "rand 0.8.5",
- "serde 1.0.190",
+ "serde 1.0.195",
  "serde_repr",
  "sha1",
  "static_assertions",
@@ -7765,8 +7853,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "regex",
  "syn 1.0.109",
  "zvariant_utils",
@@ -7778,50 +7866,50 @@ version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
 dependencies = [
- "serde 1.0.190",
+ "serde 1.0.195",
  "static_assertions",
  "zvariant",
 ]
 
 [[package]]
 name = "zerocopy"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96f8f25c15a0edc9b07eb66e7e6e97d124c0505435c382fde1ab7ceb188aa956"
+checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6"
 dependencies = [
  "byteorder",
- "zerocopy-derive 0.6.5",
+ "zerocopy-derive 0.6.6",
 ]
 
 [[package]]
 name = "zerocopy"
-version = "0.7.18"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ede7d7c7970ca2215b8c1ccf4d4f354c4733201dfaaba72d44ae5b37472e4901"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
- "zerocopy-derive 0.7.18",
+ "zerocopy-derive 0.7.32",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.6.5"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "855e0f6af9cd72b87d8a6c586f3cb583f5cdcc62c2c80869d8cd7e96fdf7ee20"
+checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.18"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b27b1bb92570f989aac0ab7e9cbfbacdd65973f7ee920d9f0e71ebac878fd0b"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
- "syn 2.0.38",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7840,7 +7928,7 @@ dependencies = [
  "hmac",
  "pbkdf2",
  "sha1",
- "time 0.3.30",
+ "time 0.3.31",
  "zstd 0.11.2+zstd.1.5.2",
 ]
 
@@ -7909,7 +7997,7 @@ dependencies = [
  "byteorder",
  "enumflags2",
  "libc",
- "serde 1.0.190",
+ "serde 1.0.195",
  "static_assertions",
  "zvariant_derive",
 ]
@@ -7921,8 +8009,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
  "zvariant_utils",
 ]
@@ -7933,7 +8021,7 @@ version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200"
 dependencies = [
- "proc-macro2 1.0.69",
- "quote 1.0.33",
+ "proc-macro2 1.0.76",
+ "quote 1.0.35",
  "syn 1.0.109",
 ]
diff --git a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/package.nix b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/package.nix
index 3460f59fe3bf..dc24dad68e47 100644
--- a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/package.nix
+++ b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/package.nix
@@ -1,8 +1,9 @@
 { lib
+, clangStdenv
 , cargo
 , copyDesktopItems
 , fetchFromGitHub
-, flutter313
+, flutter316
 , gst_all_1
 , libXtst
 , libaom
@@ -22,7 +23,7 @@
 
   flutterRustBridge = rustPlatform.buildRustPackage rec {
     pname = "flutter_rust_bridge_codegen";
-    version = "1.80.1"; # https://github.com/rustdesk/rustdesk/blob/0cf4711515077e400827c3ec92c8102f11b4a69c/.github/workflows/bridge.yml#L10
+    version = "1.80.1"; # https://github.com/rustdesk/rustdesk/blob/16db977fd81e14af62ec5ac7760a7661a5c24be8/.github/workflows/bridge.yml#L10
 
     src = fetchFromGitHub {
       owner = "fzyzcjy";
@@ -36,21 +37,23 @@
     doCheck = false;
   };
 
-in flutter313.buildFlutterApplication rec {
+  sharedLibraryExt = rustc.stdenv.hostPlatform.extensions.sharedLibrary;
+
+in flutter316.buildFlutterApplication {
   pname = "rustdesk";
-  version = "unstable-2024-02-03";
+  version = "1.2.3-unstable-2024-02-11";
   src = fetchFromGitHub {
     owner = "rustdesk";
     repo = "rustdesk";
-    rev = "0cf4711515077e400827c3ec92c8102f11b4a69c";
-    hash = "sha256-jqtOCrmFNpFEGAZU8LBH3ge5S++nK/dVpaszMbwdIOw=";
+    rev = "16db977fd81e14af62ec5ac7760a7661a5c24be8";
+    hash = "sha256-k4gNuA/gZ58S0selOn9+K7+s5AQLkpz+DPI84Fuw414=";
   };
 
   strictDeps = true;
-  strucutedAttrs = true;
 
   # Configure the Flutter/Dart build
   sourceRoot = "source/flutter";
+  # curl https://raw.githubusercontent.com/rustdesk/rustdesk/16db977fd81e14af62ec5ac7760a7661a5c24be8/flutter/pubspec.lock | yq
   pubspecLock = lib.importJSON ./pubspec.lock.json;
   gitHashes = {
     dash_chat_2 = "sha256-J5Bc6CeCoRGN870aNEVJ2dkQNb+LOIZetfG2Dsfz5Ow=";
@@ -67,15 +70,17 @@ in flutter313.buildFlutterApplication rec {
   # Configure the Rust build
   cargoRoot = "..";
   cargoDeps = rustPlatform.importCargoLock {
+    # Upstream lock file after running `cargo generate-lockfile --offline` and
+    # removing the git variant of core-foundation-sys
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "amf-0.1.0" = "sha256-4xZIp0Zs1VJQixChxC4b6ac108DGqgzZ/O/+94d2jKI=";
+      "amf-0.1.0" = "sha256-j9w3bB1Nd8GuHyMHxjcTGBy3JJ26g/GiBg2OQgrdqLw=";
       "android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
       "cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
       "confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
       "core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
       "evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
-      "hwcodec-0.2.0" = "sha256-PMDynyMAf4E314HEZ7loqANucshXc+R6sCH8dwUY+oU=";
+      "hwcodec-0.2.0" = "sha256-yw3cmC74u6oLfJD6ouqACUZynHRujT/KJMtLOtzg7f4=";
       "impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
       "keepawake-0.4.3" = "sha256-wDLjjhKWbCeaWbA896a5E5UMB0B/xI/84QRCUYNKX7I=";
       "machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
@@ -134,8 +139,12 @@ in flutter313.buildFlutterApplication rec {
     xdotool
   ];
 
-  postPatch = ''
+  prePatch = ''
     chmod -R +w ..
+  '';
+  patchFlags = [ "-p1" "-d" ".." ];
+
+  postPatch = ''
     substituteInPlace ../Cargo.toml --replace ", \"staticlib\", \"rlib\"" ""
     # The supplied Cargo.lock doesn't work with our fetcher so copy over the fixed version
     cp ${./Cargo.lock} ../Cargo.lock
@@ -150,17 +159,17 @@ in flutter313.buildFlutterApplication rec {
     dart_output:
       - "./lib/generated_bridge.dart"
     llvm_path:
-      - "${rustc.llvmPackages.libclang.lib}"
+      - "${lib.getLib clangStdenv.cc.cc}"
     dart_format_line_length: 80
-    llvm_compiler_opts: "-I ${rustc.llvmPackages.clang-unwrapped.lib}/lib/clang/${lib.versions.major rustc.llvmPackages.clang-unwrapped.version}/include -I ${rustc.unwrapped.stdenv.cc.libc_dev}/include"
+    llvm_compiler_opts: "-I ${lib.getLib clangStdenv.cc.cc}/lib/clang/${lib.versions.major clangStdenv.cc.version}/include -I ${clangStdenv.cc.libc_dev}/include"
     EOF
     RUST_LOG=info ${flutterRustBridge}/bin/flutter_rust_bridge_codegen bridge.yml
 
     # Build the Rust shared library
     cd ..
     preBuild=() # prevent loops
-    runHook cargoBuildHook
-    mv ./target/*/release/liblibrustdesk.so ./target/release/liblibrustdesk.so
+    cargoBuildHook
+    mv ./target/*/release/liblibrustdesk${sharedLibraryExt} ./target/release/liblibrustdesk${sharedLibraryExt}
     cd flutter
   '';
 
@@ -176,8 +185,8 @@ in flutter313.buildFlutterApplication rec {
       name = "rustdesk";
       desktopName = "RustDesk";
       genericName = "Remote Desktop";
-      comment = meta.description;
-      exec = "${meta.mainProgram} %u";
+      comment = "Remote Desktop";
+      exec = "rustdesk %u";
       icon = "rustdesk";
       terminal = false;
       type = "Application";
@@ -186,7 +195,7 @@ in flutter313.buildFlutterApplication rec {
       keywords = [ "internet" ];
       actions.new-window = {
         name = "Open a New Window";
-        exec = "${meta.mainProgram} %u";
+        exec = "rustdesk %u";
       };
     })
     (makeDesktopItem {
@@ -195,7 +204,7 @@ in flutter313.buildFlutterApplication rec {
       noDisplay = true;
       mimeTypes = [ "x-scheme-handler/rustdesk" ];
       tryExec = "rustdesk";
-      exec = "${meta.mainProgram} %u";
+      exec = "rustdesk %u";
       icon = "rustdesk";
       terminal = false;
       type = "Application";
diff --git a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/pubspec.lock.json b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/pubspec.lock.json
index e858b944a2d8..a14998a79d0a 100644
--- a/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/pubspec.lock.json
+++ b/nixpkgs/pkgs/by-name/ru/rustdesk-flutter/pubspec.lock.json
@@ -633,8 +633,8 @@
       "dependency": "direct main",
       "description": {
         "path": ".",
-        "ref": "3865a99f60a92bea4d95bb5d55cf524b1bcbbf5a",
-        "resolved-ref": "3865a99f60a92bea4d95bb5d55cf524b1bcbbf5a",
+        "ref": "38951317afe79d953ab25733667bd96e172a80d3",
+        "resolved-ref": "38951317afe79d953ab25733667bd96e172a80d3",
         "url": "https://github.com/21pages/flutter_gpu_texture_renderer"
       },
       "source": "git",
diff --git a/nixpkgs/pkgs/by-name/rw/rwpspread/Cargo.lock b/nixpkgs/pkgs/by-name/rw/rwpspread/Cargo.lock
new file mode 100644
index 000000000000..b217edac3f96
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/rw/rwpspread/Cargo.lock
@@ -0,0 +1,1088 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "anstream"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "calloop"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
+dependencies = [
+ "bitflags 2.4.2",
+ "log",
+ "polling",
+ "rustix",
+ "slab",
+ "thiserror",
+]
+
+[[package]]
+name = "calloop-wayland-source"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
+dependencies = [
+ "calloop",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+
+[[package]]
+name = "dlib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
+dependencies = [
+ "libloading",
+]
+
+[[package]]
+name = "downcast-rs"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+
+[[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "exr"
+version = "1.72.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
+dependencies = [
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
+]
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "spin",
+]
+
+[[package]]
+name = "gif"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "image"
+version = "0.24.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif",
+ "jpeg-decoder",
+ "num-traits",
+ "png",
+ "qoi",
+ "tiff",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
+name = "lebe"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+
+[[package]]
+name = "libc"
+version = "0.2.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "polling"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "qoi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rayon"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rwpspread"
+version = "0.1.9-1"
+dependencies = [
+ "clap",
+ "glob",
+ "image",
+ "rayon",
+ "serde",
+ "serde_json",
+ "smithay-client-toolkit",
+ "toml",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smithay-client-toolkit"
+version = "0.18.0"
+source = "git+https://github.com/Smithay/client-toolkit#f3587a933ad822f729513cd1e1db3667b342ee72"
+dependencies = [
+ "bitflags 2.4.2",
+ "calloop",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
+ "log",
+ "memmap2",
+ "rustix",
+ "thiserror",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-csd-frame",
+ "wayland-cursor",
+ "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
+ "xkeysym",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tiff"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "wayland-backend"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
+dependencies = [
+ "cc",
+ "downcast-rs",
+ "rustix",
+ "scoped-tls",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-client"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
+dependencies = [
+ "bitflags 2.4.2",
+ "rustix",
+ "wayland-backend",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-csd-frame"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
+dependencies = [
+ "bitflags 2.4.2",
+ "cursor-icon",
+ "wayland-backend",
+]
+
+[[package]]
+name = "wayland-cursor"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
+dependencies = [
+ "rustix",
+ "wayland-client",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-protocols"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-wlr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
+dependencies = [
+ "proc-macro2",
+ "quick-xml",
+ "quote",
+]
+
+[[package]]
+name = "wayland-sys"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
+dependencies = [
+ "dlib",
+ "log",
+ "pkg-config",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.5.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "xcursor"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
+
+[[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
+name = "zune-inflate"
+version = "0.2.54"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+dependencies = [
+ "simd-adler32",
+]
diff --git a/nixpkgs/pkgs/by-name/rw/rwpspread/package.nix b/nixpkgs/pkgs/by-name/rw/rwpspread/package.nix
new file mode 100644
index 000000000000..aa7a7ba41914
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/rw/rwpspread/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, libxkbcommon
+, nix-update-script
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rwpspread";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "0xk1f0";
+    repo = "rwpspread";
+    rev = "v${version}";
+    hash = "sha256-oZgHMklHMKUpVY3g7wS2rna+5+ePEbcvdVJc9jPTeoI=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "smithay-client-toolkit-0.18.0" = "sha256-7s5XPmIflUw2qrKRAZUz30cybYKvzD5Hu4ViDpzGC3s=";
+    };
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libxkbcommon
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Multi-Monitor Wallpaper Utility";
+    homepage = "https://github.com/0xk1f0/rwpspread";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ nu-nu-ko ];
+    platforms = lib.platforms.linux;
+    mainProgram = "rwpspread";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/sa/satty/package.nix b/nixpkgs/pkgs/by-name/sa/satty/package.nix
index 3e74a7878ca1..98f5d92d7ee5 100644
--- a/nixpkgs/pkgs/by-name/sa/satty/package.nix
+++ b/nixpkgs/pkgs/by-name/sa/satty/package.nix
@@ -16,16 +16,16 @@
 rustPlatform.buildRustPackage rec {
 
   pname = "satty";
-  version = "0.8.3";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "gabm";
     repo = "Satty";
     rev = "v${version}";
-    hash = "sha256-KCHKR6DP8scd9xdWi0bLw3wObrEi0tOsflXHa9f4Z5k=";
+    hash = "sha256-640npBvOO4SZfQI5Tq1FY+B7Bg75YsaoGd/XhWAy9Zs=";
   };
 
-  cargoHash = "sha256-pUBtUC+WOuiypLUpXCPR1pu0fRrMVTxg7FE2JSaszNw=";
+  cargoHash = "sha256-H+PnZWNaxdNaPLZmKJIcnEBTnpeXCxGC9cXnzR2hfoc=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/nixpkgs/pkgs/by-name/sc/scalingo/package.nix b/nixpkgs/pkgs/by-name/sc/scalingo/package.nix
index 91139a255a16..5115a84f2671 100644
--- a/nixpkgs/pkgs/by-name/sc/scalingo/package.nix
+++ b/nixpkgs/pkgs/by-name/sc/scalingo/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scalingo";
-  version = "1.30.0";
+  version = "1.30.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = version;
-    hash = "sha256-vgkVxQK18RBIhhL9gyuH9kmCueJFDZByhy0FE4JuVO8=";
+    hash = "sha256-Dzm1f7iNVCzbSogYfjDIHJ2UbPnP1F9nF9QASe/H3TU=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/by-name/sc/scitoken-cpp/package.nix b/nixpkgs/pkgs/by-name/sc/scitokens-cpp/package.nix
index f66c99900fb8..691e89fa2b80 100644
--- a/nixpkgs/pkgs/by-name/sc/scitoken-cpp/package.nix
+++ b/nixpkgs/pkgs/by-name/sc/scitokens-cpp/package.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, libuuid, curl, sqlite, openssl }:
 
 stdenv.mkDerivation rec {
-  pname = "scitoken-cpp";
+  pname = "scitokens-cpp";
   version = "1.1.0";
 
   src = fetchFromGitHub {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/scitokens/scitokens-cpp/";
     description =
       "A C++ implementation of the SciTokens library with a C library interface";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.asl20;
     maintainers = with maintainers; [ evey ];
   };
diff --git a/nixpkgs/pkgs/by-name/sc/scripthaus/package.nix b/nixpkgs/pkgs/by-name/sc/scripthaus/package.nix
new file mode 100644
index 000000000000..be6b1e5f9b14
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sc/scripthaus/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+}:
+
+buildGoModule rec {
+  pname = "scripthaus";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "scripthaus-dev";
+    repo = "scripthaus";
+    rev = "v${version}";
+    hash = "sha256-ZWOSLkqjauONa+fKkagpUgWB4k+l1mzEEiC0RAMUmo0=";
+  };
+
+  vendorHash = "sha256-GUZNPLBgqN1zBzCcPl7TB9/4/Yk4e7K6I20nVaM6ank=";
+
+  CGO_ENABLED = 1;
+
+  ldflags = [ "-s" "-w" ];
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/scripthaus
+  '';
+
+  passthru.updateScript = nix-update-script {
+    extraArgs = [ "--version-regex" "^(v[0-9.]+)$" ];
+  };
+
+  meta = with lib; {
+    description = "Run bash, Python, and JS snippets from your Markdown files directly from the command-line";
+    homepage = "https://github.com/scripthaus-dev/scripthaus";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ raspher ];
+    mainProgram = "scripthaus";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/darwin.diff b/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/darwin.diff
new file mode 100644
index 000000000000..fb4620198d07
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/darwin.diff
@@ -0,0 +1,42 @@
+diff -ur a/src/compat.h b/src/compat.h
+--- a/src/compat.h	2007-05-27 00:59:43.000000000 +0000
++++ b/src/compat.h	2024-02-17 11:53:01.541895388 +0000
+@@ -27,6 +27,7 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
++#include <sys/stat.h>
+ #endif
+ 
+ #include <sys/types.h>
+@@ -186,6 +187,8 @@
+ void vwarnc(int code, const char *fmt, va_list ap);
+ void warnx(const char *fmt, ...);
+ void vwarnx(const char *fmt, va_list ap);
++#else
++#include <err.h>
+ #endif
+ 
+ #ifndef HAVE_REALLOCF
+@@ -323,7 +326,8 @@
+   #ifdef _WIN32
+     #define lseek64 _lseeki64
+   #else 
+-    #if SIZEOF_OFF_T == 8 
++    #if SIZEOF_OFF_T == 8 || defined(__APPLE__)
++      _Static_assert(sizeof(off_t) == 8, "off_t must be 8 bytes");
+       #define lseek64 lseek
+     #else
+       #error ERROR: Must have a working 64 bit seek function
+diff -ur a/src/ntfs.c b/src/ntfs.c
+--- a/src/ntfs.c	2007-05-27 01:00:08.000000000 +0000
++++ b/src/ntfs.c	2024-02-17 11:48:19.402694507 +0000
+@@ -20,7 +20,7 @@
+ #include "usuals.h"

+ #include "ntfs.h"

+ 

+-#include "malloc.h"

++#include "stdlib.h"

+ #include "string.h"

+ 

+ 

diff --git a/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/package.nix b/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/package.nix
new file mode 100644
index 000000000000..51c0b1860750
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sc/scrounge-ntfs/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "scrounge-ntfs";
+  version = "0.9";
+
+  src = fetchurl {
+    url = "http://thewalter.net/stef/software/scrounge/scrounge-ntfs-${finalAttrs.version}.tar.gz";
+    hash = "sha256-HYrMIMTRPmgAac/vaZ1jaUFchyAl5B0quxgHH0DHJ84=";
+  };
+
+  patches = [
+    ./darwin.diff
+  ];
+
+  meta = with lib; {
+    description = "Data recovery program for NTFS file systems";
+    mainProgram = "scrounge-ntfs";
+    homepage = "http://thewalter.net/stef/software/scrounge/";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/sd/sdcc/package.nix b/nixpkgs/pkgs/by-name/sd/sdcc/package.nix
index eaac606fbdb7..e8c20ac045c3 100644
--- a/nixpkgs/pkgs/by-name/sd/sdcc/package.nix
+++ b/nixpkgs/pkgs/by-name/sd/sdcc/package.nix
@@ -18,11 +18,11 @@ assert lib.subtractLists [
 ] excludePorts == [];
 stdenv.mkDerivation (finalAttrs: {
   pname = "sdcc";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-tJuuHSO81gV6gsT/5WE/nNDLz9HpQOnYTEv+nfCowFM=";
+    hash = "sha256-rowSFl6xdoDf9EsyjYh5mWMGtyQe+jqDsuOy0veQanU=";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/nixpkgs/pkgs/by-name/se/seclists/package.nix b/nixpkgs/pkgs/by-name/se/seclists/package.nix
index 51017d7373f1..8bb86ce2e614 100644
--- a/nixpkgs/pkgs/by-name/se/seclists/package.nix
+++ b/nixpkgs/pkgs/by-name/se/seclists/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "seclists";
-  version = "2023.4";
+  version = "2024.1";
 
   src = fetchFromGitHub {
     owner = "danielmiessler";
     repo = "SecLists";
-    rev = "2023.4";
-    hash = "sha256-AX2n+kpXJGYEI88iJKHHcR7NFf0YCvu4FakEPkiwXTo=";
+    rev = "2024.1";
+    hash = "sha256-0wK/8cJC9FSFrQUPhRy1/uwQONx2dR3U0XOdnMpxBuA=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/by-name/sh/shittier/package.nix b/nixpkgs/pkgs/by-name/sh/shittier/package.nix
new file mode 100644
index 000000000000..e9316063c3bc
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sh/shittier/package.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "shittier";
+  # No tagged release on GitHub yet
+  # Commit corresponds to release tagged as 0.1.1 on [npm](https://www.npmjs.com/package/shittier)
+  # See issue https://github.com/rohitdhas/shittier/issues/7
+  version = "0-unstable-2023-12-22";
+
+  src = fetchFromGitHub {
+    owner = "rohitdhas";
+    repo = "shittier";
+    rev = "c61b443c06dbaa8085a88b16360941cc4ba6baa2";
+    hash = "sha256-qdG1PdIZGWoJI7KgJqM/fayubPbPk+od/SgKfZQADz8=";
+  };
+
+  npmDepsHash = "sha256-oC9eOpoMZLZbyx9XnC4m5zzqORQWP62uRDNVZjyVnBs=";
+
+  meta = {
+    description = "Unconventional code formatting tool for JavaScript";
+    homepage = "https://github.com/rohitdhas/shittier";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ totoroot ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/sh/shopware-cli/package.nix b/nixpkgs/pkgs/by-name/sh/shopware-cli/package.nix
index 471a90c0ab29..024b50387057 100644
--- a/nixpkgs/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/sh/shopware-cli/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.4.22";
+  version = "0.4.23";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-P93wxAApV2iWXSQGXsCPjmvj2gGMwbKw6+yMgiainb4=";
+    hash = "sha256-miuZsrIPvdYdEu9qc/qRxcNxfPLxCHxokywhLgplehY=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   nativeCheckInputs = [ git dart-sass ];
 
-  vendorHash = "sha256-FalN3qhw2o9NvSIfEU4juevPAsxQoksNjL3eATf0umU=";
+  vendorHash = "sha256-JgeyIj4YfnHZm2u+Gy3taX+WoFwe3jfqkVOO63adzgU=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/nixpkgs/pkgs/by-name/si/sink-rotate/package.nix b/nixpkgs/pkgs/by-name/si/sink-rotate/package.nix
new file mode 100644
index 000000000000..8d0c8afe6e9d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/si/sink-rotate/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pipewire
+, wireplumber
+, makeWrapper
+}:
+let
+  version = "1.0.4";
+in
+rustPlatform.buildRustPackage {
+  pname = "sink-rotate";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "mightyiam";
+    repo = "sink-rotate";
+    rev = "v${version}";
+    hash = "sha256-q20uUr+7yLJlZc5YgEkY125YrZ2cuJrPv5IgWXaYRlo=";
+  };
+
+  cargoHash = "sha256-MPeyPTkxpi6iw/BT5m4S7jVBD0c2zG2rsv+UZWQxpUU=";
+
+  buildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/bin/sink-rotate \
+      --prefix PATH : ${pipewire}/bin/pw-dump \
+      --prefix PATH : ${wireplumber}/bin/wpctl
+  '';
+
+  meta = with lib; {
+    description = "Command that rotates default between two PipeWire audio sinks.";
+    homepage = "https://github.com/mightyiam/sink-rotate";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mightyiam ];
+    mainProgram = "sink-rotate";
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/nixpkgs/pkgs/by-name/sm/smag/package.nix b/nixpkgs/pkgs/by-name/sm/smag/package.nix
new file mode 100644
index 000000000000..b56d3aa2678d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sm/smag/package.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "smag";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "aantn";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-PdrK4kblXju23suMe3nYFT1KEbyQu4fwP/XTb2kV1fs=";
+  };
+
+  cargoHash = "sha256-SX6tOodmB0usM0laOt8mjIINPYbzHI4gyUhsR21Oqrw=";
+
+  meta = with lib; {
+    description = "Easily create graphs from cli commands and view them in the terminal";
+    longDescription = ''
+      Easily create graphs from cli commands and view them in the terminal.
+      Like the watch command but with a graph of the output.
+    '';
+    homepage = "https://github.com/aantn/smag";
+    license = licenses.mit;
+    changelog = "https://github.com/aantn/smag/releases/tag/v${version}";
+    mainProgram = "smag";
+    maintainers = with maintainers; [ zebreus ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/sp/spicetify-cli/package.nix b/nixpkgs/pkgs/by-name/sp/spicetify-cli/package.nix
index 8601e3041903..10916e59cbc0 100644
--- a/nixpkgs/pkgs/by-name/sp/spicetify-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/sp/spicetify-cli/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.31.1";
+  version = "2.31.3";
 
   src = fetchFromGitHub {
     owner = "spicetify";
     repo = "spicetify-cli";
     rev = "v${version}";
-    hash = "sha256-FmL1AalQzsHIJ1yDtcAt1sjfRdzbpplYK5t0UAdwIyY=";
+    hash = "sha256-NCyt0fwcLhCy4XreYUoOKC6zHejffRmBTOBJLA0Q/yI=";
   };
 
-  vendorHash = "sha256-T7aUjzb69ZAnpLCpHv5C6ZyUktfC8Zt94rIju8QplWI=";
+  vendorHash = "sha256-9rYShpUVI3KSY6UgGmoXo899NkUezkAAkTgFPdq094E=";
 
   ldflags = [
     "-s -w"
diff --git a/nixpkgs/pkgs/by-name/sp/spooftooph/package.nix b/nixpkgs/pkgs/by-name/sp/spooftooph/package.nix
new file mode 100644
index 000000000000..3a78341128c2
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sp/spooftooph/package.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchurl
+, bluez
+, ncurses
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "spooftooph";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/spooftooph/spooftooph-${finalAttrs.version}/spooftooph-${finalAttrs.version}.tar.gz";
+    hash = "sha256-JH5+fHpe83NJV9AR5MXKnrwaTqz4s2BGAcczbddVNHw=";
+  };
+
+  buildInputs = [
+    bluez
+    ncurses
+  ];
+
+  makeFlags = [ "BIN=$(out)/bin" ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  meta = with lib; {
+    homepage = "https://sourceforge.net/projects/spooftooph";
+    description = "Automate spoofing or clone Bluetooth device Name, Class, and Address";
+    mainProgram = "spooftooph";
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ d3vil0p3r ];
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix b/nixpkgs/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix
new file mode 100644
index 000000000000..16a0b2c2cfd7
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sr/srht-gen-oauth-tok/package.nix
@@ -0,0 +1,42 @@
+{ stdenv, pkgs, lib, fetchFromSourcehut, nixosTests }:
+
+let
+  perl = pkgs.perl.withPackages (pps: [
+    pps.CryptSSLeay
+    pps.WWWMechanize
+    pps.XMLLibXML
+  ]);
+in
+stdenv.mkDerivation rec {
+  pname = "srht-gen-oauth-tok";
+  version = "0.1";
+
+  src = fetchFromSourcehut {
+    domain = "entropic.network";
+    owner = "~nessdoor";
+    repo = pname;
+    rev = version;
+    hash = "sha256-GcqP3XbVw2sR5n4+aLUmA4fthNkuVAGnhV1h7suJYdI=";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ perl ];
+
+  installPhase = "install -Dm755 srht-gen-oauth-tok $out/bin/srht-gen-oauth-tok";
+
+  passthru.tests.sourcehut = nixosTests.sourcehut;
+
+  meta = {
+    description = "A script to register a new Sourcehut OAuth token for a given user";
+    longDescription = ''
+      srht-gen-oauth-tok is a Perl script for automating the generation of user
+      OAuth tokens for Sourcehut-based code forges. This is done by emulating a
+      browser and interacting with the Web interface.
+    '';
+    maintainers = with lib.maintainers; [ nessdoor ];
+    mainProgram = "srht-gen-oauth-tok";
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.all;
+    sourceProvenance = [ lib.sourceTypes.fromSource ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/sr/srm-cuarzo/package.nix b/nixpkgs/pkgs/by-name/sr/srm-cuarzo/package.nix
index 14d07128cabf..9c77d755d5b9 100644
--- a/nixpkgs/pkgs/by-name/sr/srm-cuarzo/package.nix
+++ b/nixpkgs/pkgs/by-name/sr/srm-cuarzo/package.nix
@@ -14,9 +14,9 @@
 }:
 stdenv.mkDerivation (self: {
   pname = "srm-cuarzo";
-  version = "0.5.1-1";
+  version = "0.5.2-1";
   rev = "v${self.version}";
-  hash = "sha256-+Qn/obgYHWceQN0T3mbGjs/psj+lg43gm/cCBoMnRUk=";
+  hash = "sha256-FMd1v0K+H7DlSD0osmWrnuSKqQZxw3RUZq8JwZFm/f4=";
 
   src = fetchFromGitHub {
     inherit (self) rev hash;
diff --git a/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix b/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix
index 379bec22675b..c0c51c33ef5f 100644
--- a/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "steamguard-cli";
-  version = "0.12.5";
+  version = "0.12.6";
 
   src = fetchFromGitHub {
     owner = "dyc3";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YjJhCEg87xuUFjHD6cBN4dhQhx/c4F/XewyMYeA06+U=";
+    hash = "sha256-LKzN4bNhouwOiTx3pEOLw3bDqRAhKkPi25i0yP/n0PI=";
   };
 
-  cargoHash = "sha256-Z1KWU7Z9iGs5yjuWilMSYhfIilSW8ng+pq5ENfunINo=";
+  cargoHash = "sha256-SLbT2538maN2gQAf8BdRHpDRcYjA9lkMgCpiEYOas28=";
 
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
diff --git a/nixpkgs/pkgs/by-name/td/tdl/package.nix b/nixpkgs/pkgs/by-name/td/tdl/package.nix
index d4abe11fe764..0661b171b21c 100644
--- a/nixpkgs/pkgs/by-name/td/tdl/package.nix
+++ b/nixpkgs/pkgs/by-name/td/tdl/package.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "tdl";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "iyear";
     repo = "tdl";
     rev = "v${version}";
-    hash = "sha256-vKcKHxPwF7kdsEASJ4VunPZ9kVztPq3yH8RnCd9uI9A=";
+    hash = "sha256-Myf10+Y7lyJFhiRpJFkXe5Rng0ChzOm0EGvPEuFMYp4=";
   };
 
-  vendorHash = "sha256-v5okd7PAnA2JsgZ4SqvpZmXOQXSCzl+SwFx9NWo7C/0=";
+  vendorHash = "sha256-n3AISS4/yujTNqgGjeEK2eWw0YI1XUafZP36yD+axN4=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix b/nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix
index 8baa7488c396..3ee09ae74ac0 100644
--- a/nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix
+++ b/nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix
@@ -14,13 +14,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "tigerbeetle";
-  version = "0.14.178";
+  version = "0.14.179";
 
   src = fetchFromGitHub {
     owner = "tigerbeetle";
     repo = "tigerbeetle";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-QbNfy9S+h+o6WJTMdNzGsGZhrfCTGTyhcO3psbmQKaU=";
+    hash = "sha256-232BCwWWpNTy/bX7kXuaNZEBQKYWrnt/eepXhl/PgZ8=";
   };
 
   nativeBuildInputs = [ custom_zig_hook ];
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix b/nixpkgs/pkgs/by-name/ti/tilix/package.nix
index 65da21cbabc7..2e0bdad0be8c 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix
+++ b/nixpkgs/pkgs/by-name/ti/tilix/package.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , meson
 , ninja
@@ -16,18 +17,17 @@
 , libunwind
 , appstream
 , nixosTests
-, fetchpatch
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "tilix";
-  version = "1.9.5";
+  version = "1.9.6";
 
   src = fetchFromGitHub {
     owner = "gnunn1";
     repo = "tilix";
-    rev = version;
-    sha256 = "sha256-sPVL5oYDOmloRVm/nONKkC20vZc907c7ixBF6E2PQ8Y=";
+    rev = finalAttrs.version;
+    hash = "sha256-KP0ojwyZ5FaYKW0nK9mGGAiz1h+gTbfjCUDCgN2LAO8=";
   };
 
   # Default upstream else LDC fails to link
@@ -56,15 +56,6 @@ stdenv.mkDerivation rec {
     libunwind
   ];
 
-  patches = [
-    # https://github.com/gnunn1/tilix/issues/2151
-    (fetchpatch {
-      name = "tilix-replace-std-xml-with-gmarkup.patch";
-      url = "https://github.com/gnunn1/tilix/commit/b02779737997a02b98b690e6f8478d28d5e931a5.patch";
-      hash = "sha256-6p+DomJEZ/hCW8RTjttKsTDsgHZ6eFKj/71TU5O/Ysg=";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
@@ -81,8 +72,8 @@ stdenv.mkDerivation rec {
     description = "Tiling terminal emulator following the Gnome Human Interface Guidelines";
     homepage = "https://gnunn1.github.io/tilix-web";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ midchildan ];
+    maintainers = with maintainers; [ midchildan jtbx ];
     platforms = platforms.linux;
     mainProgram = "tilix";
   };
-}
+})
diff --git a/nixpkgs/pkgs/by-name/tr/treedome/Cargo.lock b/nixpkgs/pkgs/by-name/tr/treedome/Cargo.lock
index 2d6ec05d6e29..7d0c30b1026a 100644
--- a/nixpkgs/pkgs/by-name/tr/treedome/Cargo.lock
+++ b/nixpkgs/pkgs/by-name/tr/treedome/Cargo.lock
@@ -24,26 +24,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
 dependencies = [
  "crypto-common",
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
  "cfg-if",
- "getrandom 0.2.10",
+ "getrandom 0.2.12",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.4"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -86,9 +87,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arrayvec"
@@ -98,13 +99,13 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 
 [[package]]
 name = "async-trait"
-version = "0.1.73"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -128,7 +129,7 @@ dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -141,6 +142,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "atomic-write-file"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
+dependencies = [
+ "nix",
+ "rand 0.8.5",
+]
+
+[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -169,9 +180,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.2"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64ct"
@@ -202,9 +213,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.0"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -221,14 +232,14 @@ version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
 name = "brotli"
-version = "3.3.4"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -237,9 +248,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.3.4"
+version = "2.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -247,9 +258,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.6.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
 dependencies = [
  "memchr",
  "serde",
@@ -257,27 +268,27 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.13.1"
+version = "1.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cairo-rs"
@@ -300,7 +311,7 @@ checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8"
 dependencies = [
  "glib-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -310,7 +321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838"
 dependencies = [
  "serde",
- "toml 0.7.6",
+ "toml 0.7.8",
 ]
 
 [[package]]
@@ -350,9 +361,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.4"
+version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
+checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -390,22 +401,22 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
  "serde",
- "winapi",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -414,15 +425,15 @@ dependencies = [
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
  "half",
@@ -457,15 +468,14 @@ dependencies = [
 
 [[package]]
 name = "cocoa-foundation"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
  "bitflags 1.3.2",
  "block",
  "core-foundation",
  "core-graphics-types",
- "foreign-types",
  "libc",
  "objc",
 ]
@@ -488,9 +498,9 @@ dependencies = [
 
 [[package]]
 name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "convert_case"
@@ -500,9 +510,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -510,9 +520,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core-graphics"
@@ -529,9 +539,9 @@ dependencies = [
 
 [[package]]
 name = "core-graphics-types"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -540,9 +550,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -558,9 +568,9 @@ dependencies = [
 
 [[package]]
 name = "crc-catalog"
-version = "2.2.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
+checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 
 [[package]]
 name = "crc32fast"
@@ -573,56 +583,52 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "crypto-common"
@@ -630,7 +636,7 @@ version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
  "rand_core 0.6.4",
  "typenum",
 ]
@@ -659,17 +665,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "ctor"
-version = "0.1.26"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
 dependencies = [
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -717,7 +723,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -739,17 +745,17 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core 0.20.3",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "dashmap"
-version = "5.5.1"
+version = "5.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edd72493923899c6f10c641bdbdeddc7183d6396641d99c1a0d1597f37f92e28"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -768,10 +774,11 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
+ "powerfmt",
  "serde",
 ]
 
@@ -896,13 +903,14 @@ dependencies = [
 
 [[package]]
 name = "embed-resource"
-version = "2.2.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a"
+checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
 dependencies = [
  "cc",
+ "memchr",
  "rustc_version",
- "toml 0.7.6",
+ "toml 0.8.8",
  "vswhom",
  "winreg",
 ]
@@ -930,23 +938,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -968,40 +965,40 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "execute"
-version = "0.2.12"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d9a9ea4c04632c16bc5c71a2fcc63d308481f7fc67eb1a1ce6315c44a426ae"
+checksum = "3a82608ee96ce76aeab659e9b8d3c2b787bffd223199af88c674923d861ada10"
 dependencies = [
  "execute-command-macro",
  "execute-command-tokens",
- "generic-array",
+ "generic-array 1.0.0",
 ]
 
 [[package]]
 name = "execute-command-macro"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5fbc65a0cf735106743f4c38c9a3671c1e734b5c2c20d21a3c93c696daa3157"
+checksum = "90dec53d547564e911dc4ff3ecb726a64cf41a6fa01a2370ebc0d95175dd08bd"
 dependencies = [
  "execute-command-macro-impl",
 ]
 
 [[package]]
 name = "execute-command-macro-impl"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55a9a55d1dab3b07854648d48e366f684aefe2ac78ae28cec3bf65e3cd53d9a3"
+checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b"
 dependencies = [
  "execute-command-tokens",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "execute-command-tokens"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba569491c70ec8471e34aa7e9c0b9e82bb5d2464c0398442d17d3c4af814e5a"
+checksum = "69dc321eb6be977f44674620ca3aa21703cb20ffbe560e1ae97da08401ffbcad"
 
 [[package]]
 name = "fancy-regex"
@@ -1015,15 +1012,15 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -1040,17 +1037,23 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.22"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
- "windows-sys 0.48.0",
+ "redox_syscall",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
+name = "finl_unicode"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
+
+[[package]]
 name = "fix-path-env"
 version = "0.0.0"
 source = "git+https://github.com/tauri-apps/fix-path-env-rs?rev=a355f9da4ee628404c8f884fed5dfb2bd1876488#a355f9da4ee628404c8f884fed5dfb2bd1876488"
@@ -1061,9 +1064,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.27"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -1071,13 +1074,12 @@ dependencies = [
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
  "futures-core",
  "futures-sink",
- "pin-project",
  "spin 0.9.8",
 ]
 
@@ -1104,9 +1106,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1123,9 +1125,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1138,9 +1140,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1148,15 +1150,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1176,38 +1178,38 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1269,7 +1271,7 @@ dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1286,7 +1288,7 @@ dependencies = [
  "libc",
  "pango-sys",
  "pkg-config",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1300,7 +1302,7 @@ dependencies = [
  "gobject-sys",
  "libc",
  "pkg-config",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1312,7 +1314,7 @@ dependencies = [
  "gdk-sys",
  "glib-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
  "x11",
 ]
 
@@ -1340,6 +1342,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "generic-array"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
 name = "getrandom"
 version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1352,9 +1363,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -1363,9 +1374,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio"
@@ -1393,7 +1404,7 @@ dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
  "winapi",
 ]
 
@@ -1439,7 +1450,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4"
 dependencies = [
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1450,15 +1461,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "globset"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
  "aho-corasick",
  "bstr",
- "fnv",
  "log",
- "regex",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -1469,7 +1480,7 @@ checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a"
 dependencies = [
  "glib-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1510,7 +1521,7 @@ dependencies = [
  "gobject-sys",
  "libc",
  "pango-sys",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -1529,9 +1540,13 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "1.8.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
 
 [[package]]
 name = "hashbrown"
@@ -1541,9 +1556,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash",
  "allocator-api2",
@@ -1551,11 +1566,11 @@ dependencies = [
 
 [[package]]
 name = "hashlink"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f"
+checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
 dependencies = [
- "hashbrown 0.14.0",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -1578,9 +1593,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
 
 [[package]]
 name = "hex"
@@ -1590,9 +1605,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -1608,18 +1623,18 @@ dependencies = [
 
 [[package]]
 name = "home"
-version = "0.5.5"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "html5ever"
-version = "0.25.2"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
+checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
 dependencies = [
  "log",
  "mac",
@@ -1631,13 +1646,13 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 1.0.9",
+ "itoa 1.0.10",
 ]
 
 [[package]]
@@ -1648,16 +1663,16 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows 0.48.0",
+ "windows-core",
 ]
 
 [[package]]
@@ -1687,9 +1702,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1697,31 +1712,29 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.20"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 dependencies = [
+ "crossbeam-deque",
  "globset",
- "lazy_static",
  "log",
  "memchr",
- "regex",
+ "regex-automata 0.4.5",
  "same-file",
- "thread_local",
  "walkdir",
  "winapi-util",
 ]
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
- "num-rational",
  "num-traits",
 ]
 
@@ -1738,20 +1751,20 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.0.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.3",
  "serde",
 ]
 
 [[package]]
 name = "infer"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3"
+checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc"
 dependencies = [
  "cfb",
 ]
@@ -1762,7 +1775,7 @@ version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -1784,6 +1797,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1791,9 +1813,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "javascriptcore-rs"
@@ -1840,18 +1862,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "json-patch"
-version = "1.0.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658"
+checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6"
 dependencies = [
  "serde",
  "serde_json",
@@ -1860,13 +1882,14 @@ dependencies = [
 ]
 
 [[package]]
-name = "kuchiki"
-version = "0.8.1"
+name = "kuchikiki"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
+checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8"
 dependencies = [
  "cssparser",
  "html5ever",
+ "indexmap 1.9.3",
  "matches",
  "selectors",
 ]
@@ -1882,21 +1905,32 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall",
+]
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
 dependencies = [
  "cc",
  "pkg-config",
@@ -1914,15 +1948,15 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.5"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1966,13 +2000,13 @@ dependencies = [
 
 [[package]]
 name = "markup5ever"
-version = "0.10.1"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
+checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
 dependencies = [
  "log",
- "phf 0.8.0",
- "phf_codegen",
+ "phf 0.10.1",
+ "phf_codegen 0.10.0",
  "string_cache",
  "string_cache_codegen",
  "tendril",
@@ -1995,18 +2029,19 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 
 [[package]]
 name = "md-5"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
 dependencies = [
+ "cfg-if",
  "digest",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -2035,9 +2070,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
  "wasi 0.11.0+wasi-snapshot-preview1",
@@ -2079,6 +2114,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 
 [[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
 name = "nodrop"
 version = "0.1.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2143,21 +2189,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-rational"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
 name = "num-traits"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
  "libm",
@@ -2235,18 +2270,18 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.0"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -2303,7 +2338,7 @@ dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -2318,13 +2353,13 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "smallvec",
  "windows-targets 0.48.5",
 ]
@@ -2373,9 +2408,9 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
@@ -2394,9 +2429,17 @@ version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
- "phf_macros 0.10.0",
  "phf_shared 0.10.0",
- "proc-macro-hack",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
+ "phf_macros 0.11.2",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -2410,6 +2453,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "phf_codegen"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
+dependencies = [
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
+]
+
+[[package]]
 name = "phf_generator"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2430,6 +2483,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared 0.11.2",
+ "rand 0.8.5",
+]
+
+[[package]]
 name = "phf_macros"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2445,16 +2508,15 @@ dependencies = [
 
 [[package]]
 name = "phf_macros"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
- "phf_generator 0.10.0",
- "phf_shared 0.10.0",
- "proc-macro-hack",
+ "phf_generator 0.11.2",
+ "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2476,30 +2538,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "pin-project"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.3"
+name = "phf_shared"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
+ "siphasher",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.12"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -2530,18 +2581,18 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "plist"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
- "base64 0.21.2",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap 2.1.0",
  "line-wrap",
  "quick-xml",
  "serde",
@@ -2550,9 +2601,9 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -2573,6 +2624,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2591,7 +2648,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
@@ -2626,9 +2683,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -2641,18 +2698,18 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
 
 [[package]]
 name = "quick-xml"
-version = "0.29.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -2717,7 +2774,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.12",
 ]
 
 [[package]]
@@ -2746,9 +2803,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -2756,55 +2813,44 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
- "getrandom 0.2.10",
- "redox_syscall 0.2.16",
+ "getrandom 0.2.12",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.3"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.3.6",
- "regex-syntax 0.7.4",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -2818,13 +2864,13 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.6"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.4",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -2835,9 +2881,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rfd"
@@ -2865,16 +2911,14 @@ dependencies = [
 
 [[package]]
 name = "rsa"
-version = "0.9.2"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
 dependencies = [
- "byteorder",
  "const-oid",
  "digest",
  "num-bigint-dig",
  "num-integer",
- "num-iter",
  "num-traits",
  "pkcs1",
  "pkcs8",
@@ -2902,15 +2946,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.8"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags 2.4.0",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2921,9 +2965,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "safemem"
@@ -2986,7 +3030,7 @@ dependencies = [
  "log",
  "matches",
  "phf 0.8.0",
- "phf_codegen",
+ "phf_codegen 0.8.0",
  "precomputed-hash",
  "servo_arc",
  "smallvec",
@@ -2995,75 +3039,75 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.186"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f5db24220c009de9bd45e69fb2938f4b6d2df856aa9304ce377b3180f83b7c1"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.186"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad697f7e0b65af4983a4ce8f56ed5b357e8d3c36651bf6a7e13639c17b8e670"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.105"
+version = "1.0.112"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
+checksum = "4d1bd37ce2324cf3bf85e5a25f96eb4baf0d5aa6eba43e7ae8958870c4ec48ed"
 dependencies = [
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "ryu",
  "serde",
 ]
 
 [[package]]
 name = "serde_repr"
-version = "0.1.16"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_with"
-version = "3.3.0"
+version = "3.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237"
+checksum = "f5c9fdb6b00a489875b22efd4b78fe2b363b72265cc5f6eb2e2b9ee270e6140c"
 dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
  "chrono",
  "hex",
  "indexmap 1.9.3",
- "indexmap 2.0.0",
+ "indexmap 2.1.0",
  "serde",
  "serde_json",
  "serde_with_macros",
@@ -3072,14 +3116,14 @@ dependencies = [
 
 [[package]]
 name = "serde_with_macros"
-version = "3.3.0"
+version = "3.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c"
+checksum = "dbff351eb4b33600a2e138dfa0b10b65a238ea8ff8fb2387c422c5022a3e8298"
 dependencies = [
  "darling 0.20.3",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3104,7 +3148,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3141,9 +3185,9 @@ dependencies = [
 
 [[package]]
 name = "sha1"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -3152,9 +3196,9 @@ dependencies = [
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -3163,18 +3207,18 @@ dependencies = [
 
 [[package]]
 name = "sharded-slab"
-version = "0.1.4"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
 dependencies = [
  "lazy_static",
 ]
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 dependencies = [
  "digest",
  "rand_core 0.6.4",
@@ -3203,15 +3247,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
-version = "0.5.3"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
  "windows-sys 0.48.0",
@@ -3262,9 +3306,9 @@ dependencies = [
 
 [[package]]
 name = "spki"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
 dependencies = [
  "base64ct",
  "der",
@@ -3272,20 +3316,20 @@ dependencies = [
 
 [[package]]
 name = "sqlformat"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e"
+checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
 dependencies = [
- "itertools",
+ "itertools 0.12.0",
  "nom",
  "unicode_categories",
 ]
 
 [[package]]
 name = "sqlx"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e58421b6bc416714d5115a2ca953718f6c621a51b68e4f4922aea5a4391a721"
+checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
 dependencies = [
  "sqlx-core",
  "sqlx-macros",
@@ -3296,9 +3340,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-core"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4cef4251aabbae751a3710927945901ee1d97ee96d757f6880ebb9a79bfd53"
+checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
 dependencies = [
  "ahash",
  "atoi",
@@ -3316,7 +3360,7 @@ dependencies = [
  "futures-util",
  "hashlink",
  "hex",
- "indexmap 2.0.0",
+ "indexmap 2.1.0",
  "log",
  "memchr",
  "once_cell",
@@ -3336,9 +3380,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "208e3165167afd7f3881b16c1ef3f2af69fa75980897aac8874a0696516d12c2"
+checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3349,10 +3393,11 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros-core"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a4a8336d278c62231d87f24e8a7a74898156e34c1c18942857be2acb29c7dfc"
+checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
 dependencies = [
+ "atomic-write-file",
  "dotenvy",
  "either",
  "heck 0.4.1",
@@ -3374,13 +3419,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-mysql"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ca69bf415b93b60b80dc8fda3cb4ef52b2336614d8da2de5456cc942a110482"
+checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
 dependencies = [
  "atoi",
- "base64 0.21.2",
- "bitflags 2.4.0",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "byteorder",
  "bytes",
  "crc",
@@ -3391,11 +3436,11 @@ dependencies = [
  "futures-core",
  "futures-io",
  "futures-util",
- "generic-array",
+ "generic-array 0.14.7",
  "hex",
  "hkdf",
  "hmac",
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "log",
  "md-5",
  "memchr",
@@ -3416,13 +3461,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-postgres"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0db2df1b8731c3651e204629dd55e52adbae0462fa1bdcbed56a2302c18181e"
+checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
 dependencies = [
  "atoi",
- "base64 0.21.2",
- "bitflags 2.4.0",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "byteorder",
  "crc",
  "dotenvy",
@@ -3435,7 +3480,7 @@ dependencies = [
  "hkdf",
  "hmac",
  "home",
- "itoa 1.0.9",
+ "itoa 1.0.10",
  "log",
  "md-5",
  "memchr",
@@ -3455,9 +3500,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-sqlite"
-version = "0.7.1"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4c21bf34c7cae5b283efb3ac1bcc7670df7561124dc2f8bdc0b59be40f79a2"
+checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
 dependencies = [
  "atoi",
  "flume",
@@ -3473,6 +3518,7 @@ dependencies = [
  "sqlx-core",
  "tracing",
  "url",
+ "urlencoding",
 ]
 
 [[package]]
@@ -3518,10 +3564,11 @@ dependencies = [
 
 [[package]]
 name = "stringprep"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da"
+checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6"
 dependencies = [
+ "finl_unicode",
  "unicode-bidi",
  "unicode-normalization",
 ]
@@ -3560,9 +3607,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.29"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3597,22 +3644,22 @@ dependencies = [
 
 [[package]]
 name = "system-deps"
-version = "6.1.1"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
 dependencies = [
- "cfg-expr 0.15.4",
+ "cfg-expr 0.15.6",
  "heck 0.4.1",
  "pkg-config",
- "toml 0.7.6",
+ "toml 0.8.8",
  "version-compare 0.1.1",
 ]
 
 [[package]]
 name = "tao"
-version = "0.16.2"
+version = "0.16.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31"
+checksum = "d22205b267a679ca1c590b9f178488d50981fc3e48a1b91641ae31593db875ce"
 dependencies = [
  "bitflags 1.3.2",
  "cairo-rs",
@@ -3679,15 +3726,15 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.11"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "tauri"
-version = "1.4.1"
+version = "1.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e"
+checksum = "fd27c04b9543776a972c86ccf70660b517ecabbeced9fb58d8b961a13ad129af"
 dependencies = [
  "anyhow",
  "cocoa",
@@ -3735,12 +3782,13 @@ dependencies = [
 
 [[package]]
 name = "tauri-build"
-version = "1.4.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b"
+checksum = "e9914a4715e0b75d9f387a285c7e26b5bbfeb1249ad9f842675a82481565c532"
 dependencies = [
  "anyhow",
  "cargo_toml",
+ "dirs-next",
  "heck 0.4.1",
  "json-patch",
  "semver",
@@ -3748,15 +3796,16 @@ dependencies = [
  "serde_json",
  "tauri-utils",
  "tauri-winres",
+ "walkdir",
 ]
 
 [[package]]
 name = "tauri-codegen"
-version = "1.4.0"
+version = "1.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a"
+checksum = "a1554c5857f65dbc377cefb6b97c8ac77b1cb2a90d30d3448114d5d6b48a77fc"
 dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
  "brotli",
  "ico",
  "json-patch",
@@ -3778,9 +3827,9 @@ dependencies = [
 
 [[package]]
 name = "tauri-macros"
-version = "1.4.0"
+version = "1.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7"
+checksum = "277abf361a3a6993ec16bcbb179de0d6518009b851090a01adfea12ac89fa875"
 dependencies = [
  "heck 0.4.1",
  "proc-macro2",
@@ -3792,9 +3841,9 @@ dependencies = [
 
 [[package]]
 name = "tauri-runtime"
-version = "0.14.0"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769"
+checksum = "cf2d0652aa2891ff3e9caa2401405257ea29ab8372cce01f186a5825f1bd0e76"
 dependencies = [
  "gtk",
  "http",
@@ -3813,9 +3862,9 @@ dependencies = [
 
 [[package]]
 name = "tauri-runtime-wry"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b"
+checksum = "6cae61fbc731f690a4899681c9052dde6d05b159b44563ace8186fc1bfb7d158"
 dependencies = [
  "cocoa",
  "gtk",
@@ -3833,9 +3882,9 @@ dependencies = [
 
 [[package]]
 name = "tauri-utils"
-version = "1.4.0"
+version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84"
+checksum = "ece74810b1d3d44f29f732a7ae09a63183d63949bbdd59c61f8ed2a1b70150db"
 dependencies = [
  "brotli",
  "ctor",
@@ -3845,9 +3894,10 @@ dependencies = [
  "html5ever",
  "infer",
  "json-patch",
- "kuchiki",
+ "kuchikiki",
+ "log",
  "memchr",
- "phf 0.10.1",
+ "phf 0.11.2",
  "proc-macro2",
  "quote",
  "semver",
@@ -3857,7 +3907,7 @@ dependencies = [
  "thiserror",
  "url",
  "walkdir",
- "windows 0.39.0",
+ "windows-version",
 ]
 
 [[package]]
@@ -3867,20 +3917,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb"
 dependencies = [
  "embed-resource",
- "toml 0.7.6",
+ "toml 0.7.8",
 ]
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3902,22 +3952,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
 
 [[package]]
 name = "thiserror"
-version = "1.0.47"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.47"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3932,12 +3982,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.27"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
 dependencies = [
  "deranged",
- "itoa 1.0.9",
+ "itoa 1.0.10",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -3945,15 +3996,15 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.13"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "733d258752e9303d392b94b75230d07b0b9c489350c69b851fc6c065fde3e8f9"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
 dependencies = [
  "time-core",
 ]
@@ -3985,9 +4036,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.35.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
 dependencies = [
  "backtrace",
  "bytes",
@@ -4021,32 +4072,57 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.6"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.19.15",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.21.0",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.14"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.0",
+ "indexmap 2.1.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap 2.1.0",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -4055,11 +4131,10 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "log",
  "pin-project-lite",
  "tracing-attributes",
@@ -4068,20 +4143,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
  "valuable",
@@ -4089,20 +4164,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-log"
-version = "0.1.3"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
- "lazy_static",
  "log",
+ "once_cell",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "matchers",
  "nu-ansi-term",
@@ -4154,21 +4229,21 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -4203,9 +4278,9 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -4214,6 +4289,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
 name = "utf-8"
 version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4227,11 +4308,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.4.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.10",
+ "getrandom 0.2.12",
 ]
 
 [[package]]
@@ -4307,9 +4388,9 @@ dependencies = [
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -4329,9 +4410,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4339,24 +4420,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -4366,9 +4447,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4376,28 +4457,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -4447,7 +4528,7 @@ dependencies = [
  "pango-sys",
  "pkg-config",
  "soup2-sys",
- "system-deps 6.1.1",
+ "system-deps 6.2.0",
 ]
 
 [[package]]
@@ -4512,9 +4593,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -4572,6 +4653,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-implement"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4621,6 +4711,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4651,12 +4750,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows-tokens"
 version = "0.39.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597"
 
 [[package]]
+name = "windows-version"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4669,6 +4792,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4693,6 +4822,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4717,6 +4852,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4741,6 +4882,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4765,6 +4912,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4777,6 +4930,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4801,29 +4960,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.14"
+version = "0.5.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97"
+checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "winreg"
-version = "0.11.0"
+version = "0.51.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189"
+checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
 dependencies = [
  "cfg-if",
- "winapi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "wry"
-version = "0.24.3"
+version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea"
+checksum = "6ad85d0e067359e409fcb88903c3eac817c392e5d638258abfb3da5ad8ba6fc4"
 dependencies = [
  "base64 0.13.1",
  "block",
@@ -4837,7 +5002,7 @@ dependencies = [
  "gtk",
  "html5ever",
  "http",
- "kuchiki",
+ "kuchikiki",
  "libc",
  "log",
  "objc",
@@ -4880,18 +5045,40 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "1.0.1"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 
 [[package]]
 name = "zxcvbn"
@@ -4901,7 +5088,7 @@ checksum = "103fa851fff70ea29af380e87c25c48ff7faac5c530c70bd0e65366d4e0c94e4"
 dependencies = [
  "derive_builder",
  "fancy-regex",
- "itertools",
+ "itertools 0.10.5",
  "js-sys",
  "lazy_static",
  "quick-error",
diff --git a/nixpkgs/pkgs/by-name/tr/treedome/package.json b/nixpkgs/pkgs/by-name/tr/treedome/package.json
index 3d8cab76cc67..8d490a25e010 100644
--- a/nixpkgs/pkgs/by-name/tr/treedome/package.json
+++ b/nixpkgs/pkgs/by-name/tr/treedome/package.json
@@ -21,13 +21,13 @@
     "@fontsource/noto-sans": "^5.0.8",
     "@fontsource/noto-sans-mono": "^5.0.8",
     "@leeoniya/ufuzzy": "^1.0.8",
-    "@mantine/core": "^6.0.16",
-    "@mantine/form": "^6.0.16",
-    "@mantine/hooks": "^6.0.16",
-    "@mantine/modals": "^6.0.16",
-    "@mantine/notifications": "^6.0.16",
-    "@mantine/spotlight": "^6.0.17",
-    "@mantine/tiptap": "^6.0.16",
+    "@mantine/core": "^7.5.0",
+    "@mantine/form": "^7.5.0",
+    "@mantine/hooks": "^7.5.0",
+    "@mantine/modals": "^7.5.0",
+    "@mantine/notifications": "^7.5.0",
+    "@mantine/spotlight": "^7.5.0",
+    "@mantine/tiptap": "^7.5.0",
     "@minoru/react-dnd-treeview": "^3.4.4",
     "@mui/icons-material": "^5.14.0",
     "@mui/material": "^5.14.0",
@@ -41,6 +41,7 @@
     "@tiptap/extension-subscript": "^2.0.4",
     "@tiptap/extension-superscript": "^2.0.4",
     "@tiptap/extension-text-align": "^2.0.4",
+    "@tiptap/extension-typography": "^2.2.3",
     "@tiptap/extension-underline": "^2.0.4",
     "@tiptap/pm": "^2.0.4",
     "@tiptap/react": "^2.0.4",
diff --git a/nixpkgs/pkgs/by-name/tr/treedome/package.nix b/nixpkgs/pkgs/by-name/tr/treedome/package.nix
index a54c962aaa53..48bc4ae6f0c8 100644
--- a/nixpkgs/pkgs/by-name/tr/treedome/package.nix
+++ b/nixpkgs/pkgs/by-name/tr/treedome/package.nix
@@ -2,7 +2,7 @@
 , cargo-tauri
 , cmake
 , dbus
-, fetchFromGitea
+, fetchgit
 , fetchYarnDeps
 , freetype
 , gsettings-desktop-schemas
@@ -19,14 +19,13 @@
 
 let
   pname = "treedome";
-  version = "0.3.3";
+  version = "0.4";
 
-  src = fetchFromGitea {
-    domain = "codeberg.org";
-    owner = "solver-orgz";
-    repo = "treedome";
+  src = fetchgit {
+    url = "https://codeberg.org/solver-orgz/treedome";
     rev = version;
-    sha256 = "sha256-492EAKCXyc4s9FvkpqppZ/GllYuYe0YsXgbRl/oQBgE=";
+    hash = "sha256-HzpfctEeiPj5fO1LCiQDvWRuXCPJIX7RsYYr/Y/sahA=";
+    fetchLFS = true;
   };
 
   frontend-build = mkYarnPackage {
@@ -35,13 +34,15 @@ let
 
     offlineCache = fetchYarnDeps {
       yarnLock = "${src}/yarn.lock";
-      sha256 = "sha256-rV5jKKnbMutaG5o8gRKgs/uoKwbIkxAPIcx6VWG7mm4=";
+      hash = "sha256-SU020NgQY2TXbAsGzrXa0gLEt0hllsgD82S5L2lEtKU=";
     };
 
     packageJSON = ./package.json;
 
     configurePhase = ''
+      runHook preConfigure
       ln -s $node_modules node_modules
+      runHook postConfigure
     '';
 
     buildPhase = ''
@@ -136,9 +137,10 @@ rustPlatform.buildRustPackage {
   meta = with lib; {
     description = "A local-first, encrypted, note taking application with tree-like structures, all written and saved in markdown";
     homepage = " https://codeberg.org/solver-orgz/treedome";
-    license = licenses.gpl3Plus;
+    license = licenses.agpl3;
     platforms = [ "x86_64-linux" ];
     mainProgram = "treedome";
     maintainers = with maintainers; [ tengkuizdihar ];
+    changelog = "https://codeberg.org/solver-orgz/treedome/releases/tag/${version}";
   };
 }
diff --git a/nixpkgs/pkgs/by-name/ty/typos-lsp/package.nix b/nixpkgs/pkgs/by-name/ty/typos-lsp/package.nix
new file mode 100644
index 000000000000..b1fafeb70158
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ty/typos-lsp/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "typos-lsp";
+  version = "0.1.12";
+
+  src = fetchFromGitHub {
+    owner = "tekumara";
+    repo = "typos-lsp";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-LzemgHVCuLkLaJyyrJhIsOOn+OnYuiJsMSxITNz6R8g=";
+  };
+
+  cargoHash = "sha256-LFRg/Y/nudrdPw/o3WUH6aM+ThE8N/HII5J0Ikid8GI=";
+
+  # fix for compilation on aarch64
+  # see https://github.com/NixOS/nixpkgs/issues/145726
+  prePatch = ''
+    rm .cargo/config.toml
+  '';
+
+  meta = with lib; {
+    description = "Source code spell checker";
+    homepage = "https://github.com/tekumara/typos-lsp";
+    changelog = "https://github.com/tekumara/typos-lsp/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tarantoj ];
+    mainProgram = "typos-lsp";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/un/unison-fsmonitor/package.nix b/nixpkgs/pkgs/by-name/un/unison-fsmonitor/package.nix
new file mode 100644
index 000000000000..6cc8913d3982
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/un/unison-fsmonitor/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "unison-fsmonitor";
+  version = "0.3.3";
+
+  src = fetchFromGitHub {
+    owner = "autozimu";
+    repo = "unison-fsmonitor";
+    rev = "v${version}";
+    hash = "sha256-JA0WcHHDNuQOal/Zy3yDb+O3acZN3rVX1hh0rOtRR+8=";
+  };
+  cargoHash = "sha256-aqAa0F1NSJI1nckTjG5C7VLxaLjJgD+9yK/IpclSMqs=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
+  checkFlags = [
+    # accesses /usr/bin/env
+    "--skip=test_follow_link"
+  ];
+
+  meta = {
+    homepage = "https://github.com/autozimu/unison-fsmonitor";
+    description = "fsmonitor implementation for darwin";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ nevivurn ];
+    platforms = lib.platforms.darwin;
+    mainProgram = "unison-fsmonitor";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/up/updatecli/package.nix b/nixpkgs/pkgs/by-name/up/updatecli/package.nix
index 327c6b51bf81..737cc7a87203 100644
--- a/nixpkgs/pkgs/by-name/up/updatecli/package.nix
+++ b/nixpkgs/pkgs/by-name/up/updatecli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "updatecli";
-  version = "0.70.0";
+  version = "0.72.0";
 
   src = fetchFromGitHub {
     owner = "updatecli";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MQoi/HvJqGCYzQLNsJul/7N3MXkV1X5d48InUSIWT8o=";
+    hash = "sha256-t+HR/MrhwMQ0tDLoXU+mzI99PUtTLMpvBpGpqZed4q8=";
   };
 
-  vendorHash = "sha256-RjyVlj66CbkQlzXkdP6ZWf+cNVjOgoPdskQefv9bNoo=";
+  vendorHash = "sha256-jHH4JHz1z1eW10A3bN0DbvgIXgVICPxUWld9EtjQX/8=";
 
   # tests require network access
   doCheck = false;
diff --git a/nixpkgs/pkgs/by-name/uv/uv/Cargo.lock b/nixpkgs/pkgs/by-name/uv/uv/Cargo.lock
new file mode 100644
index 000000000000..e6331640f250
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/uv/uv/Cargo.lock
@@ -0,0 +1,5053 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "anstream"
+version = "0.6.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "assert_cmd"
+version = "2.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00ad3f3a942eee60335ab4342358c161ee296829e0d16ff42fc1d6cb07815467"
+dependencies = [
+ "anstyle",
+ "bstr",
+ "doc-comment",
+ "predicates",
+ "predicates-core",
+ "predicates-tree",
+ "wait-timeout",
+]
+
+[[package]]
+name = "assert_fs"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cd762e110c8ed629b11b6cde59458cc1c71de78ebbcc30099fc8e0403a2a2ec"
+dependencies = [
+ "anstyle",
+ "doc-comment",
+ "globwalk",
+ "predicates",
+ "predicates-core",
+ "predicates-tree",
+ "tempfile",
+]
+
+[[package]]
+name = "async-compression"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
+dependencies = [
+ "brotli",
+ "flate2",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "async_http_range_reader"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5143aaae4ec035a5d7cfda666eab896fe5428a2a8ab09ca651a2dce3a8f06912"
+dependencies = [
+ "bisection",
+ "futures",
+ "http-content-range",
+ "itertools 0.12.1",
+ "memmap2 0.9.4",
+ "reqwest",
+ "reqwest-middleware",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "async_zip"
+version = "0.0.16"
+source = "git+https://github.com/charliermarsh/rs-async-zip?rev=d76801da0943de985254fc6255c0e476b57c5836#d76801da0943de985254fc6255c0e476b57c5836"
+dependencies = [
+ "async-compression",
+ "crc32fast",
+ "futures-lite",
+ "pin-project",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+]
+
+[[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.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "backtrace-ext"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50"
+dependencies = [
+ "backtrace",
+]
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bench"
+version = "0.0.0"
+dependencies = [
+ "criterion",
+ "distribution-filename",
+ "platform-tags",
+]
+
+[[package]]
+name = "bisection"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "021e079a1bab0ecce6cf4b4b74c0c37afa4a697136eb3b127875c84a8f04a8c3"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "brotli"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "2.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
+name = "bstr"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
+dependencies = [
+ "memchr",
+ "regex-automata 0.4.5",
+ "serde",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytecheck"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
+dependencies = [
+ "bytecheck_derive",
+ "ptr_meta",
+ "simdutf8",
+]
+
+[[package]]
+name = "bytecheck_derive"
+version = "0.6.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bytemuck"
+version = "1.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cache-key"
+version = "0.0.1"
+dependencies = [
+ "hex",
+ "seahash",
+ "url",
+]
+
+[[package]]
+name = "cachedir"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4703f3937077db8fa35bee3c8789343c1aec2585f0146f09d658d4ccc0e8d873"
+dependencies = [
+ "tempfile",
+]
+
+[[package]]
+name = "camino"
+version = "1.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-util"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74862c3c6e53a1c1f8f0178f9d38ab41e49746cd3a7cafc239b3d0248fd4e342"
+dependencies = [
+ "anyhow",
+ "core-foundation",
+ "filetime",
+ "hex",
+ "ignore",
+ "jobserver",
+ "libc",
+ "miow",
+ "same-file",
+ "sha2",
+ "shell-escape",
+ "tempfile",
+ "tracing",
+ "walkdir",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "charset"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46"
+dependencies = [
+ "base64 0.13.1",
+ "encoding_rs",
+]
+
+[[package]]
+name = "chrono"
+version = "0.4.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "serde",
+ "wasm-bindgen",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "ciborium"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
+dependencies = [
+ "ciborium-io",
+ "half",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "cmake"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "configparser"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec6d3da8e550377a85339063af6e3735f4b1d9392108da4e083a1b3b9820288"
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "csv"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
+dependencies = [
+ "csv-core",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "csv-core"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ctrlc"
+version = "3.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b"
+dependencies = [
+ "nix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.14.3",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core 0.9.9",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+
+[[package]]
+name = "data-url"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5"
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "difflib"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "directories"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "distribution-filename"
+version = "0.0.1"
+dependencies = [
+ "insta",
+ "pep440_rs 0.4.0",
+ "platform-tags",
+ "rkyv",
+ "serde",
+ "thiserror",
+ "url",
+ "uv-normalize",
+]
+
+[[package]]
+name = "distribution-types"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "cache-key",
+ "data-encoding",
+ "distribution-filename",
+ "fs-err",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-tags",
+ "pypi-types",
+ "rkyv",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "sha2",
+ "thiserror",
+ "url",
+ "urlencoding",
+ "uv-fs",
+ "uv-git",
+ "uv-normalize",
+]
+
+[[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "dunce"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+
+[[package]]
+name = "either"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fdeflate"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "libz-ng-sys",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "float-cmp"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fontconfig-parser"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
+dependencies = [
+ "roxmltree 0.19.0",
+]
+
+[[package]]
+name = "fontdb"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff20bef7942a72af07104346154a70a70b089c572e454b41bef6eb6cb10e9c06"
+dependencies = [
+ "fontconfig-parser",
+ "log",
+ "memmap2 0.5.10",
+ "ttf-parser",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs-err"
+version = "2.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+dependencies = [
+ "autocfg",
+ "tokio",
+]
+
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "futures"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "gif"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
+[[package]]
+name = "git2"
+version = "0.18.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "openssl-probe",
+ "openssl-sys",
+ "url",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "globset"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
+dependencies = [
+ "aho-corasick",
+ "bstr",
+ "log",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "globwalk"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757"
+dependencies = [
+ "bitflags 2.4.2",
+ "ignore",
+ "walkdir",
+]
+
+[[package]]
+name = "goblin"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb07a4ffed2093b118a525b1d8f5204ae274faed5604537caf7135d0f18d9887"
+dependencies = [
+ "log",
+ "plain",
+ "scroll",
+]
+
+[[package]]
+name = "gourgeist"
+version = "0.0.4"
+dependencies = [
+ "anstream",
+ "cachedir",
+ "camino",
+ "clap",
+ "directories",
+ "fs-err",
+ "platform-host",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror",
+ "tracing",
+ "tracing-subscriber",
+ "uv-cache",
+ "uv-interpreter",
+ "which",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap 2.2.3",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "half"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "html-escape"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476"
+dependencies = [
+ "utf8-width",
+]
+
+[[package]]
+name = "http"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-content-range"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f0d1a8ef218a86416107794b34cc446958d9203556c312bb41eab4c924c1d2e"
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "hyper"
+version = "0.14.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "ignore"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
+dependencies = [
+ "crossbeam-deque",
+ "globset",
+ "log",
+ "memchr",
+ "regex-automata 0.4.5",
+ "same-file",
+ "walkdir",
+ "winapi-util",
+]
+
+[[package]]
+name = "imagesize"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72ad49b554c1728b1e83254a1b1565aea4161e28dabbfa171fc15fe62299caf"
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
+ "serde",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+ "vt100",
+]
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "insta"
+version = "1.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc"
+dependencies = [
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "regex",
+ "similar",
+ "yaml-rust",
+]
+
+[[package]]
+name = "install-wheel-rs"
+version = "0.0.1"
+dependencies = [
+ "clap",
+ "configparser",
+ "csv",
+ "data-encoding",
+ "distribution-filename",
+ "fs-err",
+ "fs2",
+ "goblin",
+ "indoc",
+ "mailparse",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "platform-host",
+ "platform-info",
+ "plist",
+ "pyo3",
+ "pypi-types",
+ "rayon",
+ "reflink-copy",
+ "regex",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "sha2",
+ "target-lexicon",
+ "tempfile",
+ "thiserror",
+ "tracing",
+ "tracing-subscriber",
+ "url",
+ "uv-fs",
+ "uv-normalize",
+ "walkdir",
+ "zip",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
+
+[[package]]
+name = "is-terminal"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "is_ci"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45"
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
+[[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+
+[[package]]
+name = "js-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "junction"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca39ef0d69b18e6a2fd14c2f0a1d593200f4a4ed949b240b5917ab51fac754cb"
+dependencies = [
+ "scopeguard",
+ "winapi",
+]
+
+[[package]]
+name = "kurbo"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449"
+dependencies = [
+ "arrayvec",
+]
+
+[[package]]
+name = "kurbo"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b"
+dependencies = [
+ "arrayvec",
+]
+
+[[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.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.16.2+1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8"
+dependencies = [
+ "cc",
+ "libc",
+ "libssh2-sys",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
+name = "libssh2-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "openssl-sys",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-ng-sys"
+version = "1.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5"
+dependencies = [
+ "cmake",
+ "libc",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "line-wrap"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
+dependencies = [
+ "safemem",
+]
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "mailparse"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d096594926cab442e054e047eb8c1402f7d5b2272573b97ba68aa40629f9757"
+dependencies = [
+ "charset",
+ "data-encoding",
+ "quoted_printable",
+]
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memmap2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miette"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "337e1043bbc086dac9d9674983bef52ac991ce150e09b5b8e35c5a73dd83f66c"
+dependencies = [
+ "backtrace",
+ "backtrace-ext",
+ "miette-derive",
+ "owo-colors 3.5.0",
+ "supports-color",
+ "supports-hyperlinks",
+ "supports-unicode",
+ "terminal_size",
+ "textwrap",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "miette-derive"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e622f2a0dd84cbca79bc6c3c33f4fd7dc69faf992216516aacc1d136102800"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "mimalloc"
+version = "0.1.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "miow"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "nanoid"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8"
+dependencies = [
+ "rand",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "normalize-line-endings"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.49.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "object"
+version = "0.32.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once-map"
+version = "0.0.1"
+dependencies = [
+ "dashmap",
+ "tokio",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "openssl-src"
+version = "300.2.3+3.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.99"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "owo-colors"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
+
+[[package]]
+name = "owo-colors"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.9",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.4.1",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "pep440_rs"
+version = "0.3.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "887f66cc62717ea72caac4f1eb4e6f392224da3ffff3f40ec13ab427802746d6"
+dependencies = [
+ "lazy_static",
+ "regex",
+ "serde",
+ "unicode-width",
+]
+
+[[package]]
+name = "pep440_rs"
+version = "0.4.0"
+dependencies = [
+ "indoc",
+ "once_cell",
+ "pubgrub",
+ "pyo3",
+ "rkyv",
+ "serde",
+ "tracing",
+ "unicode-width",
+ "unscanny",
+]
+
+[[package]]
+name = "pep508_rs"
+version = "0.2.3"
+dependencies = [
+ "derivative",
+ "indoc",
+ "log",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "pyo3",
+ "pyo3-log",
+ "regex",
+ "rkyv",
+ "serde",
+ "serde_json",
+ "testing_logger",
+ "thiserror",
+ "tracing",
+ "unicode-width",
+ "url",
+ "uv-fs",
+ "uv-normalize",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "petgraph"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
+dependencies = [
+ "fixedbitset",
+ "indexmap 2.2.3",
+]
+
+[[package]]
+name = "pico-args"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
+
+[[package]]
+name = "pin-project"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "platform-host"
+version = "0.0.1"
+dependencies = [
+ "fs-err",
+ "goblin",
+ "once_cell",
+ "platform-info",
+ "plist",
+ "regex",
+ "serde",
+ "target-lexicon",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "platform-info"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "platform-tags"
+version = "0.0.1"
+dependencies = [
+ "platform-host",
+ "rustc-hash",
+ "thiserror",
+]
+
+[[package]]
+name = "plist"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
+dependencies = [
+ "base64 0.21.7",
+ "indexmap 2.2.3",
+ "line-wrap",
+ "quick-xml",
+ "serde",
+ "time",
+]
+
+[[package]]
+name = "png"
+version = "0.17.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "poloto"
+version = "19.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "164dbd541c9832e92fa34452e9c2e98b515a548a3f8549fb2402fe1cd5e46b96"
+dependencies = [
+ "tagu",
+]
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "predicates"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
+dependencies = [
+ "anstyle",
+ "difflib",
+ "float-cmp",
+ "normalize-line-endings",
+ "predicates-core",
+ "regex",
+]
+
+[[package]]
+name = "predicates-core"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+
+[[package]]
+name = "predicates-tree"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+dependencies = [
+ "predicates-core",
+ "termtree",
+]
+
+[[package]]
+name = "priority-queue"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0bda9164fe05bc9225752d54aae413343c36f684380005398a6a8fde95fe785"
+dependencies = [
+ "autocfg",
+ "indexmap 1.9.3",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pubgrub"
+version = "0.2.1"
+source = "git+https://github.com/zanieb/pubgrub?rev=9b6d89cb8a0c7902815c8b2ae99106ba322ffb14#9b6d89cb8a0c7902815c8b2ae99106ba322ffb14"
+dependencies = [
+ "indexmap 2.2.3",
+ "log",
+ "priority-queue",
+ "rustc-hash",
+ "thiserror",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot 0.12.1",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-log"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd"
+dependencies = [
+ "arc-swap",
+ "log",
+ "pyo3",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "pypi-types"
+version = "0.0.1"
+dependencies = [
+ "chrono",
+ "indoc",
+ "insta",
+ "mailparse",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "regex",
+ "rkyv",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "test-case",
+ "thiserror",
+ "tracing",
+ "url",
+ "uv-normalize",
+]
+
+[[package]]
+name = "pyproject-toml"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46d4a5e69187f23a29f8aa0ea57491d104ba541bc55f76552c2a74962aa20e04"
+dependencies = [
+ "indexmap 2.2.3",
+ "pep440_rs 0.3.12",
+ "pep508_rs",
+ "serde",
+ "toml",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "quoted_printable"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "rctree"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+dependencies = [
+ "getrandom",
+ "libredox",
+ "thiserror",
+]
+
+[[package]]
+name = "reflink-copy"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "767be24c0da52e7448d495b8d162506a9aa125426651d547d545d6c2b4b65b62"
+dependencies = [
+ "cfg-if",
+ "rustix",
+ "windows",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.2",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rend"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
+dependencies = [
+ "bytecheck",
+]
+
+[[package]]
+name = "requirements-txt"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "assert_fs",
+ "fs-err",
+ "indoc",
+ "insta",
+ "itertools 0.10.5",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "regex",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "test-case",
+ "thiserror",
+ "tracing",
+ "unscanny",
+ "url",
+ "uv-fs",
+ "uv-normalize",
+ "uv-warnings",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.11.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
+dependencies = [
+ "async-compression",
+ "base64 0.21.7",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "mime_guess",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "system-configuration",
+ "tokio",
+ "tokio-rustls",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "reqwest-middleware"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88a3e86aa6053e59030e7ce2d2a3b258dd08fc2d337d52f73f6cb480f5858690"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "http",
+ "reqwest",
+ "serde",
+ "task-local-extensions",
+ "thiserror",
+]
+
+[[package]]
+name = "reqwest-retry"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "futures",
+ "getrandom",
+ "http",
+ "hyper",
+ "parking_lot 0.11.2",
+ "reqwest",
+ "reqwest-middleware",
+ "retry-policies",
+ "task-local-extensions",
+ "tokio",
+ "tracing",
+ "wasm-timer",
+]
+
+[[package]]
+name = "resvg"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76888219c0881e22b0ceab06fddcfe83163cd81642bd60c7842387f9c968a72e"
+dependencies = [
+ "gif",
+ "jpeg-decoder",
+ "log",
+ "pico-args",
+ "png",
+ "rgb",
+ "svgfilters",
+ "svgtypes 0.10.0",
+ "tiny-skia",
+ "usvg",
+ "usvg-text-layout",
+]
+
+[[package]]
+name = "retry-policies"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "rand",
+]
+
+[[package]]
+name = "rgb"
+version = "0.8.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin",
+ "untrusted",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rkyv"
+version = "0.7.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
+dependencies = [
+ "bitvec",
+ "bytecheck",
+ "bytes",
+ "hashbrown 0.12.3",
+ "ptr_meta",
+ "rend",
+ "rkyv_derive",
+ "seahash",
+ "tinyvec",
+ "uuid",
+]
+
+[[package]]
+name = "rkyv_derive"
+version = "0.7.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "rmp"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
+dependencies = [
+ "byteorder",
+ "num-traits",
+ "paste",
+]
+
+[[package]]
+name = "rmp-serde"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
+dependencies = [
+ "byteorder",
+ "rmp",
+ "serde",
+]
+
+[[package]]
+name = "rosvgtree"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdc23d1ace03d6b8153c7d16f0708cd80b61ee8e80304954803354e67e40d150"
+dependencies = [
+ "log",
+ "roxmltree 0.18.1",
+ "simplecss",
+ "siphasher",
+ "svgtypes 0.9.0",
+]
+
+[[package]]
+name = "roxmltree"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
+dependencies = [
+ "xmlparser",
+]
+
+[[package]]
+name = "roxmltree"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.21.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+dependencies = [
+ "log",
+ "ring",
+ "rustls-webpki",
+ "sct",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+dependencies = [
+ "base64 0.21.7",
+]
+
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "rustybuzz"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a"
+dependencies = [
+ "bitflags 1.3.2",
+ "bytemuck",
+ "smallvec",
+ "ttf-parser",
+ "unicode-bidi-mirroring",
+ "unicode-ccc",
+ "unicode-general-category",
+ "unicode-script",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "schannel"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "scroll"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6"
+dependencies = [
+ "scroll_derive",
+]
+
+[[package]]
+name = "scroll_derive"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "sct"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.196"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.113"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shell-escape"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
+[[package]]
+name = "similar"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"
+
+[[package]]
+name = "simplecss"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
+[[package]]
+name = "smawk"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
+
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "strict-num"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
+dependencies = [
+ "float-cmp",
+]
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "supports-color"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f"
+dependencies = [
+ "is_ci",
+]
+
+[[package]]
+name = "supports-hyperlinks"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c0a1e5168041f5f3ff68ff7d95dcb9c8749df29f6e7e89ada40dd4c9de404ee"
+
+[[package]]
+name = "supports-unicode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2"
+
+[[package]]
+name = "svg"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2198f991cd549041203080de947415bae45220eab7253c220b87e3188d19f21a"
+
+[[package]]
+name = "svgfilters"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce"
+dependencies = [
+ "float-cmp",
+ "rgb",
+]
+
+[[package]]
+name = "svgtypes"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9ee29c1407a5b18ccfe5f6ac82ac11bab3b14407e09c209a6c1a32098b19734"
+dependencies = [
+ "kurbo 0.8.3",
+ "siphasher",
+]
+
+[[package]]
+name = "svgtypes"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98ffacedcdcf1da6579c907279b4f3c5492fbce99fbbf227f5ed270a589c2765"
+dependencies = [
+ "kurbo 0.9.5",
+ "siphasher",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "tagu"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eddb6b06d20fba9ed21fca3d696ee1b6e870bca0bcf9fa2971f6ae2436de576a"
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+
+[[package]]
+name = "task-local-extensions"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8"
+dependencies = [
+ "pin-utils",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+dependencies = [
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "termtree"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+
+[[package]]
+name = "test-case"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8"
+dependencies = [
+ "test-case-macros",
+]
+
+[[package]]
+name = "test-case-core"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f"
+dependencies = [
+ "cfg-if",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "test-case-macros"
+version = "3.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "test-case-core",
+]
+
+[[package]]
+name = "testing_logger"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d92b727cb45d33ae956f7f46b966b25f1bc712092aeef9dba5ac798fc89f720"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+dependencies = [
+ "smawk",
+ "unicode-linebreak",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.3.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+dependencies = [
+ "deranged",
+ "itoa",
+ "num-conv",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "tiny-skia"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "bytemuck",
+ "cfg-if",
+ "png",
+ "tiny-skia-path",
+]
+
+[[package]]
+name = "tiny-skia-path"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c"
+dependencies = [
+ "arrayref",
+ "bytemuck",
+ "strict-num",
+]
+
+[[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tl"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b130bd8a58c163224b44e217b4239ca7b927d82bf6cc2fea1fc561d15056e3f7"
+
+[[package]]
+name = "tokio"
+version = "1.36.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+dependencies = [
+ "rustls",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
+]
+
+[[package]]
+name = "tokio-tar"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75"
+dependencies = [
+ "filetime",
+ "futures-core",
+ "libc",
+ "redox_syscall 0.3.5",
+ "tokio",
+ "tokio-stream",
+ "xattr",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-io",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99e68c159e8f5ba8a28c4eb7b0c0c190d77bb479047ca713270048145a9ad28a"
+dependencies = [
+ "indexmap 2.2.3",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-durations-export"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35b910b25a6c8e0fefcfff912bad6c4f4849d37e5945c3861d15e550d819da53"
+dependencies = [
+ "anyhow",
+ "fs-err",
+ "itertools 0.12.1",
+ "once_cell",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "svg",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-indicatif"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "069580424efe11d97c3fef4197fa98c004fa26672cc71ad8770d224e23b1951d"
+dependencies = [
+ "indicatif",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "matchers",
+ "nu-ansi-term 0.46.0",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "tracing-tree"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65139ecd2c3f6484c3b99bc01c77afe21e95473630747c7aca525e78b0666675"
+dependencies = [
+ "nu-ansi-term 0.49.0",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "ttf-parser"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
+
+[[package]]
+name = "unicode-bidi-mirroring"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694"
+
+[[package]]
+name = "unicode-ccc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
+
+[[package]]
+name = "unicode-general-category"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-script"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
+
+[[package]]
+name = "unicode-vo"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "unindent"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+
+[[package]]
+name = "unscanny"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "url"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "urlencoding"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+
+[[package]]
+name = "usvg"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63b6bb4e62619d9f68aa2d8a823fea2bff302340a1f2d45c264d5b0be170832e"
+dependencies = [
+ "base64 0.21.7",
+ "data-url",
+ "flate2",
+ "imagesize",
+ "kurbo 0.9.5",
+ "log",
+ "rctree",
+ "rosvgtree",
+ "strict-num",
+]
+
+[[package]]
+name = "usvg-text-layout"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "195386e01bc35f860db024de275a76e7a31afdf975d18beb6d0e44764118b4db"
+dependencies = [
+ "fontdb",
+ "kurbo 0.9.5",
+ "log",
+ "rustybuzz",
+ "unicode-bidi",
+ "unicode-script",
+ "unicode-vo",
+ "usvg",
+]
+
+[[package]]
+name = "utf8-width"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "uuid"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+
+[[package]]
+name = "uv"
+version = "0.1.5"
+dependencies = [
+ "anstream",
+ "anyhow",
+ "assert_cmd",
+ "assert_fs",
+ "chrono",
+ "clap",
+ "console",
+ "ctrlc",
+ "distribution-filename",
+ "distribution-types",
+ "dunce",
+ "filetime",
+ "flate2",
+ "fs-err",
+ "futures",
+ "gourgeist",
+ "indicatif",
+ "indoc",
+ "insta",
+ "install-wheel-rs",
+ "itertools 0.12.1",
+ "miette",
+ "mimalloc",
+ "owo-colors 4.0.0",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-host",
+ "platform-tags",
+ "predicates",
+ "pubgrub",
+ "pypi-types",
+ "pyproject-toml",
+ "regex",
+ "requirements-txt",
+ "reqwest",
+ "rustc-hash",
+ "tempfile",
+ "textwrap",
+ "thiserror",
+ "tikv-jemallocator",
+ "tokio",
+ "toml",
+ "tracing",
+ "tracing-durations-export",
+ "tracing-subscriber",
+ "tracing-tree",
+ "url",
+ "uv-build",
+ "uv-cache",
+ "uv-client",
+ "uv-dispatch",
+ "uv-distribution",
+ "uv-fs",
+ "uv-installer",
+ "uv-interpreter",
+ "uv-normalize",
+ "uv-resolver",
+ "uv-traits",
+ "uv-warnings",
+ "which",
+]
+
+[[package]]
+name = "uv-build"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "distribution-types",
+ "fs-err",
+ "gourgeist",
+ "indoc",
+ "insta",
+ "itertools 0.12.1",
+ "once_cell",
+ "pep508_rs",
+ "platform-host",
+ "pypi-types",
+ "pyproject-toml",
+ "regex",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "toml",
+ "tracing",
+ "uv-extract",
+ "uv-fs",
+ "uv-interpreter",
+ "uv-traits",
+]
+
+[[package]]
+name = "uv-cache"
+version = "0.0.1"
+dependencies = [
+ "cache-key",
+ "cachedir",
+ "clap",
+ "directories",
+ "distribution-types",
+ "fs-err",
+ "nanoid",
+ "pypi-types",
+ "serde",
+ "tempfile",
+ "tracing",
+ "url",
+ "uv-fs",
+ "uv-normalize",
+ "walkdir",
+]
+
+[[package]]
+name = "uv-client"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "async_http_range_reader",
+ "async_zip",
+ "cache-key",
+ "chrono",
+ "distribution-filename",
+ "distribution-types",
+ "fs-err",
+ "futures",
+ "html-escape",
+ "http",
+ "insta",
+ "install-wheel-rs",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-tags",
+ "pypi-types",
+ "reqwest",
+ "reqwest-middleware",
+ "reqwest-retry",
+ "rkyv",
+ "rmp-serde",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "sha2",
+ "task-local-extensions",
+ "tempfile",
+ "thiserror",
+ "tl",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "url",
+ "urlencoding",
+ "uv-cache",
+ "uv-fs",
+ "uv-normalize",
+]
+
+[[package]]
+name = "uv-dev"
+version = "0.0.1"
+dependencies = [
+ "anstream",
+ "anyhow",
+ "chrono",
+ "clap",
+ "distribution-filename",
+ "distribution-types",
+ "fs-err",
+ "futures",
+ "gourgeist",
+ "indicatif",
+ "install-wheel-rs",
+ "itertools 0.12.1",
+ "mimalloc",
+ "owo-colors 4.0.0",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "petgraph",
+ "platform-host",
+ "platform-tags",
+ "poloto",
+ "pypi-types",
+ "resvg",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "tagu",
+ "tempfile",
+ "tikv-jemallocator",
+ "tokio",
+ "tracing",
+ "tracing-durations-export",
+ "tracing-indicatif",
+ "tracing-subscriber",
+ "url",
+ "uv-build",
+ "uv-cache",
+ "uv-client",
+ "uv-dispatch",
+ "uv-distribution",
+ "uv-installer",
+ "uv-interpreter",
+ "uv-normalize",
+ "uv-resolver",
+ "uv-traits",
+ "which",
+]
+
+[[package]]
+name = "uv-dispatch"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "distribution-types",
+ "fs-err",
+ "futures",
+ "gourgeist",
+ "itertools 0.12.1",
+ "pep508_rs",
+ "platform-host",
+ "platform-tags",
+ "pypi-types",
+ "tempfile",
+ "tokio",
+ "tracing",
+ "uv-build",
+ "uv-cache",
+ "uv-client",
+ "uv-distribution",
+ "uv-installer",
+ "uv-interpreter",
+ "uv-resolver",
+ "uv-traits",
+]
+
+[[package]]
+name = "uv-distribution"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "cache-key",
+ "distribution-filename",
+ "distribution-types",
+ "fs-err",
+ "futures",
+ "install-wheel-rs",
+ "nanoid",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-tags",
+ "pypi-types",
+ "reqwest",
+ "rmp-serde",
+ "rustc-hash",
+ "serde",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "url",
+ "uv-cache",
+ "uv-client",
+ "uv-extract",
+ "uv-fs",
+ "uv-git",
+ "uv-normalize",
+ "uv-traits",
+ "zip",
+]
+
+[[package]]
+name = "uv-extract"
+version = "0.0.1"
+dependencies = [
+ "async-compression",
+ "async_zip",
+ "flate2",
+ "fs-err",
+ "futures",
+ "rayon",
+ "rustc-hash",
+ "tar",
+ "thiserror",
+ "tokio",
+ "tokio-tar",
+ "tokio-util",
+ "zip",
+]
+
+[[package]]
+name = "uv-fs"
+version = "0.0.1"
+dependencies = [
+ "dunce",
+ "fs-err",
+ "fs2",
+ "junction",
+ "tempfile",
+ "tracing",
+ "urlencoding",
+ "uv-warnings",
+]
+
+[[package]]
+name = "uv-git"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "base64 0.21.7",
+ "cache-key",
+ "cargo-util",
+ "git2",
+ "glob",
+ "hex",
+ "hmac",
+ "home",
+ "once_cell",
+ "rand",
+ "reqwest",
+ "serde",
+ "sha1",
+ "tokio",
+ "tracing",
+ "url",
+ "uv-fs",
+]
+
+[[package]]
+name = "uv-installer"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "distribution-filename",
+ "distribution-types",
+ "fs-err",
+ "futures",
+ "install-wheel-rs",
+ "once-map",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-tags",
+ "pypi-types",
+ "rayon",
+ "requirements-txt",
+ "rustc-hash",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "url",
+ "uv-cache",
+ "uv-client",
+ "uv-distribution",
+ "uv-extract",
+ "uv-fs",
+ "uv-git",
+ "uv-interpreter",
+ "uv-normalize",
+ "uv-traits",
+]
+
+[[package]]
+name = "uv-interpreter"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "cache-key",
+ "fs-err",
+ "indoc",
+ "insta",
+ "itertools 0.12.1",
+ "once_cell",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "platform-host",
+ "platform-tags",
+ "regex",
+ "rmp-serde",
+ "same-file",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "uv-cache",
+ "uv-fs",
+ "which",
+]
+
+[[package]]
+name = "uv-normalize"
+version = "0.0.1"
+dependencies = [
+ "rkyv",
+ "serde",
+]
+
+[[package]]
+name = "uv-resolver"
+version = "0.0.1"
+dependencies = [
+ "anstream",
+ "anyhow",
+ "cache-key",
+ "chrono",
+ "clap",
+ "dashmap",
+ "derivative",
+ "distribution-filename",
+ "distribution-types",
+ "either",
+ "fs-err",
+ "futures",
+ "gourgeist",
+ "indexmap 2.2.3",
+ "insta",
+ "install-wheel-rs",
+ "itertools 0.12.1",
+ "once-map",
+ "once_cell",
+ "owo-colors 4.0.0",
+ "pep440_rs 0.4.0",
+ "pep508_rs",
+ "petgraph",
+ "platform-host",
+ "platform-tags",
+ "pubgrub",
+ "pypi-types",
+ "reqwest",
+ "rkyv",
+ "rustc-hash",
+ "serde_json",
+ "sha2",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tracing",
+ "url",
+ "uv-cache",
+ "uv-client",
+ "uv-distribution",
+ "uv-git",
+ "uv-interpreter",
+ "uv-normalize",
+ "uv-traits",
+ "uv-warnings",
+ "zip",
+]
+
+[[package]]
+name = "uv-traits"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "distribution-types",
+ "once-map",
+ "pep508_rs",
+ "tokio",
+ "uv-cache",
+ "uv-interpreter",
+ "uv-normalize",
+]
+
+[[package]]
+name = "uv-warnings"
+version = "0.0.1"
+dependencies = [
+ "anstream",
+ "once_cell",
+ "owo-colors 4.0.0",
+ "rustc-hash",
+]
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "vt100"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84cd863bf0db7e392ba3bd04994be3473491b31e66340672af5d11943c6274de"
+dependencies = [
+ "itoa",
+ "log",
+ "unicode-width",
+ "vte",
+]
+
+[[package]]
+name = "vte"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197"
+dependencies = [
+ "arrayvec",
+ "utf8parse",
+ "vte_generate_state_changes",
+]
+
+[[package]]
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "wait-timeout"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.41"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+
+[[package]]
+name = "wasm-streams"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
+dependencies = [
+ "futures-util",
+ "js-sys",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-timer"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
+dependencies = [
+ "futures",
+ "js-sys",
+ "parking_lot 0.11.2",
+ "pin-utils",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+
+[[package]]
+name = "which"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+dependencies = [
+ "windows-core",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d90f4e0f530c4c69f62b80d839e9ef3855edc9cba471a160c4d692deed62b401"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "xmlparser"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
+
+[[package]]
+name = "yaml-rust"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
+dependencies = [
+ "linked-hash-map",
+]
+
+[[package]]
+name = "zip"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+dependencies = [
+ "byteorder",
+ "crc32fast",
+ "crossbeam-utils",
+ "flate2",
+]
diff --git a/nixpkgs/pkgs/by-name/uv/uv/package.nix b/nixpkgs/pkgs/by-name/uv/uv/package.nix
new file mode 100644
index 000000000000..52d3bdb3465a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/uv/uv/package.nix
@@ -0,0 +1,68 @@
+{ lib
+, cargo
+, cmake
+, darwin
+, fetchFromGitHub
+, libgit2
+, openssl
+, pkg-config
+, python3
+, rustPlatform
+, rustc
+, stdenv
+, zlib
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "uv";
+  version = "0.1.5";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "astral-sh";
+    repo = "uv";
+    rev = version;
+    hash = "sha256-aiTec1uWcLcCA03qki5EE7Yy4Ne2+kXu9YtIVIAyd+o=";
+  };
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "async_zip-0.0.16" = "sha256-M94ceTCtyQc1AtPXYrVGplShQhItqZZa/x5qLiL+gs0=";
+      "pubgrub-0.2.1" = "sha256-yCeUJp0Cy5Fe0g3Ba9ZFqTJ7IzSFqrX8Dv3+N8DAEZs=";
+    };
+  };
+
+  nativeBuildInputs = [
+    cargo
+    cmake
+    pkg-config
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+    rustc
+  ];
+
+  buildInputs = [
+    libgit2
+    openssl
+    zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  pythonImportsCheck = [ "uv" ];
+
+  env = {
+    OPENSSL_NO_VENDOR = true;
+  };
+
+  meta = with lib; {
+    description = "An extremely fast Python package installer and resolver, written in Rust";
+    homepage = "https://github.com/astral-sh/uv";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ marsam ];
+    mainProgram = "uv";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ux/uxn/package.nix b/nixpkgs/pkgs/by-name/ux/uxn/package.nix
index 556b2682a583..8ac219beccac 100644
--- a/nixpkgs/pkgs/by-name/ux/uxn/package.nix
+++ b/nixpkgs/pkgs/by-name/ux/uxn/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxn";
-  version = "unstable-2024-02-07";
+  version = "unstable-2024-02-15";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "300a3d7b3ed399721cef59e9ed9efe8a1d4e0f6f";
-    hash = "sha256-uwHXa4GhXNJHroQG8t3VQggvdCA3G4/1d/XVfsgeI7E=";
+    rev = "c37d2cd75c855d0932a93cd8fdadd1db00b05e48";
+    hash = "sha256-O8XN0+ixo2xMXtJkEoJAqrKZ1M4s4YoHSxKWGOUyl1k=";
   };
 
   outputs = [ "out" "projects" ];
diff --git a/nixpkgs/pkgs/by-name/vc/vcpkg/package.nix b/nixpkgs/pkgs/by-name/vc/vcpkg/package.nix
index 338f8da7c1d2..e6642b1ba3a7 100644
--- a/nixpkgs/pkgs/by-name/vc/vcpkg/package.nix
+++ b/nixpkgs/pkgs/by-name/vc/vcpkg/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "vcpkg";
-  version = "2024.01.12";
+  version = "2024.02.14";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vcpkg";
     rev = finalAttrs.version;
-    hash = "sha256-oIx/eMceFN2q7EfPCR6nFZAw5HK3U6qbyu7z9H1aJbU=";
+    hash = "sha256-qYRNf2NMvYkxq7CRbJIqC7HAhznTNK7zW6JCsP4+v6M=";
   };
 
   installPhase = let
diff --git a/nixpkgs/pkgs/by-name/ve/vesktop/package.nix b/nixpkgs/pkgs/by-name/ve/vesktop/package.nix
index e29007a1876c..26c9efec448a 100644
--- a/nixpkgs/pkgs/by-name/ve/vesktop/package.nix
+++ b/nixpkgs/pkgs/by-name/ve/vesktop/package.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , stdenvNoCC
-, gcc13Stdenv
 , fetchFromGitHub
 , substituteAll
 , makeWrapper
@@ -123,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
         libpulseaudio
         libnotify
         pipewire
-        gcc13Stdenv.cc.cc.lib
+        stdenv.cc.cc.lib
       ] ++ lib.optional withTTS speechd);
     in
     ''
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix b/nixpkgs/pkgs/by-name/wa/waf/hook.nix
index ac497d227831..ac497d227831 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/waf/hook.nix
+++ b/nixpkgs/pkgs/by-name/wa/waf/hook.nix
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix b/nixpkgs/pkgs/by-name/wa/waf/package.nix
index de4022ed7d70..515f3ae03421 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/waf/default.nix
+++ b/nixpkgs/pkgs/by-name/wa/waf/package.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog  = "https://gitlab.com/ita1024/waf/blob/${finalAttrs.version}/ChangeLog";
     license = lib.licenses.bsd3;
     mainProgram = "waf";
-    maintainers = with lib.maintainers; [ AndersonTorres vrthra ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
     inherit (python3.meta) platforms;
     sourceProvenance = [ lib.sourceTypes.fromSource ];
   };
diff --git a/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh b/nixpkgs/pkgs/by-name/wa/waf/setup-hook.sh
index d3e2bf97e682..d3e2bf97e682 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/waf/setup-hook.sh
+++ b/nixpkgs/pkgs/by-name/wa/waf/setup-hook.sh
diff --git a/nixpkgs/pkgs/by-name/wi/wiremock/package.nix b/nixpkgs/pkgs/by-name/wi/wiremock/package.nix
index 0e4e5659318b..433b73939a1c 100644
--- a/nixpkgs/pkgs/by-name/wi/wiremock/package.nix
+++ b/nixpkgs/pkgs/by-name/wi/wiremock/package.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiremock";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchurl {
     url = "mirror://maven/org/wiremock/wiremock-standalone/${version}/wiremock-standalone-${version}.jar";
-    hash = "sha256-VgUJeQJeHNmmX1cS2s5hTljQZ8fIYr9uHYWMXjZjJzY=";
+    hash = "sha256-YD7bx8AAZZ7sj49Vt2dc3berLCmd8/eC6NDBbST0jYc=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/by-name/xc/xcbeautify/package.nix b/nixpkgs/pkgs/by-name/xc/xcbeautify/package.nix
new file mode 100644
index 000000000000..5ad33771d358
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/xc/xcbeautify/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xcbeautify";
+  version = "1.4.0";
+
+  src = fetchurl {
+    url = "https://github.com/cpisciotta/xcbeautify/releases/download/${version}/xcbeautify-${version}-${stdenv.hostPlatform.darwinArch}-apple-macosx.zip";
+    hash = lib.getAttr stdenv.hostPlatform.darwinArch {
+      arm64 = "sha256-4b4mXT5IfNOS8iOrZASDhTrmOehG4mePcoiKxR+IdZk=";
+      x86_64 = "sha256-adEfAK7n3Q/Yd1deyJx7htX7hZaGDztEeBv4z2A0wzg=";
+    };
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  unpackPhase = ''
+    unzip $src
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D xcbeautify $out/bin/xcbeautify
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Little beautifier tool for xcodebuild";
+    homepage = "https://github.com/cpisciotta/xcbeautify";
+    license = licenses.mit;
+    platforms = platforms.darwin;
+    mainProgram = "xcbeautify";
+    maintainers = with maintainers; [ siddarthkay ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix b/nixpkgs/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
index ea90ed1c9fea..6009c29aab5b 100644
--- a/nixpkgs/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
+++ b/nixpkgs/pkgs/by-name/xd/xdg-desktop-portal-cosmic/package.nix
@@ -56,6 +56,7 @@ rustPlatform.buildRustPackage rec {
     description = "XDG Desktop Portal for the COSMIC Desktop Environment";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ nyanbinary ];
+    mainProgram = "xdg-desktop-portal-cosmic";
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/by-name/xi/xiu/package.nix b/nixpkgs/pkgs/by-name/xi/xiu/package.nix
new file mode 100644
index 000000000000..ed9a7e31386b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/xi/xiu/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, cmake
+, darwin
+, fetchFromGitHub
+, libopus
+, openssl
+, pkg-config
+, rustPlatform
+, stdenv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "xiu";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "harlanc";
+    repo = "xiu";
+    rev = "v${version}";
+    hash = "sha256-wJXVxkW+jbqc2zFOn8RGUVI9G0+oow+eFGtF4Nsj5pA=";
+  };
+
+  cargoHash = "sha256-gpPEHe/RDmEapkioXq7TicrFRrJlcRqiilY+munQKws=";
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    libopus
+  ] ++ lib.optionals stdenv.isLinux [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  OPENSSL_NO_VENDOR = 1;
+
+  meta = with lib; {
+    description = "A simple, high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS";
+    homepage = "https://github.com/harlanc/xiu";
+    changelog = "https://github.com/harlanc/xiu/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam ];
+    mainProgram = "xiu";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ya/yasashisa-gothic/package.nix b/nixpkgs/pkgs/by-name/ya/yasashisa-gothic/package.nix
new file mode 100644
index 000000000000..20a629707f8d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ya/yasashisa-gothic/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, unzrip
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "yasashisa-gothic";
+  version = "0-unstable-2014-03-13";
+
+  src = fetchurl {
+    url = "http://flop.sakura.ne.jp/font/fontna-op/07Yasashisa.zip";
+    hash = "sha256-JmsRvUak9FBjDw8wNA2R3lEt52/UpElleziQqa5Pm4w=";
+  };
+
+  unpackPhase = ''
+    runHook preUnpack
+
+    ${lib.getExe unzrip} -O SHIFT_JIS "$src"
+
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 "07Yasashisa/07やさしさゴシック.ttf" -t "$out/share/fonts/truetype"
+    install -Dm444 "07Yasashisa/その他-サポート外/OpenType/YasashisaGothic.otf" -t "$out/share/fonts/opentype"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Free gothic style font by Fontna";
+    homepage = "http://www.fontna.com/blog/379/";
+    license = with licenses; [ ipa mplus ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ h7x4 ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ya/yazi-unwrapped/package.nix b/nixpkgs/pkgs/by-name/ya/yazi-unwrapped/package.nix
new file mode 100644
index 000000000000..4c2d1065fad6
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ya/yazi-unwrapped/package.nix
@@ -0,0 +1,46 @@
+{ rustPlatform
+, fetchFromGitHub
+, lib
+
+, installShellFiles
+, stdenv
+, Foundation
+
+, nix-update-script
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "yazi";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "sxyazi";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
+  };
+
+  cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
+
+  env.YAZI_GEN_COMPLETIONS = true;
+
+  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
+
+  postInstall = ''
+    installShellCompletion --cmd yazi \
+      --bash ./yazi-config/completions/yazi.bash \
+      --fish ./yazi-config/completions/yazi.fish \
+      --zsh  ./yazi-config/completions/_yazi
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Blazing fast terminal file manager written in Rust, based on async I/O";
+    homepage = "https://github.com/sxyazi/yazi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ xyenon matthiasbeyer ];
+    mainProgram = "yazi";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/ya/yazi/package.nix b/nixpkgs/pkgs/by-name/ya/yazi/package.nix
new file mode 100644
index 000000000000..134db023edd9
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ya/yazi/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, runCommand
+, makeWrapper
+, yazi-unwrapped
+
+, withFile ? true
+, file
+, withJq ? true
+, jq
+, withPoppler ? true
+, poppler_utils
+, withUnar ? true
+, unar
+, withFfmpegthumbnailer ? true
+, ffmpegthumbnailer
+, withFd ? true
+, fd
+, withRipgrep ? true
+, ripgrep
+, withFzf ? true
+, fzf
+, withZoxide ? true
+, zoxide
+}:
+
+let
+  runtimePaths = with lib; [ ]
+    ++ optional withFile file
+    ++ optional withJq jq
+    ++ optional withPoppler poppler_utils
+    ++ optional withUnar unar
+    ++ optional withFfmpegthumbnailer ffmpegthumbnailer
+    ++ optional withFd fd
+    ++ optional withRipgrep ripgrep
+    ++ optional withFzf fzf
+    ++ optional withZoxide zoxide;
+in
+runCommand yazi-unwrapped.name
+{
+  inherit (yazi-unwrapped) pname version meta;
+
+  nativeBuildInputs = [ makeWrapper ];
+} ''
+  mkdir -p $out/bin
+  ln -s ${yazi-unwrapped}/share $out/share
+  makeWrapper ${yazi-unwrapped}/bin/yazi $out/bin/yazi \
+    --prefix PATH : "${lib.makeBinPath runtimePaths}"
+''
diff --git a/nixpkgs/pkgs/by-name/ys/ysfx/package.nix b/nixpkgs/pkgs/by-name/ys/ysfx/package.nix
new file mode 100644
index 000000000000..ac7807df8cd5
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ys/ysfx/package.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, freetype, juce, libX11, libXcursor, libXext, libXinerama, libXrandr, libglvnd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ysfx";
+  version = "0-unstable-2022-07-31";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = "ysfx";
+    rev = "8077347ccf4115567aed81400281dca57acbb0cc";
+    hash = "sha256-pObuOb/PA9WkKB2FdMDCOd9TKmML+Sj2MybLP0YwT+8=";
+  };
+
+  # Provide latest dr_libs.
+  dr_libs = fetchFromGitHub {
+    owner = "mackron";
+    repo = "dr_libs";
+    rev = "e4a7765e598e9e54dc0f520b7e4416359bee80cc";
+    hash = "sha256-rWabyCP47vd+EfibBWy6iQY/nFN/OXPNhkuOTSboJaU=";
+  };
+
+  prePatch = ''
+    rmdir thirdparty/dr_libs
+    ln -s ${dr_libs} thirdparty/dr_libs
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    freetype
+    juce
+    libX11
+    libXcursor
+    libXext
+    libXinerama
+    libXrandr
+    libglvnd
+  ];
+
+  cmakeFlags = [
+    "-DYSFX_PLUGIN_COPY=OFF"
+    "-DYSFX_PLUGIN_USE_SYSTEM_JUCE=ON"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib
+    cp -r ysfx_plugin_artefacts/Release/VST3 $out/lib/vst3
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Hosting library for JSFX";
+    homepage = "https://github.com/jpcima/ysfx";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/za/zapzap/package.nix b/nixpkgs/pkgs/by-name/za/zapzap/package.nix
index 6c3fcb27fc93..e41a099f4f32 100644
--- a/nixpkgs/pkgs/by-name/za/zapzap/package.nix
+++ b/nixpkgs/pkgs/by-name/za/zapzap/package.nix
@@ -6,14 +6,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "zapzap";
-  version = "5.1.3";
+  version = "5.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zapzap-linux";
     repo = "zapzap";
     rev = version;
-    hash = "sha256-IxBmtXrRIxUqnhB4OsL+lRIBTISdIqpcbI/uZ31MEBU=";
+    hash = "sha256-vG8yDW0+scImPWHyVJs2QkiSWbjPLR9Z01zkOWZi/BI=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/data/fonts/0xproto/default.nix b/nixpkgs/pkgs/data/fonts/0xproto/default.nix
index 778c1ff79fa9..98571ba7a580 100644
--- a/nixpkgs/pkgs/data/fonts/0xproto/default.nix
+++ b/nixpkgs/pkgs/data/fonts/0xproto/default.nix
@@ -4,14 +4,14 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "0xproto";
-  version = "1.601";
+  version = "1.602";
 
   src = let
     underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
   in
     fetchzip {
       url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
-      hash = "sha256-f/5YmyIF66+7w2Tb0V0UKRjwDYDdZ0BEqsEuyN0FaDQ=";
+      hash = "sha256-hcPvaC4Tyq9nLuq5RP8UzJOEGYJusRlRo2Ov4JI2IZI=";
     };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/data/fonts/marathi-cursive/default.nix b/nixpkgs/pkgs/data/fonts/marathi-cursive/default.nix
index 7f6bedc75e8b..4da56b2251c5 100644
--- a/nixpkgs/pkgs/data/fonts/marathi-cursive/default.nix
+++ b/nixpkgs/pkgs/data/fonts/marathi-cursive/default.nix
@@ -22,7 +22,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/MihailJP/MarathiCursive";
     description = "Modi script font with Graphite and OpenType support";
     maintainers = with maintainers; [ mathnerd314 ];
-    license = licenses.mit; # It's the M+ license, M+ is MIT(-ish)
+    license = licenses.mplus;
     platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/mplus-outline-fonts/default.nix b/nixpkgs/pkgs/data/fonts/mplus-outline-fonts/default.nix
index 06d4f018e644..401295dda1b3 100644
--- a/nixpkgs/pkgs/data/fonts/mplus-outline-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/mplus-outline-fonts/default.nix
@@ -25,7 +25,7 @@ in
       homepage = "https://mplus-fonts.osdn.jp";
       maintainers = with maintainers; [ uakci ];
       platforms = platforms.all;
-      license = licenses.mit;
+      license = licenses.mplus;
     };
   };
 
diff --git a/nixpkgs/pkgs/data/themes/alacritty-theme/default.nix b/nixpkgs/pkgs/data/themes/alacritty-theme/default.nix
index c8d8184768f8..f195597f72c4 100644
--- a/nixpkgs/pkgs/data/themes/alacritty-theme/default.nix
+++ b/nixpkgs/pkgs/data/themes/alacritty-theme/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation (self: {
   name = "alacritty-theme";
-  version = "unstable-2024-01-21";
+  version = "unstable-2024-02-11";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = "alacritty-theme";
-    rev = "f03686afad05274f5fbd2507f85f95b1a6542df4";
-    hash = "sha256-457kKE3I4zGf1EKkEoyZu0Fa/1O3yiryzHVEw2rNZt8=";
+    rev = "0587019bac748dfb5cc1b768f89c88ad9291b66b";
+    hash = "sha256-WPatWpBCZYFCohUh3U9QzSTFJgtou8+861013jz49Lw=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/data/themes/dracula-theme/default.nix b/nixpkgs/pkgs/data/themes/dracula-theme/default.nix
index fe17da65a142..dec34430c097 100644
--- a/nixpkgs/pkgs/data/themes/dracula-theme/default.nix
+++ b/nixpkgs/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "unstable-2024-02-08";
+  version = "unstable-2024-02-16";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "b974287300b58766c9f020a6fc779e5cd9ca4da8";
-    hash = "sha256-01UHRPO8Cdgdd2FTxGGxCGOPGHBx9JgR7Taoh8Xm58U=";
+    rev = "0be7ae81dc1c15887146db802884aa56f3d92751";
+    hash = "sha256-PmCJg/mE4mZ7KLljH4ZQou0zsaOo80z19XSmKCjojuw=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/nixpkgs/pkgs/data/themes/elegant-sddm/default.nix b/nixpkgs/pkgs/data/themes/elegant-sddm/default.nix
new file mode 100644
index 000000000000..eaf435089d71
--- /dev/null
+++ b/nixpkgs/pkgs/data/themes/elegant-sddm/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, formats
+, stdenvNoCC
+, fetchFromGitHub
+, qtgraphicaleffects
+  /* An example of how you can override the background with a NixOS wallpaper
+  *
+  *  environment.systemPackages = [
+  *    (pkgs.elegant-sddm.override {
+  *      themeConfig.General = {
+           background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}";
+  *      };
+  *    })
+  *  ];
+  */
+, themeConfig ? null
+}:
+
+let
+  user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
+in
+
+stdenvNoCC.mkDerivation {
+  pname = "elegant-sddm";
+  version = "unstable-2024-02-08";
+
+  src = fetchFromGitHub {
+    owner = "surajmandalcell";
+    repo = "Elegant-sddm";
+    rev = "3102e880f46a1b72c929d13cd0a3fb64f973952a";
+    hash = "sha256-yn0fTYsdZZSOcaYlPCn8BUIWeFIKcTI1oioTWqjYunQ=";
+  };
+
+  propagatedBuildInputs = [
+    qtgraphicaleffects
+  ];
+
+  dontWrapQtApps = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/share/sddm/themes"
+    cp -r Elegant/ "$out/share/sddm/themes/Elegant"
+  '' + (lib.optionalString (lib.isAttrs themeConfig) ''
+    ln -sf ${user-cfg} $out/share/sddm/themes/Elegant/theme.conf.user
+  '') + ''
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    mkdir -p $out/nix-support
+
+    echo ${qtgraphicaleffects} >> $out/nix-support/propagated-user-env-packages
+  '';
+
+  meta = with lib; {
+    description = "Sleek and stylish SDDM theme crafted in QML";
+    homepage = "https://github.com/surajmandalcell/Elegant-sddm";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/themes/nordic/default.nix b/nixpkgs/pkgs/data/themes/nordic/default.nix
index d99b31392b61..1751575e8259 100644
--- a/nixpkgs/pkgs/data/themes/nordic/default.nix
+++ b/nixpkgs/pkgs/data/themes/nordic/default.nix
@@ -121,10 +121,14 @@ stdenvNoCC.mkDerivation rec {
     mv -v $out/share/themes/Nordic/kde/colorschemes/* $out/share/color-schemes/
     mv -v $out/share/themes/Nordic/kde/konsole $out/share/
     mv -v $out/share/themes/Nordic/kde/kvantum/* $out/share/Kvantum/
-    mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/
+    cp -vr $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/look-and-feel/
+    mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/desktoptheme/
     mv -v $out/share/themes/Nordic/kde/folders/* $out/share/icons/
     mv -v $out/share/themes/Nordic/kde/cursors/*-cursors $out/share/icons/
 
+    rm -rf $out/share/plasma/look-and-feel/*/contents/{logout,osd,components}
+    rm -rf $out/share/plasma/desktoptheme/*/contents/{{defaults,splash,previews}
+
     mkdir -p $sddm/share/sddm/themes
     mv -v $out/share/themes/Nordic/kde/sddm/* $sddm/share/sddm/themes/
 
diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/default.nix
index dc3273e695b1..b56b0aadd3ed 100644
--- a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix
+++ b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  prefix = "tokyo-night-gtk";
+  prefix = "tokyonight-gtk-theme";
 
   packages = lib.mapAttrs' (type: content: {
     name = type;
diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/generic.nix
index 35bf498666da..e575d13c436b 100644
--- a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix
+++ b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/generic.nix
@@ -12,7 +12,7 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "${prefix}_${type}-${variantName}";
-  version = "unstable-2023-05-30";
+  version = "unstable-2023-05-31";
 
   src = fetchFromGitHub {
     owner = "Fausto-Korpsvart";
diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/variants.json
index 6489d9c649de..6489d9c649de 100644
--- a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json
+++ b/nixpkgs/pkgs/data/themes/tokyonight-gtk-theme/variants.json
diff --git a/nixpkgs/pkgs/data/themes/whitesur/default.nix b/nixpkgs/pkgs/data/themes/whitesur/default.nix
index 032c7320fbd0..11d7448047a4 100644
--- a/nixpkgs/pkgs/data/themes/whitesur/default.nix
+++ b/nixpkgs/pkgs/data/themes/whitesur/default.nix
@@ -19,6 +19,8 @@
 , panelOpacity ? null # default: 15%
 , panelSize ? null # default: 32px
 , roundedMaxWindow ? false # default: false
+, nordColor ? false # default = false
+, darkerColor ? false # default = false
 }:
 
 let
@@ -90,6 +92,8 @@ stdenv.mkDerivation rec {
       ${lib.optionalString (panelOpacity != null) ("--panel-opacity " + panelOpacity)} \
       ${lib.optionalString (panelSize != null) ("--panel-size " + panelSize)} \
       ${lib.optionalString (roundedMaxWindow == true) "--roundedmaxwindow"} \
+      ${lib.optionalString (nordColor == true) "--nordcolor"} \
+      ${lib.optionalString (darkerColor == true) "--darkercolor"} \
       --dest $out/share/themes
 
     jdupes --quiet --link-soft --recurse $out/share
@@ -100,7 +104,7 @@ stdenv.mkDerivation rec {
   passthru.updateScript = gitUpdater { };
 
   meta = with lib; {
-    description = "MacOS Big Sur like theme for Gnome desktops";
+    description = "MacOS BigSur like Gtk+ theme based on Elegant Design";
     homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/desktops/budgie/budgie-control-center/default.nix b/nixpkgs/pkgs/desktops/budgie/budgie-control-center/default.nix
index 1a51c3dfc1f1..1b3994911508 100644
--- a/nixpkgs/pkgs/desktops/budgie/budgie-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/budgie/budgie-control-center/default.nix
@@ -19,7 +19,6 @@
 , glibc
 , gnome
 , gnome-desktop
-, gnome-online-accounts
 , gsettings-desktop-schemas
 , gsound
 , gtk3
@@ -54,18 +53,19 @@
 , upower
 , webp-pixbuf-loader
 , wrapGAppsHook
+, enableSshSocket ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "budgie-control-center";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "BuddiesOfBudgie";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-7E23cgX7TkBJT/yansBfvMx0ddfAwrF7mGfqzbyLY4Q=";
+    sha256 = "sha256-W5PF7BPdQdg/7xJ4J+fEnuDdpoG/lyhX56RDnX2DXoY=";
   };
 
   patches = [
@@ -101,7 +101,6 @@ stdenv.mkDerivation rec {
     glib
     glib-networking
     gnome-desktop
-    gnome-online-accounts
     gnome.adwaita-icon-theme
     gnome.cheese
     gnome.gnome-bluetooth_1_0
@@ -134,6 +133,10 @@ stdenv.mkDerivation rec {
     upower
   ];
 
+  mesonFlags = [
+    (lib.mesonBool "ssh" enableSshSocket)
+  ];
+
   preConfigure = ''
     # For ITS rules
     addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
diff --git a/nixpkgs/pkgs/desktops/gnome/apps/gnome-music/default.nix b/nixpkgs/pkgs/desktops/gnome/apps/gnome-music/default.nix
index ae1ffd394655..823d90a49af6 100644
--- a/nixpkgs/pkgs/desktops/gnome/apps/gnome-music/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/apps/gnome-music/default.nix
@@ -30,13 +30,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "45.0";
+  version = "45.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "M+dwFmImp0U31MELFTjvqIQklP/pvyyQoWyrmKuZe98=";
+    sha256 = "lZWc24AkRASNUKGpHELbiyUWWgpoUzvAOJXrNyxN3gs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index 69feddaaa84b..1bbdc1f8df7b 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -68,11 +68,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-control-center";
-  version = "45.2";
+  version = "45.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-DPo8My1u2stz0GxrJv/KEHjob/WerIGbKTHglndT33A=";
+    sha256 = "sha256-selJxOhsBiTsam7Q3wnJ+uKyKYPB3KYO2GrsjvCyQAQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index 969d5012cc55..d20700233aa7 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -39,11 +39,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "45.0";
+  version = "45.4.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sa/nZHmPiUi+25XHqzG9eFKaxctIHEH3p3d/Jk3lS9g=";
+    sha256 = "Nj4JqjMI5/QHTgZiU6AYKzIqtgN2dD3heLu0AOVLqO4=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
index f3d4317f461a..93103100a064 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -67,13 +67,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell";
-  version = "45.3";
+  version = "45.4";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
-    sha256 = "OhlyRyDYJ03GvO1o4N1fx2aKBM15l4y7uCI0dMzdqas=";
+    sha256 = "W/6jeeEgscfyN/PsNprSfvXC9ZMMffFjs5J4LYWCCQ0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
index cfd202f8c524..e5d1cda681db 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
@@ -67,13 +67,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mutter";
-  version = "45.3";
+  version = "45.4";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    sha256 = "t4rqfz4r7IMioq8EBHFr4iaZBcfVDASwsqcaOIFPzQE=";
+    sha256 = "kRQIN74VWC8sdTvmYauOQtrVXUobDwZQvQssk/Ar16s=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
index 1129aa05ecd7..54c0a89d30a8 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
@@ -20,12 +20,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gnome-tweaks";
-  version = "45.0";
+  version = "45.1";
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "JTmUZYroYXlNDG4OD0dd/hyvJ342dLh5J5AjjzTP1u4=";
+    sha256 = "lf+n842bHf1eTOvvt1JBn+ohzUBwITla3J8RKFRBbU8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lomiri/default.nix b/nixpkgs/pkgs/desktops/lomiri/default.nix
index d0d9c777431e..f62bd5746023 100644
--- a/nixpkgs/pkgs/desktops/lomiri/default.nix
+++ b/nixpkgs/pkgs/desktops/lomiri/default.nix
@@ -31,6 +31,7 @@ let
     #### QML / QML-related
     lomiri-action-api = callPackage ./qml/lomiri-action-api { };
     lomiri-notifications = callPackage ./qml/lomiri-notifications { };
+    lomiri-push-qml = callPackage ./qml/lomiri-push-qml { };
     lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
     lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { };
     lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
diff --git a/nixpkgs/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix b/nixpkgs/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix
new file mode 100644
index 000000000000..5fba08098879
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, fetchpatch
+, cmake
+, lomiri-api
+, lomiri-indicator-network
+, pkg-config
+, qtbase
+, qtdeclarative
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lomiri-push-qml";
+  version = "0-unstable-2022-09-15";
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/lomiri-push-qml";
+    rev = "6f87ee5cf92e2af0e0ce672835e71704e236b8c0";
+    hash = "sha256-ezLcQRJ7Sq/TVbeGJL3Vq2lzBe7StRRCrWXZs2CCUX8=";
+  };
+
+  patches = [
+    # Remove when https://gitlab.com/ubports/development/core/lomiri-push-qml/-/merge_requests/6 merged
+    (fetchpatch {
+      name = "0001-lomiri-push-qml-Stop-using-qt5_use_modules.patch";
+      url = "https://gitlab.com/ubports/development/core/lomiri-push-qml/-/commit/a4268c98b9f50fdd52da69c173d377f78ea93104.patch";
+      hash = "sha256-OijTB5+I9/wabT7dX+DkvoEROKzAUIKhBZkkhqq5Oig=";
+    })
+  ];
+
+  postPatch = ''
+    # Queries QMake for QML install location, returns QtBase build path
+    substituteInPlace src/*/PushNotifications/CMakeLists.txt \
+      --replace-fail 'qmake -query QT_INSTALL_QML' 'echo ''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}' \
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    qtdeclarative # qmlplugindump
+  ];
+
+  buildInputs = [
+    lomiri-api
+    lomiri-indicator-network
+    qtbase
+    qtdeclarative
+  ];
+
+  dontWrapQtApps = true;
+
+  cmakeFlags = [
+    # In case anything still depends on deprecated hints
+    (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true)
+  ];
+
+  preBuild = ''
+    # For qmlplugindump
+    export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
+  '';
+
+  meta = with lib; {
+    description = "Lomiri Push Notifications QML plugin";
+    homepage = "https://gitlab.com/ubports/development/core/lomiri-push-qml";
+    # License file indicates gpl3Only, but de87869c2cdb9819c2ca7c9eca9c5fb8b500a01f says it should be lgpl3Only
+    license = licenses.lgpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+  };
+})
diff --git a/nixpkgs/pkgs/desktops/lxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/default.nix
index eacdac554136..dec4cabffe7e 100644
--- a/nixpkgs/pkgs/desktops/lxqt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/default.nix
@@ -61,6 +61,7 @@ let
       libqtxdg
       libsysstat
       liblxqt
+      qtxdg-tools
 
       ### CORE 1
       libfm-qt
diff --git a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index ea2f60474574..82868794e7d2 100644
--- a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -17,13 +17,13 @@
 
 mkDerivation rec {
   pname = "pcmanfm-qt";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    hash = "sha256-+U8eV6oDpaJfTzejsVtbcaQrfSjWUnVpnIDbkvVCY/c=";
+    hash = "sha256-Z3OivGlUZQVoeMWn8ZBvhajH5hrvVMIsjGKcrx5FkEE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix b/nixpkgs/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix
new file mode 100644
index 000000000000..b03b14f68c8b
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/flutter/artifacts/overrides/darwin.nix
@@ -0,0 +1,15 @@
+{ darwin }:
+{
+  buildInputs ? [ ],
+  ...
+}:
+{
+  postPatch = ''
+    if [ "$pname" == "flutter-tools" ]; then
+      # Remove impure references to `arch` and use arm64 instead of arm64e.
+      substituteInPlace lib/src/ios/xcodeproj.dart \
+        --replace-fail /usr/bin/arch '${darwin.adv_cmds}/bin/arch' \
+        --replace-fail arm64e arm64
+    fi
+  '';
+}
diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix
index 55fee5630c16..6f8d1b3c1a8f 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/flutter-tools.nix
@@ -1,4 +1,6 @@
-{ systemPlatform
+{ lib
+, stdenv
+, systemPlatform
 , buildDartApplication
 , git
 , which
@@ -7,6 +9,7 @@
 , flutterSrc
 , patches ? [ ]
 , pubspecLock
+, darwin
 }:
 
 buildDartApplication.override { inherit dart; } rec {
@@ -21,7 +24,15 @@ buildDartApplication.override { inherit dart; } rec {
   inherit patches;
   # The given patches are made for the entire SDK source tree.
   prePatch = ''pushd "$NIX_BUILD_TOP/source"'';
-  postPatch = ''popd'';
+  postPatch = ''
+    popd
+  ''
+  # Remove impure references to `arch` and use arm64 instead of arm64e.
+  + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace lib/src/ios/xcodeproj.dart \
+      --replace-fail /usr/bin/arch '${darwin.adv_cmds}/bin/arch' \
+      --replace-fail arm64e arm64
+  '';
 
   # When the JIT snapshot is being built, the application needs to run.
   # It attempts to generate configuration files, and relies on a few external
diff --git a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
index 42129501ca12..03c2968f4ab9 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
+++ b/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
@@ -136,7 +136,7 @@ let
         '';
         homepage = "https://flutter.dev";
         license = licenses.bsd3;
-        platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+        platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
         maintainers = with maintainers; [ babariviere ericdallo FlafyDev hacker1024 ];
       };
     };
diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch
deleted file mode 100644
index 6e6ae4e6fb98..000000000000
--- a/nixpkgs/pkgs/development/compilers/flutter/patches/git-dir.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
-index 9f33a22cc3..c46255742c 100644
---- a/dev/bots/prepare_package.dart
-+++ b/dev/bots/prepare_package.dart
-@@ -602,7 +602,7 @@ class ArchiveCreator {
- 
-   Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
-     return _processRunner.runProcess(
--      <String>['git', ...args],
-+      <String>['git', '--git-dir', '.git', ...args],
-       workingDirectory: workingDirectory ?? flutterRoot,
-     );
-   }
-diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart
-index a58b75c009..02da0daeb7 100644
---- a/packages/flutter_tools/lib/src/commands/downgrade.dart
-+++ b/packages/flutter_tools/lib/src/commands/downgrade.dart
-@@ -120,7 +120,7 @@ class DowngradeCommand extends FlutterCommand {
-     // Detect unknown versions.
-     final ProcessUtils processUtils = _processUtils!;
-     final RunResult parseResult = await processUtils.run(<String>[
--      'git', 'describe', '--tags', lastFlutterVersion,
-+      'git', '--git-dir', '.git', 'describe', '--tags', lastFlutterVersion,
-     ], workingDirectory: workingDirectory);
-     if (parseResult.exitCode != 0) {
-       throwToolExit('Failed to parse version for downgrade:\n${parseResult.stderr}');
-@@ -192,7 +192,7 @@ class DowngradeCommand extends FlutterCommand {
-         continue;
-       }
-       final RunResult parseResult = await _processUtils!.run(<String>[
--        'git', 'describe', '--tags', sha,
-+        'git', '--git-dir', '.git', 'describe', '--tags', sha,
-       ], workingDirectory: workingDirectory);
-       if (parseResult.exitCode == 0) {
-         buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.');
-diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
-index 0702b35e7e..36b2a95b65 100644
---- a/packages/flutter_tools/lib/src/version.dart
-+++ b/packages/flutter_tools/lib/src/version.dart
-@@ -407,7 +407,7 @@ abstract class FlutterVersion {
-   /// wrapper that does that.
-   @visibleForTesting
-   static List<String> gitLog(List<String> args) {
--    return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
-+    return <String>['git', '--git-dir','.git', '-c', 'log.showSignature=false', 'log'] + args;
-   }
- }
- 
-@@ -559,7 +559,7 @@ class _FlutterVersionGit extends FlutterVersion {
-   String? get repositoryUrl {
-     if (_repositoryUrl == null) {
-       final String gitChannel = _runGit(
--        'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
-+        'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
-         globals.processUtils,
-         flutterRoot,
-       );
-@@ -567,7 +567,7 @@ class _FlutterVersionGit extends FlutterVersion {
-       if (slash != -1) {
-         final String remote = gitChannel.substring(0, slash);
-         _repositoryUrl = _runGit(
--          'git ls-remote --get-url $remote',
-+          'git --git-dir .git ls-remote --get-url $remote',
-           globals.processUtils,
-           flutterRoot,
-         );
-@@ -952,7 +952,7 @@ class GitTagVersion {
-     }
-     // find all tags attached to the given [gitRef]
-     final List<String> tags = _runGit(
--      'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
-+      'git --git-dir .git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
- 
-     // Check first for a stable tag
-     final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
-@@ -973,7 +973,7 @@ class GitTagVersion {
-     // recent tag and number of commits past.
-     return parse(
-       _runGit(
--        'git describe --match *.*.* --long --tags $gitRef',
-+        'git --git-dir .git describe --match *.*.* --long --tags $gitRef',
-         processUtils,
-         workingDirectory,
-       )
diff --git a/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch b/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch
index 51dcfdb5cc57..42c16791a561 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch
+++ b/nixpkgs/pkgs/development/compilers/flutter/patches/override-host-platform.patch
@@ -13,7 +13,7 @@ index 1ce1951cef..1bd7602318 100644
 +    'x86_64-linux' => HostPlatform.linux_x64,
 +    'aarch64-linux' => HostPlatform.linux_arm64,
 +    'x86_64-darwin' => HostPlatform.darwin_x64,
-+    'arm64-darwin' => HostPlatform.darwin_arm64,
++    'aarch64-darwin' => HostPlatform.darwin_arm64,
 +    String value => throw ArgumentError.value(value, 'NIX_FLUTTER_HOST_PLATFORM', 'Unknown Nix host platform!'),
 +  };
  
diff --git a/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in b/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in
index 069bcdb95718..73f3b3e1f13e 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in
+++ b/nixpkgs/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix.in
@@ -22,6 +22,7 @@ let
     "x86_64-linux"
     "aarch64-linux"
     "x86_64-darwin"
+    "aarch64-darwin"
   ];
 
   derivations =
diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json
index 72e002f144d3..7d8f285f0b21 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json
+++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_13/data.json
@@ -13,42 +13,50 @@
     "android": {
       "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=",
       "aarch64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=",
-      "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ="
+      "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=",
+      "aarch64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ="
     },
     "fuchsia": {
       "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
-      "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
+      "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
     },
     "ios": {
       "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
       "aarch64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
-      "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="
+      "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=",
+      "aarch64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="
     },
     "linux": {
       "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=",
       "aarch64-linux": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=",
-      "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="
+      "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=",
+      "aarch64-darwin": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M="
     },
     "macos": {
       "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
       "aarch64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
-      "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="
+      "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=",
+      "aarch64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="
     },
     "universal": {
       "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=",
       "aarch64-linux": "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68=",
-      "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k="
+      "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k=",
+      "aarch64-darwin": "sha256-mSpAPKyP9v0dbkXqYkzGOnD5OEjRZigiRElXXcHZ5TE="
     },
     "web": {
       "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
       "aarch64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
-      "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="
+      "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=",
+      "aarch64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="
     },
     "windows": {
       "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
       "aarch64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
-      "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="
+      "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=",
+      "aarch64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="
     }
   },
   "pubspecLock": {
diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json
index 100b2bd427d4..afc0225d49a7 100644
--- a/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json
+++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_16/data.json
@@ -13,41 +13,49 @@
     "android": {
       "aarch64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=",
       "x86_64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=",
+      "aarch64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=",
       "x86_64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg="
     },
     "fuchsia": {
       "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
       "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
     },
     "ios": {
       "aarch64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
       "x86_64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
+      "aarch64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=",
       "x86_64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw="
     },
     "linux": {
       "aarch64-linux": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=",
       "x86_64-darwin": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=",
+      "aarch64-darwin": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=",
       "x86_64-linux": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU="
     },
     "macos": {
       "aarch64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
       "x86_64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
+      "aarch64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=",
       "x86_64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk="
     },
     "universal": {
       "aarch64-linux": "sha256-uB2YZRjioP/koMbPvaBHsezjPO0w5a+BpxZaDuiINIY=",
       "x86_64-darwin": "sha256-Qwf12gMqrW5nDC9Is08oxWTbKMptRQRAIb58JETq3xA=",
+      "aarch64-darwin": "sha256-Emus5J3mqPv47PD6xqNUD1KpXhVkX4JpURWuYG6KC14=",
       "x86_64-linux": "sha256-quSFKx7TZRJpK+4YDt5f9jwr7rZsSsaXMxhJ8vIcczQ="
     },
     "web": {
       "aarch64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
       "x86_64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
+      "aarch64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=",
       "x86_64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw="
     },
     "windows": {
       "aarch64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
       "x86_64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
+      "aarch64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=",
       "x86_64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU="
     }
   },
diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/data.json b/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/data.json
new file mode 100644
index 000000000000..988bafb05c2d
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/data.json
@@ -0,0 +1,989 @@
+{
+  "version": "3.19.0",
+  "engineVersion": "04817c99c9fd4956f27505204f7e344335810aed",
+  "dartVersion": "3.3.0",
+  "dartHash": {
+    "x86_64-linux": "sha256-wUg8GpieBD84LkrqfbZ6goHKgq+ZNJFzN8DMMmHJTns=",
+    "aarch64-linux": "sha256-s/RiVtOLtTtA1CAcYi/okothRO/0Ph+s9eogL84V6zc=",
+    "x86_64-darwin": "sha256-aseeiQkv8/9yuAVMn2nxL7tNjfK2H9zM+GtXBvV6R3E=",
+    "aarch64-darwin": "sha256-A6Ru36rYKf+IyUTB6LZkzl+hj1fJmuMJedltiSSxtF0="
+  },
+  "flutterHash": "sha256-rIPveNuzNEvWhO/1aY0hFfmJbsV3hTm6fTfLH6pWZ7c=",
+  "artifactHashes": {
+    "android": {
+      "aarch64-darwin": "sha256-U1DFJZDf7m7WL3cOHeAWa0D01nO5Trsd/EUZFbU2iY0=",
+      "aarch64-linux": "sha256-ACQdmNgU52jWmp9BWOzSdPEkEigXts16/pYVgbBM11k=",
+      "x86_64-darwin": "sha256-U1DFJZDf7m7WL3cOHeAWa0D01nO5Trsd/EUZFbU2iY0=",
+      "x86_64-linux": "sha256-ACQdmNgU52jWmp9BWOzSdPEkEigXts16/pYVgbBM11k="
+    },
+    "fuchsia": {
+      "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=",
+      "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="
+    },
+    "ios": {
+      "aarch64-darwin": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=",
+      "aarch64-linux": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=",
+      "x86_64-darwin": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g=",
+      "x86_64-linux": "sha256-nMtIjyLeDNLERmjU8CCtmGrCckG5uXnu53zvKPEii9g="
+    },
+    "linux": {
+      "aarch64-darwin": "sha256-XqrkmbUjNvcVSoHQlGK75JsxHEcsSrzBplRtx8xNrIU=",
+      "aarch64-linux": "sha256-XqrkmbUjNvcVSoHQlGK75JsxHEcsSrzBplRtx8xNrIU=",
+      "x86_64-darwin": "sha256-J3J+gE0nSOnhMEo7mjVLCxdZtaBrWsQHr6xfBdvHamU=",
+      "x86_64-linux": "sha256-J3J+gE0nSOnhMEo7mjVLCxdZtaBrWsQHr6xfBdvHamU="
+    },
+    "macos": {
+      "aarch64-darwin": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=",
+      "aarch64-linux": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=",
+      "x86_64-darwin": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q=",
+      "x86_64-linux": "sha256-PJ1y+yZEHgB74rJAtnTZKgn6R9m4p5eiwVap6QkLx/Q="
+    },
+    "universal": {
+      "aarch64-darwin": "sha256-GgvIuqvGPjxx6V2Mz1/TK8c6p8Frc3XKbWCgsduFhWU=",
+      "aarch64-linux": "sha256-SwgsbQECd1uqU11V6jKZ0hf1NZRBiC3xZuIf3cthFz0=",
+      "x86_64-darwin": "sha256-q8Kn9F1w1zavq/LFvPITaWSRdCkAOKi3olDVoHpeu5g=",
+      "x86_64-linux": "sha256-iDV57cKmDL0eUqtJ28RO+Xwomzwnaet4g30gVUXv8jY="
+    },
+    "web": {
+      "aarch64-darwin": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=",
+      "aarch64-linux": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=",
+      "x86_64-darwin": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw=",
+      "x86_64-linux": "sha256-mttYf65rooXs3ctkaXrJsz4mGY2t4zqXZZ/R16EoCYw="
+    },
+    "windows": {
+      "aarch64-darwin": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=",
+      "aarch64-linux": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=",
+      "x86_64-darwin": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA=",
+      "x86_64-linux": "sha256-/ZQwetr5gqhrvLF7/Sl/9mmi9oAg9k3s7poqVk57GIA="
+    }
+  },
+  "pubspecLock": {
+    "packages": {
+      "_fe_analyzer_shared": {
+        "dependency": "direct main",
+        "description": {
+          "name": "_fe_analyzer_shared",
+          "sha256": "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "65.0.0"
+      },
+      "analyzer": {
+        "dependency": "direct main",
+        "description": {
+          "name": "analyzer",
+          "sha256": "dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "6.3.0"
+      },
+      "archive": {
+        "dependency": "direct main",
+        "description": {
+          "name": "archive",
+          "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.3.2"
+      },
+      "args": {
+        "dependency": "direct main",
+        "description": {
+          "name": "args",
+          "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.4.2"
+      },
+      "async": {
+        "dependency": "direct main",
+        "description": {
+          "name": "async",
+          "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.11.0"
+      },
+      "boolean_selector": {
+        "dependency": "direct main",
+        "description": {
+          "name": "boolean_selector",
+          "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.1"
+      },
+      "browser_launcher": {
+        "dependency": "direct main",
+        "description": {
+          "name": "browser_launcher",
+          "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.1"
+      },
+      "built_collection": {
+        "dependency": "direct main",
+        "description": {
+          "name": "built_collection",
+          "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "5.1.1"
+      },
+      "built_value": {
+        "dependency": "direct main",
+        "description": {
+          "name": "built_value",
+          "sha256": "c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "8.8.1"
+      },
+      "checked_yaml": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "checked_yaml",
+          "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.0.3"
+      },
+      "cli_config": {
+        "dependency": "direct main",
+        "description": {
+          "name": "cli_config",
+          "sha256": "65c7830649e1f8247660f1b783effb460255d6e2c1ac94eb823cf1f84e59b288",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.1.2"
+      },
+      "clock": {
+        "dependency": "direct main",
+        "description": {
+          "name": "clock",
+          "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.1"
+      },
+      "collection": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "collection",
+          "sha256": "ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.18.0"
+      },
+      "completion": {
+        "dependency": "direct main",
+        "description": {
+          "name": "completion",
+          "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.1"
+      },
+      "convert": {
+        "dependency": "direct main",
+        "description": {
+          "name": "convert",
+          "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.1.1"
+      },
+      "coverage": {
+        "dependency": "direct main",
+        "description": {
+          "name": "coverage",
+          "sha256": "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.7.2"
+      },
+      "crypto": {
+        "dependency": "direct main",
+        "description": {
+          "name": "crypto",
+          "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.3"
+      },
+      "csslib": {
+        "dependency": "direct main",
+        "description": {
+          "name": "csslib",
+          "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.0"
+      },
+      "dap": {
+        "dependency": "direct main",
+        "description": {
+          "name": "dap",
+          "sha256": "1dc9a11bc60836b151672d3edb6a56a18383ecf122e56eaf5837b32c81641aeb",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.0"
+      },
+      "dds": {
+        "dependency": "direct main",
+        "description": {
+          "name": "dds",
+          "sha256": "436bf46d0bf15ec750098fbf4d43e90210873ea615aee14611bfd593ae52ddd8",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.1.0+1"
+      },
+      "dds_service_extensions": {
+        "dependency": "direct main",
+        "description": {
+          "name": "dds_service_extensions",
+          "sha256": "c41b86e0c7c496b39d10448f1e4bcd2dbabc29c4cce2bd6d864d57a837ab94b2",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.6.2"
+      },
+      "devtools_shared": {
+        "dependency": "direct main",
+        "description": {
+          "name": "devtools_shared",
+          "sha256": "7f173edabb97ac7c7815ae6b08dc18733504e62651eb0ab4216559e173164df1",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "6.0.3"
+      },
+      "dwds": {
+        "dependency": "direct main",
+        "description": {
+          "name": "dwds",
+          "sha256": "7ae2b39e73f959e572fa5efabf3606b0c9863a39067a869ac3ea593ace901280",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "23.0.0+1"
+      },
+      "extension_discovery": {
+        "dependency": "direct main",
+        "description": {
+          "name": "extension_discovery",
+          "sha256": "20735622d0763865f9d94c3ecdce4441174530870760253e9d364fb4f3da8688",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.0.0"
+      },
+      "fake_async": {
+        "dependency": "direct main",
+        "description": {
+          "name": "fake_async",
+          "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.3.1"
+      },
+      "file": {
+        "dependency": "direct main",
+        "description": {
+          "name": "file",
+          "sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "7.0.0"
+      },
+      "file_testing": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "file_testing",
+          "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.0"
+      },
+      "fixnum": {
+        "dependency": "direct main",
+        "description": {
+          "name": "fixnum",
+          "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.0"
+      },
+      "flutter_template_images": {
+        "dependency": "direct main",
+        "description": {
+          "name": "flutter_template_images",
+          "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "4.2.0"
+      },
+      "frontend_server_client": {
+        "dependency": "direct main",
+        "description": {
+          "name": "frontend_server_client",
+          "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.2.0"
+      },
+      "glob": {
+        "dependency": "direct main",
+        "description": {
+          "name": "glob",
+          "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.2"
+      },
+      "graphs": {
+        "dependency": "direct main",
+        "description": {
+          "name": "graphs",
+          "sha256": "aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.3.1"
+      },
+      "html": {
+        "dependency": "direct main",
+        "description": {
+          "name": "html",
+          "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.15.4"
+      },
+      "http": {
+        "dependency": "direct main",
+        "description": {
+          "name": "http",
+          "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.13.6"
+      },
+      "http_multi_server": {
+        "dependency": "direct main",
+        "description": {
+          "name": "http_multi_server",
+          "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.2.1"
+      },
+      "http_parser": {
+        "dependency": "direct main",
+        "description": {
+          "name": "http_parser",
+          "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "4.0.2"
+      },
+      "intl": {
+        "dependency": "direct main",
+        "description": {
+          "name": "intl",
+          "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.18.1"
+      },
+      "io": {
+        "dependency": "direct main",
+        "description": {
+          "name": "io",
+          "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.4"
+      },
+      "js": {
+        "dependency": "direct main",
+        "description": {
+          "name": "js",
+          "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.6.7"
+      },
+      "json_annotation": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "json_annotation",
+          "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "4.8.1"
+      },
+      "json_rpc_2": {
+        "dependency": "direct main",
+        "description": {
+          "name": "json_rpc_2",
+          "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.2"
+      },
+      "logging": {
+        "dependency": "direct main",
+        "description": {
+          "name": "logging",
+          "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.2.0"
+      },
+      "matcher": {
+        "dependency": "direct main",
+        "description": {
+          "name": "matcher",
+          "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.12.16+1"
+      },
+      "meta": {
+        "dependency": "direct main",
+        "description": {
+          "name": "meta",
+          "sha256": "d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.11.0"
+      },
+      "mime": {
+        "dependency": "direct main",
+        "description": {
+          "name": "mime",
+          "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.4"
+      },
+      "multicast_dns": {
+        "dependency": "direct main",
+        "description": {
+          "name": "multicast_dns",
+          "sha256": "316cc47a958d4bd3c67bd238fe8b44fdfb6133bad89cb191c0c3bd3edb14e296",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.3.2+6"
+      },
+      "mustache_template": {
+        "dependency": "direct main",
+        "description": {
+          "name": "mustache_template",
+          "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.0.0"
+      },
+      "native_assets_builder": {
+        "dependency": "direct main",
+        "description": {
+          "name": "native_assets_builder",
+          "sha256": "15076b8010eb1ab2a01c1b4bee6abd0174f40f2151406466119b69b398071df4",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.3.0"
+      },
+      "native_assets_cli": {
+        "dependency": "direct main",
+        "description": {
+          "name": "native_assets_cli",
+          "sha256": "3119600043214157fb54f4ef05717a82a7858f35625fe767799c60f3039361c8",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.3.2"
+      },
+      "native_stack_traces": {
+        "dependency": "direct main",
+        "description": {
+          "name": "native_stack_traces",
+          "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.5.6"
+      },
+      "node_preamble": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "node_preamble",
+          "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.0.2"
+      },
+      "package_config": {
+        "dependency": "direct main",
+        "description": {
+          "name": "package_config",
+          "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.0"
+      },
+      "path": {
+        "dependency": "direct main",
+        "description": {
+          "name": "path",
+          "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.9.0"
+      },
+      "petitparser": {
+        "dependency": "direct main",
+        "description": {
+          "name": "petitparser",
+          "sha256": "c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "6.0.2"
+      },
+      "platform": {
+        "dependency": "direct main",
+        "description": {
+          "name": "platform",
+          "sha256": "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.1.4"
+      },
+      "pool": {
+        "dependency": "direct main",
+        "description": {
+          "name": "pool",
+          "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.5.1"
+      },
+      "process": {
+        "dependency": "direct main",
+        "description": {
+          "name": "process",
+          "sha256": "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "5.0.2"
+      },
+      "pub_semver": {
+        "dependency": "direct main",
+        "description": {
+          "name": "pub_semver",
+          "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.4"
+      },
+      "pubspec_parse": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "pubspec_parse",
+          "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.2.3"
+      },
+      "shelf": {
+        "dependency": "direct main",
+        "description": {
+          "name": "shelf",
+          "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.4.1"
+      },
+      "shelf_packages_handler": {
+        "dependency": "direct main",
+        "description": {
+          "name": "shelf_packages_handler",
+          "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.2"
+      },
+      "shelf_proxy": {
+        "dependency": "direct main",
+        "description": {
+          "name": "shelf_proxy",
+          "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.4"
+      },
+      "shelf_static": {
+        "dependency": "direct main",
+        "description": {
+          "name": "shelf_static",
+          "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.2"
+      },
+      "shelf_web_socket": {
+        "dependency": "direct main",
+        "description": {
+          "name": "shelf_web_socket",
+          "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.4"
+      },
+      "source_map_stack_trace": {
+        "dependency": "direct main",
+        "description": {
+          "name": "source_map_stack_trace",
+          "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.1"
+      },
+      "source_maps": {
+        "dependency": "direct main",
+        "description": {
+          "name": "source_maps",
+          "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.10.12"
+      },
+      "source_span": {
+        "dependency": "direct main",
+        "description": {
+          "name": "source_span",
+          "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.10.0"
+      },
+      "sse": {
+        "dependency": "direct main",
+        "description": {
+          "name": "sse",
+          "sha256": "8168874cdbd42c36ea118ba9f88a656ad97f604f28c976c61cb6d5b281c5319c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "4.1.4"
+      },
+      "stack_trace": {
+        "dependency": "direct main",
+        "description": {
+          "name": "stack_trace",
+          "sha256": "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.11.1"
+      },
+      "standard_message_codec": {
+        "dependency": "direct main",
+        "description": {
+          "name": "standard_message_codec",
+          "sha256": "fc7dd712d191b7e33196a0ecf354c4573492bb95995e7166cb6f73b047f9cae0",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.0.1+4"
+      },
+      "stream_channel": {
+        "dependency": "direct main",
+        "description": {
+          "name": "stream_channel",
+          "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.2"
+      },
+      "string_scanner": {
+        "dependency": "direct main",
+        "description": {
+          "name": "string_scanner",
+          "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.2.0"
+      },
+      "sync_http": {
+        "dependency": "direct main",
+        "description": {
+          "name": "sync_http",
+          "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.3.1"
+      },
+      "term_glyph": {
+        "dependency": "direct main",
+        "description": {
+          "name": "term_glyph",
+          "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.2.1"
+      },
+      "test": {
+        "dependency": "direct dev",
+        "description": {
+          "name": "test",
+          "sha256": "a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.24.9"
+      },
+      "test_api": {
+        "dependency": "direct main",
+        "description": {
+          "name": "test_api",
+          "sha256": "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.6.1"
+      },
+      "test_core": {
+        "dependency": "direct main",
+        "description": {
+          "name": "test_core",
+          "sha256": "a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.5.9"
+      },
+      "typed_data": {
+        "dependency": "direct main",
+        "description": {
+          "name": "typed_data",
+          "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.3.2"
+      },
+      "unified_analytics": {
+        "dependency": "direct main",
+        "description": {
+          "name": "unified_analytics",
+          "sha256": "fbcb0ad896a15c1ddea7ec45e8bfc92a894490e5792e07b74b2e6e992f4c77f8",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "5.8.0"
+      },
+      "usage": {
+        "dependency": "direct main",
+        "description": {
+          "name": "usage",
+          "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "4.1.1"
+      },
+      "uuid": {
+        "dependency": "direct main",
+        "description": {
+          "name": "uuid",
+          "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.7"
+      },
+      "vm_service": {
+        "dependency": "direct main",
+        "description": {
+          "name": "vm_service",
+          "sha256": "b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "13.0.0"
+      },
+      "vm_service_interface": {
+        "dependency": "direct main",
+        "description": {
+          "name": "vm_service_interface",
+          "sha256": "a1897b14842d58ca75de00ccaec6d0bdc9806b4c3560d781ef61dc6851a66f76",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.0.0"
+      },
+      "vm_snapshot_analysis": {
+        "dependency": "direct main",
+        "description": {
+          "name": "vm_snapshot_analysis",
+          "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.7.6"
+      },
+      "watcher": {
+        "dependency": "direct main",
+        "description": {
+          "name": "watcher",
+          "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.1.0"
+      },
+      "web": {
+        "dependency": "direct main",
+        "description": {
+          "name": "web",
+          "sha256": "edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "0.4.0"
+      },
+      "web_socket_channel": {
+        "dependency": "direct main",
+        "description": {
+          "name": "web_socket_channel",
+          "sha256": "045ec2137c27bf1a32e6ffa0e734d532a6677bf9016a0d1a406c54e499ff945b",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.4.1"
+      },
+      "webdriver": {
+        "dependency": "direct main",
+        "description": {
+          "name": "webdriver",
+          "sha256": "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.0.3"
+      },
+      "webkit_inspection_protocol": {
+        "dependency": "direct main",
+        "description": {
+          "name": "webkit_inspection_protocol",
+          "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "1.2.1"
+      },
+      "xml": {
+        "dependency": "direct main",
+        "description": {
+          "name": "xml",
+          "sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "6.5.0"
+      },
+      "yaml": {
+        "dependency": "direct main",
+        "description": {
+          "name": "yaml",
+          "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "3.1.2"
+      },
+      "yaml_edit": {
+        "dependency": "direct main",
+        "description": {
+          "name": "yaml_edit",
+          "sha256": "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd",
+          "url": "https://pub.dev"
+        },
+        "source": "hosted",
+        "version": "2.1.1"
+      }
+    },
+    "sdks": {
+      "dart": ">=3.3.0-91.0.dev <4.0.0"
+    }
+  }
+}
diff --git a/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/patches/disable-auto-update-shared.patch b/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/patches/disable-auto-update-shared.patch
new file mode 100644
index 000000000000..961b41f7327c
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/flutter/versions/3_19/patches/disable-auto-update-shared.patch
@@ -0,0 +1,13 @@
+diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
+index 75d9d3013e..657ad3cb78 100644
+--- a/bin/internal/shared.sh
++++ b/bin/internal/shared.sh
+@@ -245,7 +245,7 @@ function shared::execute() {
+   # and will corrupt each others' downloads.
+   #
+   # SHARED_NAME itself is prepared by the caller script.
+-  upgrade_flutter 7< "$SHARED_NAME"
++  # upgrade_flutter 7< "$SHARED_NAME"
+ 
+   BIN_NAME="$(basename "$PROG_NAME")"
+   case "$BIN_NAME" in
diff --git a/nixpkgs/pkgs/development/compilers/ispc/default.nix b/nixpkgs/pkgs/development/compilers/ispc/default.nix
index d8b8c141042b..0c710b0736a3 100644
--- a/nixpkgs/pkgs/development/compilers/ispc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/ispc/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "ispc";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-NiBwQ7BzNgRdWLvjOi1fQni+vnYwn0nLHxqAVucmb2k=";
+    sha256 = "sha256-zixPt7YICCG0N8t1pcXEu/sPKCVLQVPCiJsQEqEXl+A=";
   };
 
   nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev tbb ] ++ lib.lists.optionals stdenv.isDarwin [ xcode ];
@@ -55,7 +55,6 @@ stdenv.mkDerivation rec {
     "-DFILE_CHECK_EXECUTABLE=${llvmPackages.llvm}/bin/FileCheck"
     "-DLLVM_AS_EXECUTABLE=${llvmPackages.llvm}/bin/llvm-as"
     "-DLLVM_CONFIG_EXECUTABLE=${llvmPackages.llvm.dev}/bin/llvm-config"
-    "-DLLVM_DIS_EXECUTABLE=${llvmPackages.llvm}/bin/llvm-dis"
     "-DCLANG_EXECUTABLE=${llvmPackages.clang}/bin/clang"
     "-DCLANGPP_EXECUTABLE=${llvmPackages.clang}/bin/clang++"
     "-DISPC_INCLUDE_EXAMPLES=OFF"
diff --git a/nixpkgs/pkgs/development/compilers/koka/default.nix b/nixpkgs/pkgs/development/compilers/koka/default.nix
index e3462c826c76..4057ec157eba 100644
--- a/nixpkgs/pkgs/development/compilers/koka/default.nix
+++ b/nixpkgs/pkgs/development/compilers/koka/default.nix
@@ -31,12 +31,12 @@
 }:
 
 let
-  version = "3.0.4";
+  version = "3.1.0";
   src = fetchFromGitHub {
     owner = "koka-lang";
     repo = "koka";
     rev = "v${version}";
-    sha256 = "sha256-U8BW1Aq9t3je0YDV8NkE0MzdnjwXBJQbmekh5ufOs3k=";
+    sha256 = "sha256-Twm2Hr8BQ0xTdA30e2Az/57525jTUkmv2Zs/+SNiQns=";
     fetchSubmodules = true;
   };
   kklib = stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/development/compilers/mruby/default.nix b/nixpkgs/pkgs/development/compilers/mruby/default.nix
index 578dbf9c9837..0a081596616a 100644
--- a/nixpkgs/pkgs/development/compilers/mruby/default.nix
+++ b/nixpkgs/pkgs/development/compilers/mruby/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, ruby, rake, fetchFromGitHub }:
+{ lib, stdenv, ruby, rake, fetchFromGitHub, testers }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mruby";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
-    rev     = version;
-    sha256  = "sha256-MmrbWeg/G29YBvVrOtceTOZChrQ2kx9+apl7u7BiGjA=";
+    rev     = finalAttrs.version;
+    sha256  = "sha256-rCoEC1ioX6bOocPoPi+Lsn4PM8gY0DjKja1/MJvJ1n8=";
   };
 
   nativeBuildInputs = [ rake ];
@@ -28,11 +28,18 @@ stdenv.mkDerivation rec {
 
   checkTarget = "test";
 
+  passthru.tests = {
+    version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+    };
+  };
+
   meta = with lib; {
     description = "An embeddable implementation of the Ruby language";
     homepage = "https://mruby.org";
     maintainers = with maintainers; [ nicknovitski marsam ];
     license = licenses.mit;
     platforms = platforms.all;
+    mainProgram = "mruby";
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/compilers/terra/default.nix b/nixpkgs/pkgs/development/compilers/terra/default.nix
index d53441a583c3..3f6934f04212 100644
--- a/nixpkgs/pkgs/development/compilers/terra/default.nix
+++ b/nixpkgs/pkgs/development/compilers/terra/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, llvmPackages, ncurses, cmake, libxml2
 , symlinkJoin, breakpointHook, cudaPackages, enableCUDA ? false
-, libobjc, Cocoa, Foundation
+, libffi, libobjc, libpfm, Cocoa, Foundation
 }:
 
 let
@@ -42,16 +42,25 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ llvmMerged ncurses libxml2 ]
+  buildInputs = [ llvmMerged ncurses libffi libxml2 ]
     ++ lib.optionals enableCUDA [ cuda ]
+    ++ lib.optional (!stdenv.isDarwin) libpfm
     ++ lib.optionals stdenv.isDarwin [ libobjc Cocoa Foundation ];
 
-  cmakeFlags = [
+  cmakeFlags = let
+    resourceDir = "${llvmMerged}/lib/clang/" + (
+      if lib.versionOlder clangVersion "16"
+      then
+        clangVersion
+      else
+        lib.versions.major clangVersion
+    );
+  in [
     "-DHAS_TERRA_VERSION=0"
     "-DTERRA_VERSION=${version}"
     "-DTERRA_LUA=luajit"
     "-DTERRA_SKIP_LUA_DOWNLOAD=ON"
-    "-DCLANG_RESOURCE_DIR=${llvmMerged}/lib/clang/${clangVersion}"
+    "-DCLANG_RESOURCE_DIR=${resourceDir}"
   ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON";
 
   doCheck = true;
@@ -88,6 +97,8 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ jb55 seylerius thoughtpolice elliottslaughter ];
     license = licenses.mit;
     # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
+    # Linux Aarch64 broken above LLVM11
+    # https://github.com/terralang/terra/issues/597
+    broken = stdenv.isAarch64;
   };
 }
diff --git a/nixpkgs/pkgs/development/coq-modules/coq-lsp/default.nix b/nixpkgs/pkgs/development/coq-modules/coq-lsp/default.nix
index 7ca44f39e0e8..790c264d28bd 100644
--- a/nixpkgs/pkgs/development/coq-modules/coq-lsp/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coq-lsp/default.nix
@@ -10,12 +10,14 @@ mkCoqDerivation rec {
   release."0.1.8+8.16".sha256 = "sha256-dEEAK5IXGjHB8D/fYJRQG/oCotoXJuWLxXB0GQlY2eo=";
   release."0.1.8+8.17".sha256 = "sha256-TmaE+osn/yAPU1Dyni/UTd5w/L2+qyPE3H/g6IWvHLQ=";
   release."0.1.8+8.18".sha256 = "sha256-UYmiDdbax4wxp5dLia/1t1gFyK6UELtJJvDMd5Hd14s=";
+  release."0.1.8+8.19".sha256 = "sha256-aO3hUAWEqVxvCF7uJs+S4yrRxSMe/GaLKVfW/vawzNs=";
 
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
     { case = isEq "8.16"; out = "0.1.8+8.16"; }
     { case = isEq "8.17"; out = "0.1.8+8.17"; }
     { case = isEq "8.18"; out = "0.1.8+8.18"; }
+    { case = isEq "8.19"; out = "0.1.8+8.19"; }
   ] null;
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/coq-modules/serapi/default.nix b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
index ca50f35646b0..f48cce55d4dc 100644
--- a/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/serapi/default.nix
@@ -2,6 +2,7 @@
 
 let
   release = {
+    "8.19.0+0.19.0".sha256 = "sha256-M9d0ne2veTjf8/mFIDwtWdHi64JXjwCPWupnO2Ztd/Y=";
     "8.18.0+0.18.0".sha256 = "sha256-c+3yG9vcbek/uvQ27OOQGqqsIHU1VuQhQvNVOjfucbo=";
     "8.17.0+0.17.0".sha256 = "sha256-I81qvaXpJfXcbFw8vyzYLzlnhPg1QD0lTqAFXhoZ0rI=";
     "8.16.0+0.16.3".sha256 = "sha256-22Kawp8jAsgyBTppwN5vmN7zEaB1QfPs0qKxd6x/7Uc=";
@@ -20,6 +21,7 @@ in
 
   defaultVersion =  with versions;
     lib.switch coq.version [
+      { case = isEq "8.19"; out = "8.19.0+0.19.0"; }
       { case = isEq "8.18"; out = "8.18.0+0.18.0"; }
       { case = isEq "8.17"; out = "8.17.0+0.17.0"; }
       { case = isEq "8.16"; out = "8.16.0+0.16.3"; }
diff --git a/nixpkgs/pkgs/development/coq-modules/smtcoq/cvc4.nix b/nixpkgs/pkgs/development/coq-modules/smtcoq/cvc4.nix
deleted file mode 100644
index 220c24a2b830..000000000000
--- a/nixpkgs/pkgs/development/coq-modules/smtcoq/cvc4.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, cln, fetchurl, gmp, gnumake42, swig, pkg-config
-, libantlr3c, boost, autoreconfHook
-, python3
-}:
-
-let cln' = cln.override { gccStdenv = stdenv; }; in
-
-stdenv.mkDerivation rec {
-  pname = "cvc4";
-  version = "1.6";
-
-  src = fetchurl {
-    url = "https://cvc4.cs.stanford.edu/downloads/builds/src/cvc4-${version}.tar.gz";
-    sha256 = "1iw793zsi48q91lxpf8xl8lnvv0jsj4whdad79rakywkm1gbs62w";
-  };
-
-  # Build fails with GNUmake 4.4
-  nativeBuildInputs = [ autoreconfHook gnumake42 pkg-config ];
-  buildInputs = [ gmp swig libantlr3c boost python3 ]
-    ++ lib.optionals stdenv.isLinux [ cln' ];
-
-  configureFlags = [
-    "--enable-language-bindings=c"
-    "--enable-gpl"
-    "--with-boost=${boost.dev}"
-  ] ++ lib.optionals stdenv.isLinux [ "--with-cln" ];
-
-  prePatch = ''
-    patch -p1 -i ${./minisat-fenv.patch} -d src/prop/minisat
-    patch -p1 -i ${./minisat-fenv.patch} -d src/prop/bvminisat
-  '';
-
-  patches = [
-    ../../../applications/science/logic/cvc4/cvc4-bash-patsub-replacement.patch
-  ];
-
-  preConfigure = ''
-    patchShebangs ./src/
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "A high-performance theorem prover and SMT solver";
-    homepage    = "http://cvc4.cs.stanford.edu/web/";
-    license     = licenses.gpl3;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ vbgl thoughtpolice gebner ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/coq-modules/smtcoq/default.nix b/nixpkgs/pkgs/development/coq-modules/smtcoq/default.nix
index 49c4348b9af5..f1ec4d0fed27 100644
--- a/nixpkgs/pkgs/development/coq-modules/smtcoq/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/smtcoq/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, gcc10StdenvCompat, pkgs, mkCoqDerivation, coq, trakt, veriT, zchaff, fetchurl, version ? null }:
+{ lib, stdenv, pkgs, mkCoqDerivation, coq, trakt, veriT, zchaff, fetchurl, cvc5, version ? null }:
 
 let
   # version of veriT that works with SMTCoq
@@ -9,32 +9,35 @@ let
     };
     meta.broken = false;
   });
-  cvc4 = pkgs.callPackage ./cvc4.nix {
-    stdenv = gcc10StdenvCompat;
-  };
 in
 
 mkCoqDerivation {
   pname = "smtcoq";
   owner = "smtcoq";
 
-  release."2021-09-17".rev    = "f36bf11e994cc269c2ec92b061b082e3516f472f";
-  release."2021-09-17".sha256 = "sha256-bF7ES+tXraaAJwVEwAMx3CUESpNlAUerQjr4d2eaGJQ=";
+  release."SMTCoq-2.1+8.16".rev    = "4996c00b455bfe98400e96c954839ceea93efdf7";
+  release."SMTCoq-2.1+8.16".sha256 = "sha256-k53e+frUjwq+ZZKbbOKd/EfVC40QeAzB2nCsGkCKnHA=";
+  release."SMTCoq-2.1+8.14".rev    = "e11d9b424b0113f32265bcef0ddc962361da4dae";
+  release."SMTCoq-2.1+8.14".sha256 = "sha256-4a01/CRHUon2OfpagAnMaEVkBFipPX3MCVmSFS1Bnt4=";
+  release."SMTCoq-2.1+8.13".rev    = "d02269c43739f4559d83873563ca00daad9faaf1";
+  release."SMTCoq-2.1+8.13".sha256 = "sha256-VZetGghdr5uJWDwZWSlhYScoNEoRHIbwqwJKSQyfKKg=";
 
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.version [
-    { case = isEq "8.13"; out = "2021-09-17"; }
+    { case = isEq "8.16"; out = "SMTCoq-2.1+8.16"; }
+    { case = isEq "8.14"; out = "SMTCoq-2.1+8.14"; }
+    { case = isEq "8.13"; out = "SMTCoq-2.1+8.13"; }
   ] null;
 
-  propagatedBuildInputs = [ trakt cvc4 veriT' zchaff ] ++ (with coq.ocamlPackages; [ num zarith ]);
+  propagatedBuildInputs = [ trakt cvc5 veriT' zchaff ] ++ (with coq.ocamlPackages; [ num zarith ]);
   mlPlugin = true;
   nativeBuildInputs = (with pkgs; [ gnumake42 ]) ++ (with coq.ocamlPackages; [ ocamlbuild ]);
 
-  # This is meant to ease future troubleshooting of cvc4 build failures
-  passthru = { inherit cvc4; };
+  # This is meant to ease future troubleshooting of cvc5 build failures
+  passthru = { inherit cvc5; };
 
   meta = with lib; {
-    description = "Communication between Coq and SAT/SMT solvers ";
+    description = "Communication between Coq and SAT/SMT solvers";
     maintainers = with maintainers; [ siraben ];
     license = licenses.cecill-b;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/development/coq-modules/smtcoq/minisat-fenv.patch b/nixpkgs/pkgs/development/coq-modules/smtcoq/minisat-fenv.patch
deleted file mode 100644
index 686d5a1c5b49..000000000000
--- a/nixpkgs/pkgs/development/coq-modules/smtcoq/minisat-fenv.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 7f1016ceab9b0f57a935bd51ca6df3d18439b472 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 17 Oct 2017 22:57:02 -0500
-Subject: [PATCH] use fenv instead of non-standard fpu_control
-
----
- core/Main.cc   | 8 ++++++--
- simp/Main.cc   | 8 ++++++--
- utils/System.h | 2 +-
- 3 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/core/Main.cc b/core/Main.cc
-index 2b0d97b..8ad95fb 100644
---- a/core/Main.cc
-+++ b/core/Main.cc
-@@ -78,8 +78,12 @@ int main(int argc, char** argv)
-         // printf("This is MiniSat 2.0 beta\n");
-         
- #if defined(__linux__)
--        fpu_control_t oldcw, newcw;
--        _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
-+        fenv_t fenv;
-+
-+        fegetenv(&fenv);
-+        fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
-+        fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
-+        fesetenv(&fenv);
-         printf("WARNING: for repeatability, setting FPU to use double precision\n");
- #endif
-         // Extra options:
-diff --git a/simp/Main.cc b/simp/Main.cc
-index 2804d7f..39bfb71 100644
---- a/simp/Main.cc
-+++ b/simp/Main.cc
-@@ -79,8 +79,12 @@ int main(int argc, char** argv)
-         // printf("This is MiniSat 2.0 beta\n");
-         
- #if defined(__linux__)
--        fpu_control_t oldcw, newcw;
--        _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
-+        fenv_t fenv;
-+
-+        fegetenv(&fenv);
-+        fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */
-+        fenv.__control_word |= 0x200; /* _FPU_DOUBLE */
-+        fesetenv(&fenv);
-         printf("WARNING: for repeatability, setting FPU to use double precision\n");
- #endif
-         // Extra options:
-diff --git a/utils/System.h b/utils/System.h
-index 1758192..c0ad13a 100644
---- a/utils/System.h
-+++ b/utils/System.h
-@@ -22,7 +22,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
- #define Minisat_System_h
- 
- #if defined(__linux__)
--#include <fpu_control.h>
-+#include <fenv.h>
- #endif
- 
- #include "mtl/IntTypes.h"
--- 
-2.14.2
-
diff --git a/nixpkgs/pkgs/development/cuda-modules/nccl/default.nix b/nixpkgs/pkgs/development/cuda-modules/nccl/default.nix
index 6e385688d0f8..25296c21365d 100644
--- a/nixpkgs/pkgs/development/cuda-modules/nccl/default.nix
+++ b/nixpkgs/pkgs/development/cuda-modules/nccl/default.nix
@@ -25,13 +25,13 @@ in
 backendStdenv.mkDerivation (
   finalAttrs: {
     pname = "nccl";
-    version = "2.19.3-1";
+    version = "2.20.3-1";
 
     src = fetchFromGitHub {
       owner = "NVIDIA";
       repo = finalAttrs.pname;
       rev = "v${finalAttrs.version}";
-      hash = "sha256-59FlOKM5EB5Vkm4dZBRCkn+IgIcdQehE+FyZAdTCT/A=";
+      hash = "sha256-7gI1q6uN3saz/twwLjWl7XmMucYjvClDPDdbVpVM0vU=";
     };
 
     strictDeps = true;
diff --git a/nixpkgs/pkgs/development/hare-third-party/hare-toml/default.nix b/nixpkgs/pkgs/development/hare-third-party/hare-toml/default.nix
index 39a387605652..ab760eb5fd24 100644
--- a/nixpkgs/pkgs/development/hare-third-party/hare-toml/default.nix
+++ b/nixpkgs/pkgs/development/hare-third-party/hare-toml/default.nix
@@ -7,14 +7,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "hare-toml";
-  version = "0.1.0-unstable-2023-12-27";
+  version = "0.1.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "lunacb";
     repo = "hare-toml";
-    rev = "022d0a8d59e5518029f72724a46e6133b934774c";
-    hash = "sha256-DsVcbh1zn8GNKzzb+1o6bfgiVigrxHw/5Xm3uuUhRy0=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-r8T7Gy9c5polP+R12q0QRy4075nfGssDnNPQ8ARx/0M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
index 60d0586e094e..88d0b19fc0a4 100644
--- a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "cel-go";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cel-go";
     rev = "v${version}";
-    hash = "sha256-r3xBg+8C3VZ3sHYKMyQoBVGe+puWdRO4q3e9bur9ZoY=";
+    hash = "sha256-rjhTKZ2d1jDby4tacLfbKJj0Y7F/KkECWAL/WsqJ6sg=";
   };
 
   modRoot = "repl";
 
-  vendorHash = "sha256-7WBom6FS/GX+pM3zv59BZOwmAIokKkZcN3yGbcQb09Q=";
+  vendorHash = "sha256-h+f/ILk6mDzRBW1FI1jFyWxkV3bvrJ/BMsCuuf+E+J0=";
 
   subPackages = [
     "main"
diff --git a/nixpkgs/pkgs/development/interpreters/erlang/24.nix b/nixpkgs/pkgs/development/interpreters/erlang/24.nix
index 175640601e9a..4e7df413bb39 100644
--- a/nixpkgs/pkgs/development/interpreters/erlang/24.nix
+++ b/nixpkgs/pkgs/development/interpreters/erlang/24.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "24.3.4.15";
-  sha256 = "sha256-1a/5jxTLDWlQHEMfKZoAO3wrg1U0wYBf+xXhyO/EnXA=";
+  version = "24.3.4.16";
+  sha256 = "sha256-oLfidJPgWTz7AsJz+C4adXnxcow8C/M828os6aB4Z/c=";
 }
diff --git a/nixpkgs/pkgs/development/interpreters/expr/default.nix b/nixpkgs/pkgs/development/interpreters/expr/default.nix
index e81e56da9bf0..3d8ba33091be 100644
--- a/nixpkgs/pkgs/development/interpreters/expr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/expr/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "expr";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "expr";
     rev = "v${version}";
-    hash = "sha256-GLh4NayAbqGXI0Ekkk3lXCRwpLwGLbJIo7WjDfpKDhI=";
+    hash = "sha256-OwxBzsIkKauaYTdDpgSEdVL4JhacMnIvBTgxvkAm9YA=";
   };
 
   sourceRoot = "${src.name}/repl";
 
-  vendorHash = "sha256-42kFO7kXIdqVrp2FQGELZ90OUobOp4zbdo533vresIw=";
+  vendorHash = "sha256-RE6qQmAlWuXFIMzkop/Dk7DqATUnQpJ8Z+U8ZZeUvOA=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/interpreters/luau/default.nix b/nixpkgs/pkgs/development/interpreters/luau/default.nix
index a6ffd232fc0b..a3f368d77f48 100644
--- a/nixpkgs/pkgs/development/interpreters/luau/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/luau/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.612";
+  version = "0.613";
 
   src = fetchFromGitHub {
     owner = "luau-lang";
     repo = "luau";
     rev = version;
-    hash = "sha256-m7HIQIF6hiSg7Ho+QxMGEpKeoF7I6OWnzJZKRPP4BcM=";
+    hash = "sha256-L7D3NsTvPVf/s7FCljdrkHK3uSX12FIOpzZ66ullDIk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/interpreters/micropython/default.nix b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
index e97afb643c11..53d2130d28cc 100644
--- a/nixpkgs/pkgs/development/interpreters/micropython/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/micropython/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "micropython";
-  version = "1.21.0";
+  version = "1.22.1";
 
   src = fetchFromGitHub {
     owner = "micropython";
     repo = "micropython";
     rev = "v${version}";
-    sha256 = "sha256-nUQSj2grq4fNyqOZyYZfYvLwoEXI4PZCYdVXvxLGmPk=";
+    sha256 = "sha256-NU/C0rxiA/DTbUXZG/RTsq7tGgxtLUUilMhsc8DPA7g=";
     fetchSubmodules = true;
   };
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  skippedTests = ""
+  skippedTests = " -e select_poll_fd"
     + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
     + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
   ;
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
     mkdir -p $out/bin
     install -Dm755 ports/unix/build-standard/micropython -t $out/bin
+    install -Dm755 mpy-cross/build/mpy-cross -t $out/bin
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.2.nix b/nixpkgs/pkgs/development/interpreters/php/8.2.nix
index 2d2a705c30e5..d97170bae7a6 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.2.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.2.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.2.15";
-    hash = "sha256-UMPiILeqY6hXFiM8kC60TMCkZn7QuDNXIq4jkbE1Xno=";
+    version = "8.2.16";
+    hash = "sha256-JljBuJNatrU6fyCTVGAnYasHBm5mkgvEcriBX9G0P3E=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/nixpkgs/pkgs/development/interpreters/php/8.3.nix b/nixpkgs/pkgs/development/interpreters/php/8.3.nix
index 877bde775262..ee2bf413a426 100644
--- a/nixpkgs/pkgs/development/interpreters/php/8.3.nix
+++ b/nixpkgs/pkgs/development/interpreters/php/8.3.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.3.2";
-    hash = "sha256-WCs8g3qNlS7//idKXklwbEOojBYoMMKow1gIn+dEkoQ=";
+    version = "8.3.3";
+    hash = "sha256-qvthO6eVlKI/5yL46QrUczAGEL+A50uKpS2pysLcTio=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
index 0557c62eeff4..bc7d011944e1 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
@@ -8,7 +8,9 @@ let
   pythonCheckInterpreter = python.interpreter;
   setuppy = ../run_setup.py;
 in {
-  makePythonHook = args: pkgs.makeSetupHook ({passthru.provides.setupHook = true; } // args);
+  makePythonHook = let
+    defaultArgs = { passthru.provides.setupHook = true; };
+  in args: pkgs.makeSetupHook (lib.recursiveUpdate defaultArgs args);
 
   condaInstallHook = callPackage ({ makePythonHook, gnutar, lbzip2 }:
     makePythonHook {
@@ -68,8 +70,8 @@ in {
       # Such conflicts don't happen within the standard nixpkgs python package
       #   set, but in downstream projects that build packages depending on other
       #   versions of this hook's dependencies.
-      passthru.tests = import ./pypa-build-hook-test.nix {
-        inherit pythonOnBuildForHost runCommand;
+      passthru.tests = callPackage ./pypa-build-hook-test.nix {
+        inherit pythonOnBuildForHost;
       };
     } ./pypa-build-hook.sh) {
       inherit (pythonOnBuildForHost.pkgs) build;
diff --git a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
index 6944f70a4918..074ccbf1bd23 100644
--- a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -45,6 +45,14 @@
 # C can import package A propagated by B
 , propagatedBuildInputs ? []
 
+# Python module dependencies.
+# These are named after PEP-621.
+, dependencies ? []
+, optional-dependencies ? {}
+
+# Python PEP-517 build systems.
+, build-system ? []
+
 # DEPRECATED: use propagatedBuildInputs
 , pythonPath ? []
 
@@ -97,8 +105,6 @@
 
 , meta ? {}
 
-, passthru ? {}
-
 , doCheck ? config.doCheckByDefault or false
 
 , disabledTestPaths ? []
@@ -193,10 +199,28 @@ let
     "setuptools" "wheel"
   ];
 
+  passthru =
+    attrs.passthru or { }
+    // {
+      updateScript = let
+        filename = builtins.head (lib.splitString ":" self.meta.position);
+      in attrs.passthru.updateScript or [ update-python-libraries filename ];
+    }
+    // lib.optionalAttrs (dependencies != []) {
+      inherit dependencies;
+    }
+    // lib.optionalAttrs (optional-dependencies != {}) {
+      inherit optional-dependencies;
+    }
+    // lib.optionalAttrs (build-system != []) {
+      inherit build-system;
+    };
+
   # Keep extra attributes from `attrs`, e.g., `patchPhase', etc.
   self = toPythonModule (stdenv.mkDerivation ((builtins.removeAttrs attrs [
     "disabled" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "pyproject" "format"
     "disabledTestPaths" "outputs" "stdenv"
+    "dependencies" "optional-dependencies" "build-system"
   ]) // {
 
     name = namePrefix + name_;
@@ -256,11 +280,11 @@ let
       pythonNamespacesHook
     ] ++ lib.optionals withDistOutput [
       pythonOutputDistHook
-    ] ++ nativeBuildInputs;
+    ] ++ nativeBuildInputs ++ build-system;
 
     buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath);
 
-    propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" (propagatedBuildInputs ++ [
+    propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" (propagatedBuildInputs ++ dependencies ++ [
       # we propagate python even for packages transformed with 'toPythonApplication'
       # this pollutes the PATH but avoids rebuilds
       # see https://github.com/NixOS/nixpkgs/issues/170887 for more context
@@ -292,6 +316,8 @@ let
 
     outputs = outputs ++ lib.optional withDistOutput "dist";
 
+    inherit passthru;
+
     meta = {
       # default to python's platforms
       platforms = python.meta.platforms;
@@ -305,13 +331,7 @@ let
       disabledTestPaths = lib.escapeShellArgs disabledTestPaths;
   }));
 
-  passthru.updateScript = let
-      filename = builtins.head (lib.splitString ":" self.meta.position);
-    in attrs.passthru.updateScript or [ update-python-libraries filename ];
-in
-  if disabled then
-    throw "${name} not supported for interpreter ${python.executable}"
-else
-  self.overrideAttrs (attrs: {
-    passthru = lib.recursiveUpdate passthru attrs.passthru;
-  })
+in lib.extendDerivation
+  (disabled -> throw "${name} not supported for interpreter ${python.executable}")
+  passthru
+  self
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
index 781b3273e3a9..c14cb4648e35 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
@@ -24,7 +24,7 @@ let
     atLeast32 = lib.versionAtLeast ver.majMin "3.2";
     # https://github.com/ruby/ruby/blob/v3_2_2/yjit.h#L21
     yjitSupported = atLeast32 && (stdenv.hostPlatform.isx86_64 || (!stdenv.hostPlatform.isWindows && stdenv.hostPlatform.isAarch64));
-    self = lib.makeOverridable (
+    rubyDrv = lib.makeOverridable (
       { stdenv, buildPackages, lib
       , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
       , rubygemsSupport ? true
@@ -58,7 +58,7 @@ let
         }
       , useBaseRuby ? stdenv.hostPlatform != stdenv.buildPlatform
       }:
-      stdenv.mkDerivation rec {
+      stdenv.mkDerivation ( finalAttrs: {
         pname = "ruby";
         inherit version;
 
@@ -123,8 +123,8 @@ let
         cargoRoot = opString yjitSupport "yjit";
 
         cargoDeps = if yjitSupport then rustPlatform.fetchCargoTarball {
-          inherit src;
-          sourceRoot = "${pname}-${version}/${cargoRoot}";
+          inherit (finalAttrs) src;
+          sourceRoot = "${finalAttrs.pname}-${version}/${finalAttrs.cargoRoot}";
           hash = cargoHash;
         } else null;
 
@@ -175,8 +175,8 @@ let
 
         preInstall = ''
           # Ruby installs gems here itself now.
-          mkdir -pv "$out/${passthru.gemPath}"
-          export GEM_HOME="$out/${passthru.gemPath}"
+          mkdir -pv "$out/${finalAttrs.passthru.gemPath}"
+          export GEM_HOME="$out/${finalAttrs.passthru.gemPath}"
         '';
 
         installFlags = lib.optional docSupport "install-doc";
@@ -205,16 +205,16 @@ let
           sed -i 's/CONFIG\["CC"\] = "\(.*\)"/CONFIG["CC"] = if ENV["CC"].nil? || ENV["CC"].empty? then "\1" else ENV["CC"] end/'  "$rbConfig"
 
           # Remove unnecessary external intermediate files created by gems
-          extMakefiles=$(find $out/${passthru.gemPath} -name Makefile)
+          extMakefiles=$(find $out/${finalAttrs.passthru.gemPath} -name Makefile)
           for makefile in $extMakefiles; do
             make -C "$(dirname "$makefile")" distclean
           done
-          find "$out/${passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log \) -delete
+          find "$out/${finalAttrs.passthru.gemPath}" \( -name gem_make.out -o -name mkmf.log \) -delete
           # Bundler tries to create this directory
           mkdir -p $out/nix-support
           cat > $out/nix-support/setup-hook <<EOF
           addGemPath() {
-            addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+            addToSearchPath GEM_PATH \$1/${finalAttrs.passthru.gemPath}
           }
           addRubyLibPath() {
             addToSearchPath RUBYLIB \$1/lib/ruby/site_ruby
@@ -274,21 +274,20 @@ let
           gemPath = "lib/${rubyEngine}/gems/${ver.libDir}";
           devEnv = import ./dev.nix {
             inherit buildEnv bundler bundix;
-            ruby = self;
+            ruby = finalAttrs.finalPackage;
           };
 
           inherit rubygems;
           inherit (import ../../ruby-modules/with-packages {
             inherit lib stdenv makeBinaryWrapper buildRubyGem buildEnv;
             gemConfig = defaultGemConfig;
-            ruby = self;
+            ruby = finalAttrs.finalPackage;
           }) withPackages buildGems gems;
-
         } // lib.optionalAttrs useBaseRuby {
           inherit baseRuby;
         };
-      }
-    ) args; in self;
+      } )
+    ) args; in rubyDrv;
 
 in {
   mkRubyVersion = rubyVersion;
diff --git a/nixpkgs/pkgs/development/libraries/abseil-cpp/202206.nix b/nixpkgs/pkgs/development/libraries/abseil-cpp/202206.nix
index a605be3c05ed..5dda078a3a90 100644
--- a/nixpkgs/pkgs/development/libraries/abseil-cpp/202206.nix
+++ b/nixpkgs/pkgs/development/libraries/abseil-cpp/202206.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , static ? stdenv.hostPlatform.isStatic
 , cxxStandard ? null
@@ -9,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abseil-cpp";
-  version = "20220623.1";
+  version = "20220623.2";
 
   src = fetchFromGitHub {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = "refs/tags/${version}";
-    hash = "sha256-Od1FZOOWEXVQsnZBwGjDIExi6LdYtomyL0STR44SsG8=";
+    hash = "sha256-ma8QJfSySsk2XVLA0rhwYJMQx+6HxMFgub6gi5mDrLI=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/libraries/abseil-cpp/202301.nix b/nixpkgs/pkgs/development/libraries/abseil-cpp/202301.nix
index 4676264c26d7..b2d4f437473f 100644
--- a/nixpkgs/pkgs/development/libraries/abseil-cpp/202301.nix
+++ b/nixpkgs/pkgs/development/libraries/abseil-cpp/202301.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "abseil-cpp";
-  version = "20230125.3";
+  version = "20230125.4";
 
   src = fetchFromGitHub {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-PLoI7ix+reUqkZ947kWzls8lujYqWXk9A9a55UcfahI=";
+    hash = "sha256-7C/QIXYRyUyNVVE0tqmv8b5g/uWc58iBI5jzdtddQ+U=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/libraries/abseil-cpp/202308.nix b/nixpkgs/pkgs/development/libraries/abseil-cpp/202308.nix
index 7ec0ac8a775f..f3aac7d1388b 100644
--- a/nixpkgs/pkgs/development/libraries/abseil-cpp/202308.nix
+++ b/nixpkgs/pkgs/development/libraries/abseil-cpp/202308.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "abseil-cpp";
-  version = "20230802.1";
+  version = "20230802.2";
 
   src = fetchFromGitHub {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-uNGrTNg5G5xFGtc+BSWE389x0tQ/KxJQLHfebNWas/k=";
+    hash = "sha256-wW7dCqiiHyBHiizyV0+M6p17itwTpzHv/T0/mcXyYWE=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix b/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
index 50ca17a10a25..3747535bec9d 100644
--- a/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/agda/cubical/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "cubical";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "agda";
     rev = "v${version}";
-    hash = "sha256-2quAZ/j7kQaFkh9W5Bj1y7YQj9BT7FwHqVWyj8T4AH8=";
+    hash = "sha256-oLpKRWfQqb6CIscC2XM0ia9HJ8edJFHoPeql3kfvyrA=";
   };
 
   # The cubical library has several `Everything.agda` files, which are
@@ -26,6 +26,6 @@ mkDerivation rec {
     homepage = src.meta.homepage;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ alexarice ryanorendorff ncfavier ];
+    maintainers = with maintainers; [ alexarice ryanorendorff ncfavier phijor ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/boost/generic.nix b/nixpkgs/pkgs/development/libraries/boost/generic.nix
index ad67806398f9..3db9b77bf05d 100644
--- a/nixpkgs/pkgs/development/libraries/boost/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/boost/generic.nix
@@ -168,7 +168,7 @@ stdenv.mkDerivation {
 
   preConfigure = lib.optionalString useMpi ''
     cat << EOF >> user-config.jam
-    using mpi : ${mpi}/bin/mpiCC ;
+    using mpi : ${lib.getDev mpi}/bin/mpiCC ;
     EOF
   ''
   # On darwin we need to add the `$out/lib` to the libraries' rpath explicitly,
diff --git a/nixpkgs/pkgs/development/libraries/boringssl/default.nix b/nixpkgs/pkgs/development/libraries/boringssl/default.nix
index 5cb04d05a08d..3e8908416185 100644
--- a/nixpkgs/pkgs/development/libraries/boringssl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/boringssl/default.nix
@@ -10,17 +10,17 @@
 # reference: https://boringssl.googlesource.com/boringssl/+/2661/BUILDING.md
 buildGoModule {
   pname = "boringssl";
-  version = "unstable-2023-09-27";
+  version = "unstable-2024-02-15";
 
   src = fetchgit {
     url = "https://boringssl.googlesource.com/boringssl";
-    rev = "d24a38200fef19150eef00cad35b138936c08767";
-    hash = "sha256-FBQ7y4N2rCM/Cyd6LBnDUXpSa2O3osUXukECTBjZL6s=";
+    rev = "5a1a5fbdb865fa58f1da0fd8bf6426f801ea37ac";
+    hash = "sha256-nu+5TeWEAVLGhTE15kxmTWZxo0V2elNUy67gdaU3Y+I=";
   };
 
   nativeBuildInputs = [ cmake ninja perl ];
 
-  vendorHash = "sha256-EJPcx07WuvHPAgiS1ASU6WHlHkxjUOO72if4TkmrqwY=";
+  vendorHash = "sha256-McSmG+fMO8/T/bJR6YAJDYw9pxsWJoj1hcSTPv/wMsI=";
   proxyVendor = true;
 
   # hack to get both go and cmake configure phase
diff --git a/nixpkgs/pkgs/development/libraries/caf/default.nix b/nixpkgs/pkgs/development/libraries/caf/default.nix
index 96593487bbeb..ae7075cd80df 100644
--- a/nixpkgs/pkgs/development/libraries/caf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "actor-framework";
-  version = "0.19.5";
+  version = "0.19.6";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = version;
-    hash = "sha256-G69qZ8aoaRP9Ug+BIhXrYs6xteUG3Zhxbo2O09LEh3s=";
+    hash = "sha256-Nb/BF/+xDWV/6iPo3o/NO6EtIaAW+yGFj06AO2baFfc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/cxxopts/default.nix b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
index e4d1df23b7e5..f587cf33308d 100644
--- a/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cxxopts/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cxxopts";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "jarro2783";
     repo = "cxxopts";
     rev = "v${version}";
-    sha256 = "sha256-lJPMaXBfrCeUhhXha5f7zmOGtyEDzU3oPTMirPTFZzQ=";
+    sha256 = "sha256-tOO0YCIG3MxSJZhurNcDR1pWIUEO/Har9mrCrZs3iVk=";
   };
 
   buildInputs = lib.optionals enableUnicodeHelp [ icu.dev ];
diff --git a/nixpkgs/pkgs/development/libraries/dconf/default.nix b/nixpkgs/pkgs/development/libraries/dconf/default.nix
index 1516e9caef09..2f8ea0e685e8 100644
--- a/nixpkgs/pkgs/development/libraries/dconf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dconf/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
 , fetchurl
 , meson
+, mesonEmulatorHook
 , ninja
 , python3
 , vala
@@ -13,16 +14,15 @@
 , gtk-doc
 , docbook-xsl-nons
 , docbook_xml_dtd_42
+, withDocs ? true
 }:
-let
-  isCross = (stdenv.hostPlatform != stdenv.buildPlatform);
-in
+
 stdenv.mkDerivation rec {
   pname = "dconf";
   version = "0.40.0";
 
   outputs = [ "out" "lib" "dev" ]
-    ++ lib.optional (!isCross) "devdoc";
+    ++ lib.optional withDocs "devdoc";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@@ -38,19 +38,23 @@ stdenv.mkDerivation rec {
     glib
     docbook-xsl-nons
     docbook_xml_dtd_42
-  ] ++ lib.optional (!isCross) gtk-doc;
+    gtk-doc
+  ] ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook  # gtkdoc invokes the host binary to produce documentation
+  ];
+
 
   buildInputs = [
     glib
     bash-completion
     dbus
-  ] ++ lib.optional (!isCross) vala;
-  # Vala cross compilation is broken. For now, build dconf without vapi when cross-compiling.
+    vala
+  ];
 
   mesonFlags = [
     "--sysconfdir=/etc"
-    "-Dgtk_doc=${lib.boolToString (!isCross)}" # gtk-doc does do some gobject introspection, which doesn't yet cross-compile.
-  ] ++ lib.optional isCross "-Dvapi=false";
+    "-Dgtk_doc=${lib.boolToString withDocs}"
+  ];
 
   nativeCheckInputs = [
     dbus # for dbus-daemon
diff --git a/nixpkgs/pkgs/development/libraries/dqlite/default.nix b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
index ff379c1a78b3..2ed5417c8026 100644
--- a/nixpkgs/pkgs/development/libraries/dqlite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dqlite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dqlite";
-  version = "1.16.0";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8MPAyCqqjDpDHSyiZ1cvvgflaOLNzPGswZSsSjSffvw=";
+    hash = "sha256-rzKZvVybKLQKT9ZiGT/9LgU7hxI6knVXkPawNhbW/DQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/default.nix b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
index fb2db6a963e7..f080bd804b48 100644
--- a/nixpkgs/pkgs/development/libraries/exiv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.28.1";
+  version = "0.28.2";
 
   outputs = [ "out" "lib" "dev" "doc" "man" ];
 
@@ -28,16 +28,9 @@ stdenv.mkDerivation rec {
     owner = "exiv2";
     repo = "exiv2";
     rev = "v${version}";
-    hash = "sha256-Jim8vYWyCa16LAJ1GuP8cCzhXIc2ouo6hVsHg3UQbdg=";
+    hash = "sha256-0TgvIiuHMeohStIwmHOq4yvTj2H07wyx4w3iIdkrLTc=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/c351c7cce317571934abf693055779a59df30d6e.patch";
-      hash = "sha256-fWJT4IUBrAELl6ku0M1iTzGFX74le8Z0UzTJLU/gYls=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     doxygen
@@ -94,7 +87,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 $static/lib/*.a
+    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2
   '';
 
   disallowedReferences = [ stdenv.cc.cc ];
diff --git a/nixpkgs/pkgs/development/libraries/fancypp/default.nix b/nixpkgs/pkgs/development/libraries/fancypp/default.nix
deleted file mode 100644
index f93ab77c63de..000000000000
--- a/nixpkgs/pkgs/development/libraries/fancypp/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "fancypp";
-  version = "unstable-2021-04-08";
-
-  src = fetchFromGitHub {
-    owner = "Curve";
-    repo = "fancypp";
-    rev = "ede7f712a08f7c66ff4a5590ad94a477c48850a5";
-    sha256 = "sha256-E2JsQnvrqrZFYo+xBJr7xDCoPnRQftqUjjBpZzFvIic=";
-  };
-
-  # Header-only library.
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir "$out"
-    cp -r include "$out"
-  '';
-
-  meta = with lib; {
-    description = "Tiny C++ Library for terminal colors and more!";
-    homepage = "https://github.com/Curve/fancypp";
-    maintainers = with maintainers; [ aidalgol ];
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gdal/default.nix b/nixpkgs/pkgs/development/libraries/gdal/default.nix
index fd1aaf9c2e92..64801dd5b714 100644
--- a/nixpkgs/pkgs/development/libraries/gdal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gdal/default.nix
@@ -79,13 +79,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gdal";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-GYBGGZ2bobVYElO0WJrsQzLMdNR5AfQwgdjBtPeGH1g=";
+    hash = "sha256-R9VLof13OXPbWGHOG1Q4WZWSPoF739C6WuNWxoIwKTw=";
   };
 
   nativeBuildInputs = [
@@ -198,8 +198,9 @@ stdenv.mkDerivation (finalAttrs: {
     ++ darwinDeps
     ++ nonDarwinDeps;
 
+  pythonPath = [ python3.pkgs.numpy ];
   postInstall = ''
-    wrapPythonPrograms
+    wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
   '' + lib.optionalString useJava ''
     cd $out/lib
     ln -s ./jni/libgdalalljni${stdenv.hostPlatform.extensions.sharedLibrary}
diff --git a/nixpkgs/pkgs/development/libraries/geos/3.9.nix b/nixpkgs/pkgs/development/libraries/geos/3.9.nix
index 415746d3e544..cc3025928c80 100644
--- a/nixpkgs/pkgs/development/libraries/geos/3.9.nix
+++ b/nixpkgs/pkgs/development/libraries/geos/3.9.nix
@@ -1,22 +1,22 @@
 { lib
 , stdenv
 , fetchurl
+, cmake
 , testers
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "geos";
-  version = "3.9.2";
+  version = "3.9.5";
 
   src = fetchurl {
     url = "https://download.osgeo.org/geos/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
-    sha256 = "sha256-RKWpviHX1HNDa/Yhwt3MPPWou+PHhuEyKWGKO52GEpc=";
+    hash = "sha256-xsmu36iGT7RLp4kRQIRCOCv9BpDPLUCRrjgFyGN4kDY=";
   };
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ];
 
-  # https://trac.osgeo.org/geos/ticket/993
-  configureFlags = lib.optional stdenv.isAarch32 "--disable-inline";
+  enableParallelBuilding = true;
 
   passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
 
diff --git a/nixpkgs/pkgs/development/libraries/ghc_filesystem/default.nix b/nixpkgs/pkgs/development/libraries/ghc_filesystem/default.nix
index 3232d7d8f615..8dd65a90e534 100644
--- a/nixpkgs/pkgs/development/libraries/ghc_filesystem/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ghc_filesystem/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     description = "header-only single-file C++ std::filesystem compatible helper library";
     homepage = "https://github.com/gulrak/filesystem";
     license = licenses.mit;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/igraph/default.nix b/nixpkgs/pkgs/development/libraries/igraph/default.nix
index b0017e03ebc7..55915b4bb523 100644
--- a/nixpkgs/pkgs/development/libraries/igraph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/igraph/default.nix
@@ -26,13 +26,13 @@ assert (blas.isILP64 == lapack.isILP64 &&
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "igraph";
-  version = "0.10.9";
+  version = "0.10.10";
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = finalAttrs.pname;
     rev = finalAttrs.version;
-    hash = "sha256-Iaez6Rrd684vsraCkEH5a16rXfc53MyPXcYf3sOcaOY=";
+    hash = "sha256-xFX48qAr0x0iNRns/aGH9UKL0wGJyfccQLdEXUFI/TU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/imgui/default.nix b/nixpkgs/pkgs/development/libraries/imgui/default.nix
index 79186d9149f7..244a3570c031 100644
--- a/nixpkgs/pkgs/development/libraries/imgui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.90.1";
+  version = "1.90.2";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-gf47uLeNiXQic43buB5ZnMqiotlUfIyAsP+3H7yJuFg=";
+    sha256 = "sha256-0sqV1TgidSuZQLihRTUCd46jKIgwcOJlKjRyOvopqlo=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix b/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix
index 81c21bb68d69..ae071a727133 100644
--- a/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix
+++ b/nixpkgs/pkgs/development/libraries/lemon-graph/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
   # error: no viable conversion from ...
   doCheck = !stdenv.isDarwin;
 
+  patches = [
+    # error: ISO C++17 does not allow 'register' storage class specifier
+    ./remove-register.patch
+  ];
+
   meta = with lib; {
     homepage = "https://lemon.cs.elte.hu/trac/lemon";
     description = "Efficient library for combinatorial optimization tasks on graphs and networks";
diff --git a/nixpkgs/pkgs/development/libraries/lemon-graph/remove-register.patch b/nixpkgs/pkgs/development/libraries/lemon-graph/remove-register.patch
new file mode 100644
index 000000000000..002e832035bf
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/lemon-graph/remove-register.patch
@@ -0,0 +1,15 @@
+diff --git a/lemon/random.h b/lemon/random.h
+index 8de74ede8a..f9861f3916 100644
+--- a/lemon/random.h
++++ b/lemon/random.h
+@@ -249,8 +249,8 @@ namespace lemon {
+ 
+         current = state + length;
+ 
+-        register Word *curr = state + length - 1;
+-        register long num;
++        Word *curr = state + length - 1;
++        long num;
+ 
+         num = length - shift;
+         while (num--) {
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index d0a9092f6898..d6d098110af8 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -70,16 +70,16 @@ let
       projectArch = "x86_64";
     };
   };
-  platforms."aarch64-linux".sha256 = "12sp58nxa3nv800badv62vpvc30hyb0ykywdaxgv9y8pswp9lq0z";
-  platforms."x86_64-linux".sha256 = "0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j";
+  platforms."aarch64-linux".sha256 = "16sbfk599h96wcsmpbxlwsvq0n1pssmm8dpwmjsqfrn1464dvs68";
+  platforms."x86_64-linux".sha256 = "1wa4nv28saz96kar9svdarfz6c4rnbcqz0rqxzl9zclnhfzhqdiw";
 
   platformInfo = builtins.getAttr stdenv.hostPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "117.2.4";
-  gitRevision = "5053a95";
-  chromiumVersion = "117.0.5938.150";
+  version = "121.3.13";
+  gitRevision = "5c4a81b";
+  chromiumVersion = "121.0.6167.184";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
diff --git a/nixpkgs/pkgs/development/libraries/libcifpp/default.nix b/nixpkgs/pkgs/development/libraries/libcifpp/default.nix
index c98068f2809a..2ec4a6da2ce6 100644
--- a/nixpkgs/pkgs/development/libraries/libcifpp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcifpp/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libcifpp";
-  version = "6.1.0";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "PDB-REDO";
     repo = "libcifpp";
     rev = "refs/tags/v${finalAttrs.version}";
-    hash = "sha256-MddldYpvZHgAb/ndtWKdAf0TzKIYJalaywmSRZCtBmc=";
+    hash = "sha256-nOKekN3re2Gg7h2RAJ6yRZMfEEk65N2zvb9NafRCVbE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libdex/default.nix b/nixpkgs/pkgs/development/libraries/libdex/default.nix
index eea5417ee57e..283708693421 100644
--- a/nixpkgs/pkgs/development/libraries/libdex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdex/default.nix
@@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = gnome.updateScript {
     packageName = "libdex";
+    versionPolicy = "odd-unstable";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libfive/default.nix b/nixpkgs/pkgs/development/libraries/libfive/default.nix
index 95fcf7131103..1d8f57a817c3 100644
--- a/nixpkgs/pkgs/development/libraries/libfive/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libfive/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "libfive";
     repo = "libfive";
-    rev = "c85ffe1ba1570c2551434c5bad731884aaf80598";
-    hash = "sha256-OITy3fJx+Z6856V3D/KpSQRJztvOdJdqUv1c65wNgCc=";
+    rev = "7af5f43684a8a497ac8610d39f7fca935364a9b9";
+    hash = "sha256-GQzsHKeKsCWKOVfBrTuUFq2XasPxhsN+19stWY0WtVc=";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook cmake ninja pkg-config python.pkgs.pythonImportsCheckHook ];
diff --git a/nixpkgs/pkgs/development/libraries/libgudev/default.nix b/nixpkgs/pkgs/development/libraries/libgudev/default.nix
index fd21c9e7f85e..68e3e42476e7 100644
--- a/nixpkgs/pkgs/development/libraries/libgudev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgudev/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
     ./tests-skip-double-test-on-stub-locale-impls.patch
   ];
 
-  postPatch = ''
+  postPatch = lib.optionalString finalAttrs.finalPackage.doCheck ''
     # The relative location of LD_PRELOAD works for Glibc but not for other loaders (e.g. pkgsMusl)
     substituteInPlace tests/meson.build \
       --replace "LD_PRELOAD=libumockdev-preload.so.0" "LD_PRELOAD=${lib.getLib umockdev}/lib/libumockdev-preload.so.0"
diff --git a/nixpkgs/pkgs/development/libraries/libmanette/default.nix b/nixpkgs/pkgs/development/libraries/libmanette/default.nix
index a9e18f402320..e5bbf9a39cb9 100644
--- a/nixpkgs/pkgs/development/libraries/libmanette/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libmanette/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmanette";
-  version = "0.2.6";
+  version = "0.2.7";
 
   outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1b3bcdkk5xd5asq797cch9id8692grsjxrc1ss87vv11m1ck4rb3";
+    hash = "sha256-zd1cAqExBywZxs3m8sss1X6ufay1DRTDN+/ZgLqlGlE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/libosmscout/default.nix b/nixpkgs/pkgs/development/libraries/libosmscout/default.nix
index 8452ccffe389..c33b8881a03a 100644
--- a/nixpkgs/pkgs/development/libraries/libosmscout/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmscout/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config
+{ lib, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkg-config
 , marisa, qttools, qtlocation }:
 
 mkDerivation rec {
@@ -12,6 +12,16 @@ mkDerivation rec {
     sha256 = "sha256-Qe5TkF4BwlsEI7emC0gdc7SmS4QrSGLiO0QdjuJA09g=";
   };
 
+  patches = [
+    # Fix build with libxml v2.12
+    # FIXME: Remove at next package update
+    (fetchpatch {
+      name = "libxml-2.12-fix.patch";
+      url = "https://github.com/Framstag/libosmscout/commit/db7b307de1a1146a6868015a0adfc2e21b7d5e39.patch";
+      hash = "sha256-5NDamzb2K18sMVfREnUNksgD2NL7ELzLl83SlGIveO0=";
+    })
+  ];
+
   cmakeFlags = [ "-DOSMSCOUT_BUILD_TESTS=OFF" ];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/librime/default.nix b/nixpkgs/pkgs/development/libraries/librime/default.nix
index 8bbcb7af80a3..95d88384b79e 100644
--- a/nixpkgs/pkgs/development/libraries/librime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librime/default.nix
@@ -11,13 +11,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "librime";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4gEdltdm9A3FxwyZqgSyUWgQ934glinfKwHF8S05f5I=";
+    sha256 = "sha256-tflWBfH1+1AFvkq0A6mgsKl+jq6m5c83GA56LWxdnlw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/libtheora/default.nix b/nixpkgs/pkgs/development/libraries/libtheora/default.nix
index c61a4dc96162..45b7e4caaf1d 100644
--- a/nixpkgs/pkgs/development/libraries/libtheora/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libtheora/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, libogg, libvorbis, pkg-config, autoreconfHook, fetchpatch }:
+{ lib, stdenv, fetchurl, libogg, libvorbis, pkg-config, autoreconfHook, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libtheora";
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
       url = "https://github.com/xiph/theora/commit/28cc6dbd9b2a141df94f60993256a5fca368fa54.diff";
       sha256 = "16jqrq4h1b3krj609vbpzd5845cvkbh3mwmjrcdg35m490p19x9k";
     })
+  ] ++ lib.optionals stdenv.hostPlatform.isMinGW [
+    ./mingw-remove-export.patch
   ];
 
   configureFlags = [ "--disable-examples" ];
@@ -30,6 +32,6 @@ stdenv.mkDerivation rec {
     description = "Library for Theora, a free and open video compression format";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libtheora/mingw-remove-export.patch b/nixpkgs/pkgs/development/libraries/libtheora/mingw-remove-export.patch
new file mode 100644
index 000000000000..bf0ffc07fc43
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libtheora/mingw-remove-export.patch
@@ -0,0 +1,18 @@
+diff --git a/win32/xmingw32/libtheoradec-all.def b/win32/xmingw32/libtheoradec-all.def
+index 566eeb3..4a2e766 100644
+--- a/win32/xmingw32/libtheoradec-all.def
++++ b/win32/xmingw32/libtheoradec-all.def
+@@ -1,4 +1,3 @@
+-EXPORTS

+ ; Old alpha API

+ 	theora_version_string @ 1

+ 	theora_version_number @ 2

+diff --git a/win32/xmingw32/libtheoraenc-all.def b/win32/xmingw32/libtheoraenc-all.def
+index 36d2dad..d1da2f4 100644
+--- a/win32/xmingw32/libtheoraenc-all.def
++++ b/win32/xmingw32/libtheoraenc-all.def
+@@ -1,4 +1,3 @@
+-EXPORTS

+ ; Old alpha API

+ 	theora_encode_init @ 1

+ 	theora_encode_YUVin @ 2

diff --git a/nixpkgs/pkgs/development/libraries/meshoptimizer/default.nix b/nixpkgs/pkgs/development/libraries/meshoptimizer/default.nix
index cfa273aa1518..2c4617d15fc6 100644
--- a/nixpkgs/pkgs/development/libraries/meshoptimizer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/meshoptimizer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub, cmake, nix-update-script }:
 
 let
   basis_universal = fetchFromGitHub {
@@ -7,14 +7,14 @@ let
     rev = "8903f6d69849fd782b72a551a4dd04a264434e20";
     hash = "sha256-o3dCxAAkpMoNkvkM7qD75cPn/obDc/fJ8u7KLPm1G6g=";
   };
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "meshoptimizer";
-  version = "unstable-2023-03-22";
+  version = "0.20";
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "meshoptimizer";
-    hash = "sha256-OWeptdnKFvTyfkz0sFCpiTI7323GfVE8vb8bNUBnslA=";
-    rev = "49d9222385daf61a9ce75bb4699472408eb3df3e";
+    rev = "v${version}";
+    hash = "sha256-QCxpM2g8WtYSZHkBzLTJNQ/oHb5j/n9rjaVmZJcCZIA=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -27,6 +27,8 @@ in stdenv.mkDerivation {
   ] ++ lib.optional (!stdenv.hostPlatform.isStatic)
     "-DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON";
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Mesh optimization library that makes meshes smaller and faster to render";
     homepage = "https://github.com/zeux/meshoptimizer";
diff --git a/nixpkgs/pkgs/development/libraries/microsoft-gsl/default.nix b/nixpkgs/pkgs/development/libraries/microsoft-gsl/default.nix
index 298aec48db75..59df670e9ec5 100644
--- a/nixpkgs/pkgs/development/libraries/microsoft-gsl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/microsoft-gsl/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , gtest
 , pkg-config
@@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
   # error: unsafe buffer access
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unsafe-buffer-usage";
 
+  patches = [
+    # nvcc doesn't recognize the "gsl" attribute namespace (microsoft/onnxruntime#13573)
+    # only affects nvcc
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/microsoft/onnxruntime/4bfa69def85476b33ccfaf68cf070f3fb65d39f7/cmake/patches/gsl/1064.patch";
+      hash = "sha256-0jESA+VENWQms9HGE0jRiZZuWLJehBlbArxSaQbYOrM=";
+    })
+  ];
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/mongoc/default.nix b/nixpkgs/pkgs/development/libraries/mongoc/default.nix
index b1c88a5b7524..85b41061228e 100644
--- a/nixpkgs/pkgs/development/libraries/mongoc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mongoc/default.nix
@@ -14,20 +14,15 @@
 
 stdenv.mkDerivation rec {
   pname = "mongoc";
-  version = "1.24.4";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "mongodb";
     repo = "mongo-c-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-cOPZ4o9q/cOBtGXFv6mOenTSyU/L2U6DZB4UmMnhtes=";
+    hash = "sha256-uXHCd7KDnx3n6KO0opoITpf8LtUS67bc94tPHioeb4o=";
   };
 
-  postPatch = ''
-    substituteInPlace src/libbson/CMakeLists.txt src/libmongoc/CMakeLists.txt \
-      --replace "\\\''${prefix}/" ""
-  '';
-
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -48,6 +43,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_VERSION=${version}"
     "-DENABLE_UNINSTALL=OFF"
     "-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
   ];
 
   # remove forbidden reference to $TMPDIR
diff --git a/nixpkgs/pkgs/development/libraries/mongocxx/default.nix b/nixpkgs/pkgs/development/libraries/mongocxx/default.nix
index b5963e123844..ad96e81159a7 100644
--- a/nixpkgs/pkgs/development/libraries/mongocxx/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mongocxx/default.nix
@@ -2,6 +2,8 @@
 , stdenv
 , fetchFromGitHub
 , mongoc
+, openssl
+, cyrus_sasl
 , cmake
 , validatePkgConfig
 , testers
@@ -31,6 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     mongoc
+    openssl
+    cyrus_sasl
   ];
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/libraries/mpich/default.nix b/nixpkgs/pkgs/development/libraries/mpich/default.nix
index d3bc279506f9..db9c727f8e0b 100644
--- a/nixpkgs/pkgs/development/libraries/mpich/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mpich/default.nix
@@ -20,11 +20,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric");
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "4.1.2";
+  version = "4.2.0";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "sha256-NJLpitq2K1l+8NKS+yRZthI7yABwqKoKML5pYgdaEvA=";
+    sha256 = "sha256-pkpmeBueUxKtBS0yaJ4jJS90WyfuiBisKsDIIJvAuQ4=";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/nixpkgs/pkgs/development/libraries/nco/default.nix b/nixpkgs/pkgs/development/libraries/nco/default.nix
index 0ee442aedbcb..87f0b8b3a031 100644
--- a/nixpkgs/pkgs/development/libraries/nco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nco/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nco";
-  version = "5.1.9";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = finalAttrs.version;
-    hash = "sha256-D7WmJ53oK4craLx6PKAFA6Ue7wl5fRYPeEFeh78Kpdg=";
+    hash = "sha256-eYGGIf7OXaLFu4XleCMw1Y4rCjGkWhOnvqixGExk1kk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/netcdf/default.nix b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
index 8fde7050b97a..0796e7997d50 100644
--- a/nixpkgs/pkgs/development/libraries/netcdf/default.nix
+++ b/nixpkgs/pkgs/development/libraries/netcdf/default.nix
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
       "--disable-dap-remote-tests"
       "--with-plugin-dir=${placeholder "out"}/lib/hdf5-plugins"
   ]
-  ++ (lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
+  ++ (lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${lib.getDev mpi}/bin/mpicc" ]);
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/ngtcp2/gnutls.nix b/nixpkgs/pkgs/development/libraries/ngtcp2/gnutls.nix
index f8b31b703fcf..04b220bacee1 100644
--- a/nixpkgs/pkgs/development/libraries/ngtcp2/gnutls.nix
+++ b/nixpkgs/pkgs/development/libraries/ngtcp2/gnutls.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ngtcp2";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = "ngtcp2";
     rev = "v${version}";
-    hash = "sha256-/lHsHkSySKyZZdjTTYCo0a6cwcMcbOWNvAEcO36/kEw=";
+    hash = "sha256-KKfr5AjaC56yUNdk928H1PyP79GnQJ2pIZcZQTgLhEQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/development/libraries/nss/latest.nix b/nixpkgs/pkgs/development/libraries/nss/latest.nix
index 43cb876fa884..dfc8a21e206c 100644
--- a/nixpkgs/pkgs/development/libraries/nss/latest.nix
+++ b/nixpkgs/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
 #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
 
 import ./generic.nix {
-  version = "3.97";
-  hash = "sha256-d26v8a+5EkQ6cFg5SZirT4L22AxfIteiUx4I42msyqw=";
+  version = "3.98";
+  hash = "sha256-0p1HzspxyzhzX46O7ax8tmYiaFEBeqEqEvman4NIiQc=";
 }
diff --git a/nixpkgs/pkgs/development/libraries/nuraft/default.nix b/nixpkgs/pkgs/development/libraries/nuraft/default.nix
index 6d75ba99fc6a..e26d9f467e7f 100644
--- a/nixpkgs/pkgs/development/libraries/nuraft/default.nix
+++ b/nixpkgs/pkgs/development/libraries/nuraft/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost, asio, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, asio, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "nuraft";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-puO8E7tSLqB0oq/NlzEZqQgIZKm7ZUb4HhR0XuI9dco=";
   };
 
+  patches = [
+    # Fix gcc-13 build failure:
+    #   https://github.com/eBay/NuRaft/pull/435
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/eBay/NuRaft/commit/fddf33a4d8cd7fcd0306cc838a30893a4df3d58f.patch";
+      hash = "sha256-JOtR3llE4QwQM7PBx+ILR87zsPB0GZ/aIKbSdHIrePA=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost asio openssl zlib ];
 
diff --git a/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
index 6faa3088fa3c..af4d061d015b 100644
--- a/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
+++ b/nixpkgs/pkgs/development/libraries/onnxruntime/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
+{ config
+, stdenv
 , lib
 , fetchFromGitHub
-, fetchFromGitLab
 , Foundation
 , abseil-cpp
 , cmake
@@ -18,10 +18,22 @@
 , iconv
 , protobuf_21
 , pythonSupport ? true
-}:
+, cudaSupport ? config.cudaSupport
+, cudaPackages ? {}
+}@inputs:
 
 
 let
+  version = "1.16.3";
+
+  stdenv = throw "Use effectiveStdenv instead";
+  effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;
+
+  cudaCapabilities = cudaPackages.cudaFlags.cudaCapabilities;
+  # E.g. [ "80" "86" "90" ]
+  cudaArchitectures = (builtins.map cudaPackages.cudaFlags.dropDot cudaCapabilities);
+  cudaArchitecturesString = lib.strings.concatStringsSep ";" cudaArchitectures;
+
   howard-hinnant-date = fetchFromGitHub {
     owner = "HowardHinnant";
     repo = "date";
@@ -74,10 +86,17 @@ let
     rev = "refs/tags/v1.14.1";
     hash = "sha256-ZVSdk6LeAiZpQrrzLxphMbc1b3rNUMpcxcXPP8s/5tE=";
   };
+
+   cutlass = fetchFromGitHub {
+    owner = "NVIDIA";
+    repo = "cutlass";
+    rev = "v3.0.0";
+    sha256 = "sha256-YPD5Sy6SvByjIcGtgeGH80TEKg2BtqJWSg46RvnJChY=";
+   };
 in
-stdenv.mkDerivation rec {
+effectiveStdenv.mkDerivation rec {
   pname = "onnxruntime";
-  version = "1.16.3";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "microsoft";
@@ -96,6 +115,10 @@ stdenv.mkDerivation rec {
     # - use MakeAvailable instead of the low-level Populate,
     # - use Eigen3::Eigen as the target name (as declared by libeigen/eigen).
     ./0001-eigen-allow-dependency-injection.patch
+  ] ++ lib.optionals cudaSupport [
+    # We apply the referenced 1064.patch ourselves to our nix dependency.
+    #  FIND_PACKAGE_ARGS for CUDA was added in https://github.com/microsoft/onnxruntime/commit/87744e5 so it might be possible to delete this patch after upgrading to 1.17.0
+    ./nvcc-gsl.patch
   ];
 
   nativeBuildInputs = [
@@ -109,7 +132,9 @@ stdenv.mkDerivation rec {
     pythonOutputDistHook
     setuptools
     wheel
-  ]);
+  ]) ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_nvcc
+  ];
 
   buildInputs = [
     eigen
@@ -118,16 +143,24 @@ stdenv.mkDerivation rec {
     nlohmann_json
     microsoft-gsl
   ] ++ lib.optionals pythonSupport (with python3Packages; [
+    gtest'
     numpy
     pybind11
     packaging
-  ]) ++ lib.optionals stdenv.isDarwin [
+  ]) ++ lib.optionals effectiveStdenv.isDarwin [
     Foundation
     iconv
-  ];
+  ] ++ lib.optionals cudaSupport (with cudaPackages; [
+    cuda_cccl # cub/cub.cuh
+    libcublas # cublas_v2.h
+    libcurand # curand.h
+    libcusparse # cusparse.h
+    libcufft # cufft.h
+    cudnn # cudnn.h
+    cuda_cudart
+  ]);
 
   nativeCheckInputs = lib.optionals pythonSupport (with python3Packages; [
-    gtest'
     pytest
     sympy
     onnx
@@ -159,23 +192,31 @@ stdenv.mkDerivation rec {
     "-Donnxruntime_BUILD_UNIT_TESTS=ON"
     "-Donnxruntime_ENABLE_LTO=ON"
     "-Donnxruntime_USE_FULL_PROTOBUF=OFF"
+    (lib.cmakeBool "onnxruntime_USE_CUDA" cudaSupport)
+    (lib.cmakeBool "onnxruntime_USE_NCCL" cudaSupport)
   ] ++ lib.optionals pythonSupport [
     "-Donnxruntime_ENABLE_PYTHON=ON"
+  ] ++ lib.optionals cudaSupport [
+    (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" cutlass)
+    (lib.cmakeFeature "onnxruntime_CUDNN_HOME" cudaPackages.cudnn)
+    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString)
   ];
 
-  env = lib.optionalAttrs stdenv.cc.isClang {
+  env = lib.optionalAttrs effectiveStdenv.cc.isClang {
     NIX_CFLAGS_COMPILE = toString [
       "-Wno-error=deprecated-declarations"
       "-Wno-error=unused-but-set-variable"
     ];
   };
 
-  doCheck = true;
+  doCheck = !cudaSupport;
+
+  requiredSystemFeatures = lib.optionals cudaSupport [ "big-parallel" ];
 
   postPatch = ''
     substituteInPlace cmake/libonnxruntime.pc.cmake.in \
       --replace-fail '$'{prefix}/@CMAKE_INSTALL_ @CMAKE_INSTALL_
-  '' + lib.optionalString (stdenv.hostPlatform.system == "aarch64-linux") ''
+  '' + lib.optionalString (effectiveStdenv.hostPlatform.system == "aarch64-linux") ''
     # https://github.com/NixOS/nixpkgs/pull/226734#issuecomment-1663028691
     rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
   '';
diff --git a/nixpkgs/pkgs/development/libraries/onnxruntime/nvcc-gsl.patch b/nixpkgs/pkgs/development/libraries/onnxruntime/nvcc-gsl.patch
new file mode 100644
index 000000000000..948de62e7e75
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/onnxruntime/nvcc-gsl.patch
@@ -0,0 +1,32 @@
+diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake
+index 9effd1a2db..faff5e8de7 100644
+--- a/cmake/external/onnxruntime_external_deps.cmake
++++ b/cmake/external/onnxruntime_external_deps.cmake
+@@ -280,21 +280,12 @@ if (NOT WIN32)
+   endif()
+ endif()
+ 
+-if(onnxruntime_USE_CUDA)
+-  FetchContent_Declare(
+-    GSL
+-    URL ${DEP_URL_microsoft_gsl}
+-    URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
+-    PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1064.patch
+-  )
+-else()
+-  FetchContent_Declare(
+-    GSL
+-    URL ${DEP_URL_microsoft_gsl}
+-    URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
+-    FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL
+-  )
+-endif()
++FetchContent_Declare(
++  GSL
++  URL ${DEP_URL_microsoft_gsl}
++  URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
++  FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL
++)
+ 
+ FetchContent_Declare(
+     safeint
diff --git a/nixpkgs/pkgs/development/libraries/openmpi/default.nix b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
index a8bd8acacd59..8c54c13c9139 100644
--- a/nixpkgs/pkgs/development/libraries/openmpi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openmpi/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, gfortran, perl, libnl
+{ lib, stdenv, fetchurl, removeReferencesTo, gfortran, perl, libnl
 , rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin
-, libpsm2, libfabric, pmix, ucx, ucc
+, libpsm2, libfabric, pmix, ucx, ucc, makeWrapper
 , config
 # Enable CUDA support
 , cudaSupport ? config.cudaSupport, cudaPackages
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     find -name "Makefile.in" -exec sed -i "s/\`date\`/$ts/" \{} \;
   '';
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" "man" "dev" ];
 
   buildInputs = [ zlib ]
     ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ucc ]
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core
     ++ lib.optionals fabricSupport [ libpsm2 libfabric ];
 
-  nativeBuildInputs = [ perl ]
+  nativeBuildInputs = [ perl removeReferencesTo makeWrapper ]
     ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]
     ++ lib.optionals fortranSupport [ gfortran ];
 
@@ -71,24 +71,51 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     find $out/lib/ -name "*.la" -exec rm -f \{} \;
+
+    for f in mpi shmem osh; do
+      for i in f77 f90 CC c++ cxx cc fort; do
+        moveToOutput "bin/$f$i" "''${!outputDev}"
+        echo "move $fi$i"
+        moveToOutput "share/openmpi/$f$i-wrapper-data.txt" "''${!outputDev}"
+      done
+    done
+
+    for i in ortecc orte-info ompi_info oshmem_info opal_wrapper; do
+      moveToOutput "bin/$i" "''${!outputDev}"
+    done
+
+    moveToOutput "share/openmpi/ortecc-wrapper-data.txt" "''${!outputDev}"
    '';
 
   postFixup = ''
+    remove-references-to -t $dev $(readlink -f $out/lib/libopen-pal${stdenv.hostPlatform.extensions.sharedLibrary})
+    remove-references-to -t $man $(readlink -f $out/lib/libopen-pal${stdenv.hostPlatform.extensions.sharedLibrary})
+
+    # The path to the wrapper is hard coded in libopen-pal.so, which we just cleared.
+    wrapProgram $dev/bin/opal_wrapper \
+      --set OPAL_INCLUDEDIR $dev/include \
+      --set OPAL_PKGDATADIR $dev/share/openmpi
+
     # default compilers should be indentical to the
     # compilers at build time
 
+    echo "$dev/share/openmpi/mpicc-wrapper-data.txt"
     sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
-      $out/share/openmpi/mpicc-wrapper-data.txt
+      $dev/share/openmpi/mpicc-wrapper-data.txt
 
+    echo "$dev/share/openmpi/ortecc-wrapper-data.txt"
     sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
-       $out/share/openmpi/ortecc-wrapper-data.txt
+       $dev/share/openmpi/ortecc-wrapper-data.txt
 
+    echo "$dev/share/openmpi/mpic++-wrapper-data.txt"
     sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \
-       $out/share/openmpi/mpic++-wrapper-data.txt
+       $dev/share/openmpi/mpic++-wrapper-data.txt
   '' + lib.optionalString fortranSupport ''
 
+    echo "$dev/share/openmpi/mpifort-wrapper-data.txt"
     sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:'  \
-       $out/share/openmpi/mpifort-wrapper-data.txt
+       $dev/share/openmpi/mpifort-wrapper-data.txt
+
   '';
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/opensubdiv/default.nix b/nixpkgs/pkgs/development/libraries/opensubdiv/default.nix
index 9c485949a5c0..17b7c286229b 100644
--- a/nixpkgs/pkgs/development/libraries/opensubdiv/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opensubdiv/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-uDKCT0Uoa5WQekMUFm2iZmzm+oWAZ6IWMwfpchkUZY0=";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "static" ];
 
   nativeBuildInputs = [
     cmake
@@ -31,9 +31,17 @@ stdenv.mkDerivation rec {
       glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor
       xorg.libXinerama xorg.libXi
     ]
-    ++ lib.optional (openclSupport && !stdenv.isDarwin) ocl-icd
-    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
-    ++ lib.optional cudaSupport [
+    ++ lib.optionals (openclSupport && !stdenv.isDarwin) [ ocl-icd ]
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      OpenCL
+      Cocoa
+      CoreVideo
+      IOKit
+      AppKit
+      AGL
+      MetalKit
+    ])
+    ++ lib.optionals cudaSupport [
       cudaPackages.cuda_cudart
     ];
 
@@ -50,7 +58,7 @@ stdenv.mkDerivation rec {
     [ "-DNO_TUTORIALS=1"
       "-DNO_REGRESSION=1"
       "-DNO_EXAMPLES=1"
-      "-DNO_METAL=1" # don’t have metal in apple sdk
+      (lib.cmakeBool "NO_METAL" (!stdenv.isDarwin))
       (lib.cmakeBool "NO_OPENCL" (!openclSupport))
       (lib.cmakeBool "NO_CUDA" (!cudaSupport))
     ] ++ lib.optionals (!stdenv.isDarwin) [
@@ -65,7 +73,9 @@ stdenv.mkDerivation rec {
     NIX_BUILD_CORES=$(( NIX_BUILD_CORES < ${toString maxBuildCores} ? NIX_BUILD_CORES : ${toString maxBuildCores} ))
   '';
 
-  postInstall = "rm $out/lib/*.a";
+  postInstall = ''
+    moveToOutput "lib/*.a" $static
+  '';
 
   meta = {
     description = "An Open-Source subdivision surface library";
diff --git a/nixpkgs/pkgs/development/libraries/openvr/default.nix b/nixpkgs/pkgs/development/libraries/openvr/default.nix
index 01f73d3da667..5bdb10549001 100644
--- a/nixpkgs/pkgs/development/libraries/openvr/default.nix
+++ b/nixpkgs/pkgs/development/libraries/openvr/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "openvr";
-  version = "1.26.7";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "ValveSoftware";
     repo = "openvr";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-verVIRyDdpF8lIjjjG8GllDJG7nhqByIfs/8O5TMOyc=";
+    hash = "sha256-Dpl88Te+EoVasoCtwERGrYt3xK8o03h15r8IVxxPPCw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
index 516d42aa577d..9dcaea8be041 100644
--- a/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
+++ b/nixpkgs/pkgs/development/libraries/physics/geant4/default.nix
@@ -48,12 +48,12 @@ in
 lib.warnIf (enableQT != false) "geant4: enableQT is deprecated, please use enableQt"
 
 stdenv.mkDerivation rec {
-  version = "11.2.0";
+  version = "11.2.1";
   pname = "geant4";
 
   src = fetchurl {
     url = "https://cern.ch/geant4-data/releases/geant4-v${version}.tar.gz";
-    hash = "sha256-Rq1/qzxctL0L3XfdbT4igxhIGSNby8AbLRF9gbNVlqY=";
+    hash = "sha256-g122VD1csugBZ1lYllvpaHf2bWkHu1IZVLWYt4Xerl4=";
   };
 
   # Fix broken paths in a .pc
diff --git a/nixpkgs/pkgs/development/libraries/poppler/default.nix b/nixpkgs/pkgs/development/libraries/poppler/default.nix
index 89c91ccd9206..3a37fcb87e6b 100644
--- a/nixpkgs/pkgs/development/libraries/poppler/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poppler/default.nix
@@ -40,19 +40,19 @@ let
     domain = "gitlab.freedesktop.org";
     owner = "poppler";
     repo = "test";
-    rev = "e3cdc82782941a8d7b8112f83b4a81b3d334601a";
-    hash = "sha256-i/NjVWC/PXAXnv88qNaHFBQQNEjRgjdV224NgENaESo=";
+    rev = "400f3ff05b2b1c0ae17797a0bd50e75e35c1f1b1";
+    hash = "sha256-Y4aNOJLqo4g6tTW6TAb60jAWtBhRgT/JXsub12vi3aU=";
   };
 in
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "poppler-${suffix}";
-  version = "23.11.0"; # beware: updates often break cups-filters build, check scribus too!
+  version = "24.01.0"; # beware: updates often break cups-filters build, check scribus too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    hash = "sha256-+ZzKZ5nLnLbJL8Hg63hUe2EctzN1CrfLBHyw5sJGU5w=";
+    hash = "sha256-x972k6ekkoMPSdSXqAzGuchctXsV6b4tLWFRU7ecrgg=";
   };
 
   nativeBuildInputs = [
@@ -137,6 +137,7 @@ stdenv.mkDerivation (finalAttrs: rec {
 
   meta = with lib; {
     homepage = "https://poppler.freedesktop.org/";
+    changelog = "https://gitlab.freedesktop.org/poppler/poppler/-/blob/poppler-${version}/NEWS";
     description = "A PDF rendering library";
     longDescription = ''
       Poppler is a PDF rendering library based on the xpdf-3.0 code base. In
diff --git a/nixpkgs/pkgs/development/libraries/precice/default.nix b/nixpkgs/pkgs/development/libraries/precice/default.nix
index 885945599e93..873386e90abd 100644
--- a/nixpkgs/pkgs/development/libraries/precice/default.nix
+++ b/nixpkgs/pkgs/development/libraries/precice/default.nix
@@ -1,16 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gcc, boost, eigen, libxml2, mpi, python3, petsc }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, gcc, boost, eigen, libxml2, mpi, python3, petsc, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "precice";
-  version = "2.5.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "precice";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n/UuiVHw1zwlhwR/HDaKgoMnPy6fm9HWZ5FmAr7F/GE=";
+    hash = "sha256-RuZ18BFdusMHC+Yuapc2N8cEetLu32e28J34HH+gHOg=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/precice/precice/commit/9dffe04144ab0f6a92fbff9be91cda71718b9c8e.patch";
+      hash = "sha256-kSvIfBQH1mBA5CFJo9Usiypol0u9VgHMlUEHK/uHVNQ=";
+    })
+  ];
+
   cmakeFlags = [
     "-DPRECICE_PETScMapping=OFF"
     "-DBUILD_SHARED_LIBS=ON"
@@ -24,8 +31,8 @@ stdenv.mkDerivation rec {
     ++ [ "-fpermissive" ]
   );
 
-  nativeBuildInputs = [ cmake gcc ];
-  buildInputs = [ boost eigen libxml2 mpi python3 python3.pkgs.numpy ];
+  nativeBuildInputs = [ cmake gcc pkg-config python3 python3.pkgs.numpy  ];
+  buildInputs = [ boost eigen libxml2 mpi petsc ];
 
   meta = {
     description = "preCICE stands for Precise Code Interaction Coupling Environment";
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/25.nix b/nixpkgs/pkgs/development/libraries/protobuf/25.nix
index 0b05e81cc029..782906d0b5b7 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/25.nix
+++ b/nixpkgs/pkgs/development/libraries/protobuf/25.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix ({
-  version = "25.2";
-  hash = "sha256-Bw7xOgcGLshFppH4qD8E48D8v21ZJRaRkK19LPSATMg=";
+  version = "25.3";
+  hash = "sha256-N/mO9a6NyC0GwxY3/u1fbFbkfH7NTkyuIti6L3bc+7k=";
 } // args)
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
index b0e92290fe5b..6334217f7458 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -211,8 +211,14 @@ let
         url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
         sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
       })
+      (fetchpatch {
+        name = "qtwebkit-libxml2-api-change.patch";
+        url = "https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b.patch";
+        sha256 = "WZEj+UuKhgJBM7auhND3uddk1wWdTY728jtiWVe7CSI=";
+      })
       ./qtwebkit.patch
       ./qtwebkit-icu68.patch
+      ./qtwebkit-cstdint.patch
     ] ++ lib.optionals stdenv.isDarwin [
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
diff --git a/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-cstdint.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-cstdint.patch
new file mode 100644
index 000000000000..6ef551575e12
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/qt-5/5.15/qtwebkit-cstdint.patch
@@ -0,0 +1,11 @@
+diff -up qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h
+--- qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me	2023-02-20 15:40:04.045911245 +0100
++++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h	2023-02-20 15:40:39.038549787 +0100
+@@ -16,6 +16,7 @@
+ #include <algorithm>
+ #include <string.h>
+ #include <stdlib.h>
++#include <cstdint>
+ 
+ namespace gl
+ {
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/default.nix b/nixpkgs/pkgs/development/libraries/qt-6/default.nix
index a1d597adcd1d..3f1cf19c29ab 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/default.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/default.nix
@@ -66,16 +66,6 @@ let
             revert = true;
             hash = "sha256-cjB2sC4cvZn0UEc+sm6ZpjyC78ssqB1Kb5nlZQ15M4A=";
           })
-          # CVE-2023-51714: Potential Integer Overflow in Qt's HTTP2 implementation
-          # https://www.qt.io/blog/security-advisory-potential-integer-overflow-in-qts-http2-implementation
-          (fetchpatch2 {
-            url = "https://download.qt.io/official_releases/qt/6.5/0001-CVE-2023-51714-qtbase-6.5.diff";
-            hash = "sha256-0Xnolq9dWkKUrmLUlv15uQ9nkZXrY3AsmvChaLX8P2I=";
-          })
-          (fetchpatch2 {
-            url = "https://download.qt.io/official_releases/qt/6.6/0002-CVE-2023-51714-qtbase-6.6.diff";
-            hash = "sha256-+/u3vy5Ci6Z4jy00L07iYAnqHvVdqUzqVnT9uVIqs60=";
-          })
         ];
       };
       env = callPackage ./qt-env.nix { };
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh
index 13ff1bef65a1..d7ef146a1957 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh
+++ b/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.qt.io/official_releases/qt/6.6/6.6.2/submodules/ -A '*.tar.xz' )
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix
index edf29ab8d36f..4b541ca6fec2 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix
@@ -203,9 +203,9 @@ stdenv.mkDerivation rec {
 
   # https://bugreports.qt.io/browse/QTBUG-97568
   postPatch = ''
-    substituteInPlace src/corelib/CMakeLists.txt --replace /bin/ls ${coreutils}/bin/ls
+    substituteInPlace src/corelib/CMakeLists.txt --replace-fail "/bin/ls" "${coreutils}/bin/ls"
   '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/QtAutoDetect.cmake --replace "/usr/bin/xcrun" "${xcbuild}/bin/xcrun"
+    substituteInPlace cmake/QtPublicAppleHelpers.cmake --replace-fail "/usr/bin/xcrun" "${xcbuild}/bin/xcrun"
   '';
 
   fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmqtt.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmqtt.nix
index bd8c0983282b..a9660b73710b 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmqtt.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmqtt.nix
@@ -5,12 +5,14 @@
 
 qtModule rec {
   pname = "qtmqtt";
-  version = "6.6.1";
+  version = "6.6.2";
+
   src = fetchFromGitHub {
     owner = "qt";
     repo = "qtmqtt";
     rev = "v${version}";
-    hash = "sha256-6jQrUT1wLk6rhDIns0ubdUCZ7e/m38Oqvl8c1/sfWxI=";
+    hash = "sha256-R8B7Vt/XzI7+17DDZ+TVbqfGKdEfUMiLa1BqzIbo4OM=";
   };
+
   propagatedBuildInputs = [ qtbase ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix
index de13977304e2..b5f1c71fdd75 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix
@@ -4,7 +4,6 @@
 , wayland
 , pkg-config
 , libdrm
-, fetchpatch
 }:
 
 qtModule {
@@ -12,12 +11,4 @@ qtModule {
   propagatedBuildInputs = [ qtbase qtdeclarative ];
   buildInputs = [ wayland libdrm ];
   nativeBuildInputs = [ pkg-config ];
-  patches = [
-    # Fix potential crash issues when some submenus are expanded
-    # https://codereview.qt-project.org/c/qt/qtwayland/+/519344/
-    (fetchpatch {
-      url = "https://code.qt.io/cgit/qt/qtwayland.git/patch/?id=aae65c885d8e38d8abc2959cded7b5e9e5fc88b3";
-      hash = "sha256-FD1VaiTgl9Z1y+5EDpWYShM1ULoFdET86FoFfqDmjyo=";
-    })
-  ];
 }
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
index 068c04b4c89e..64b5b9738caa 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix
@@ -134,10 +134,6 @@ qtModule {
 
     # Override locales install path so they go to QtWebEngine's $out
     ../patches/qtwebengine-locales-path.patch
-
-    # Cherry-pick libxml 2.12 build fix
-    # FIXME: remove for 6.7
-    ../patches/qtwebengine-libxml-2.12.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch b/nixpkgs/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch
index d7b41691370e..6cdbec5abfc7 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch
+++ b/nixpkgs/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch
@@ -13,7 +13,7 @@ Subject: [PATCH 02/11] qtbase: qmake: fix mkspecs for darwin
  6 files changed, 1 insertion(+), 415 deletions(-)
 
 diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
-index 61bea952b22..9909dae7260 100644
+index 61bea952b2..9909dae726 100644
 --- a/mkspecs/common/mac.conf
 +++ b/mkspecs/common/mac.conf
 @@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
@@ -26,7 +26,7 @@ index 61bea952b22..9909dae7260 100644
  
  QMAKE_LFLAGS_REL_RPATH  =
 diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index f364716717c..3b40328304d 100644
+index 0b64a586b9..3b40328304 100644
 --- a/mkspecs/features/mac/default_post.prf
 +++ b/mkspecs/features/mac/default_post.prf
 @@ -1,9 +1,5 @@
@@ -39,12 +39,13 @@ index f364716717c..3b40328304d 100644
  contains(TEMPLATE, .*app) {
      !macx-xcode:if(isEmpty(BUILDS)|build_pass) {
          # Detect changes to the platform SDK
-@@ -15,269 +11,10 @@ contains(TEMPLATE, .*app) {
+@@ -15,270 +11,10 @@ contains(TEMPLATE, .*app) {
  
          QMAKE_EXTRA_INCLUDES += $$shell_quote($$PWD/sdk.mk)
      }
 -
 -    # Detect incompatible SDK versions
+-    # The CMake equivalent is in cmake/QtPublicAppleHelpers.cmake.
 -
 -    isEmpty(QT_MAC_SDK_VERSION_MIN): \
 -        QT_MAC_SDK_VERSION_MIN = $$QT_MAC_SDK_VERSION
@@ -310,7 +311,7 @@ index f364716717c..3b40328304d 100644
      generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS
      generate_xcode_project.target = xcodeproj
 diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
-index e3534561a56..3b01424e67b 100644
+index e3534561a5..3b01424e67 100644
 --- a/mkspecs/features/mac/default_pre.prf
 +++ b/mkspecs/features/mac/default_pre.prf
 @@ -1,60 +1,2 @@
@@ -375,7 +376,7 @@ index e3534561a56..3b01424e67b 100644
 -xcode_copy_phase_strip_setting.value = NO
 -QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
 diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
-index a32ceacb6ce..e69de29bb2d 100644
+index a32ceacb6c..e69de29bb2 100644
 --- a/mkspecs/features/mac/sdk.mk
 +++ b/mkspecs/features/mac/sdk.mk
 @@ -1,27 +0,0 @@
@@ -407,7 +408,7 @@ index a32ceacb6ce..e69de29bb2d 100644
 -    endif
 -endif
 diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
-index 3a9c2778bbe..e69de29bb2d 100644
+index 3a9c2778bb..e69de29bb2 100644
 --- a/mkspecs/features/mac/sdk.prf
 +++ b/mkspecs/features/mac/sdk.prf
 @@ -1,61 +0,0 @@
@@ -473,7 +474,7 @@ index 3a9c2778bbe..e69de29bb2d 100644
 -    cache($$tool_variable, set stash, $$tool)
 -}
 diff --git a/mkspecs/features/mac/toolchain.prf b/mkspecs/features/mac/toolchain.prf
-index df191eb13c4..e69de29bb2d 100644
+index df191eb13c..e69de29bb2 100644
 --- a/mkspecs/features/mac/toolchain.prf
 +++ b/mkspecs/features/mac/toolchain.prf
 @@ -1,5 +0,0 @@
@@ -482,6 +483,3 @@ index df191eb13c4..e69de29bb2d 100644
 -sdk: load(sdk)
 -
 -load(toolchain)
--- 
-2.42.0
-
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/patches/0008-qtbase-allow-translations-outside-prefix.patch b/nixpkgs/pkgs/development/libraries/qt-6/patches/0008-qtbase-allow-translations-outside-prefix.patch
index 40812599bb99..07f1973d7607 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/patches/0008-qtbase-allow-translations-outside-prefix.patch
+++ b/nixpkgs/pkgs/development/libraries/qt-6/patches/0008-qtbase-allow-translations-outside-prefix.patch
@@ -7,11 +7,11 @@ Subject: [PATCH 08/11] qtbase: allow translations outside prefix
  cmake/QtBuild.cmake | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
-index 1dc576d27af..4348eb97c37 100644
---- a/cmake/QtBuild.cmake
-+++ b/cmake/QtBuild.cmake
-@@ -30,7 +30,7 @@ function(qt_configure_process_path name default docstring)
+diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake
+index edc43f2f14..78fa219515 100644
+--- a/cmake/QtBuildPathsHelpers.cmake
++++ b/cmake/QtBuildPathsHelpers.cmake
+@@ -134,7 +134,7 @@ function(qt_configure_process_path name default docstring)
              set(rel_path ".")
          elseif(rel_path MATCHES "^\.\./")
              # INSTALL_SYSCONFDIR is allowed to be outside the prefix.
@@ -20,6 +20,3 @@ index 1dc576d27af..4348eb97c37 100644
                  message(FATAL_ERROR
                      "Path component '${name}' is outside computed install prefix: ${rel_path} ")
                  return()
--- 
-2.42.0
-
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch b/nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch
deleted file mode 100644
index 3c3d59b488da..000000000000
--- a/nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-libxml-2.12.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-@@ -77,7 +77,12 @@ class XSLTProcessor final : public ScriptWrappable {
- 
-   void reset();
- 
-+#if LIBXML_VERSION >= 21200
-+  static void ParseErrorFunc(void* user_data, const xmlError*);
-+#else
-   static void ParseErrorFunc(void* user_data, xmlError*);
-+#endif
-+
-   static void GenericErrorFunc(void* user_data, const char* msg, ...);
- 
-   // Only for libXSLT callbacks
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-@@ -66,7 +66,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) {
-   // It would be nice to do something with this error message.
- }
- 
-+#if LIBXML_VERSION >= 21200
-+void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
-+#else
- void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
-+#endif
-   FrameConsole* console = static_cast<FrameConsole*>(user_data);
-   if (!console)
-     return;
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix
index 61b73c649dfa..5fef072f3990 100644
--- a/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix
+++ b/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix
@@ -1,318 +1,318 @@
 # DO NOT EDIT! This file is generated automatically.
-# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6/fetch.sh
 { fetchurl, mirror }:
 
 {
   qt3d = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qt3d-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0a9j8k1561hgsigpf3k5h9p788pab7lb38q7yrl1r9ql9zbsx17k";
-      name = "qt3d-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qt3d-everywhere-src-6.6.2.tar.xz";
+      sha256 = "10l5ldw8g8m1ig3hh78pwg749xqf2gw9vsi8p67gbkanmipfqx4i";
+      name = "qt3d-everywhere-src-6.6.2.tar.xz";
     };
   };
   qt5compat = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qt5compat-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1wn13filgwz9lh0jj7w8i9ma53vw4mbxj2c1421j65x4xnv1a78f";
-      name = "qt5compat-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qt5compat-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0rqr34lqf4mjdgjj09wzlvkxfknz8arjl9p30xpqbr2qfsmhhyz0";
+      name = "qt5compat-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtactiveqt-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1v6g0hg5qfbvbvr9k5sn02l556c5mnnnak0bm1yrgqyw85qg2l4r";
-      name = "qtactiveqt-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtactiveqt-everywhere-src-6.6.2.tar.xz";
+      sha256 = "16vqb33s0dwxq1rrha81606fdwq1dz7az6mybgx18n7f081h3yl7";
+      name = "qtactiveqt-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtbase = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtbase-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1xq2kpawq1f9qa3dzjcl1bl6h039807pykcm0znl1zmjfx35n325";
-      name = "qtbase-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtbase-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0yv78bwqzy975854h53rbiilsms62f3v02i3jqz7v8ajk1ml56xq";
+      name = "qtbase-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtcharts = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtcharts-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1dii5amdzpm65mq1yz7w1aql95yi0dshm06s62yf3dr68nlwlmhi";
-      name = "qtcharts-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtcharts-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1x7m87lxbza4ynf6dq7yshann6003302a5fxih5l5d07xri64j5i";
+      name = "qtcharts-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtconnectivity-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0i86iqjx8z6qymbmilrmr2d67piinwlr2pkcfj1zjks69538sijv";
-      name = "qtconnectivity-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtconnectivity-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1dzsvs0hngrz6b66r9zb4al5a4r6xxfd29i8g3jqmvw3b0452vx3";
+      name = "qtconnectivity-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtdatavis3d-everywhere-src-6.6.1.tar.xz";
-      sha256 = "18hvlz8l55jzhpp1ph1slj472l65pk3qdhmhib6gybi2iv6kpp5r";
-      name = "qtdatavis3d-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtdatavis3d-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0iqw5afx8y29kjprn1hlz0zr0qwc9j0m7my75qf1av800hlnnjii";
+      name = "qtdatavis3d-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtdeclarative-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0p4r12v9ih1l9cnbw0am878kjfpr3f6whkamx564cn36iqrxgzvy";
-      name = "qtdeclarative-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtdeclarative-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0k6qndjvkkx3g8lr7f64xx86b3cwxzkgpl6fr6cp73s6qjkyk763";
+      name = "qtdeclarative-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtdoc = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtdoc-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0ndh1if6886m9z9kc2aa02q135ar0rmy4vgln4rkr3lyx4jaajwl";
-      name = "qtdoc-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtdoc-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0hvv40y2h7xa7wj2cqz2rrsvy1xf2l95199vmgx4q27wgmn1xixg";
+      name = "qtdoc-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtgraphs = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtgraphs-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0xv4alb93rdqzbhhvvhg2miwjyax81pf9n4p5irlcg2xrw1qv5n8";
-      name = "qtgraphs-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtgraphs-everywhere-src-6.6.2.tar.xz";
+      sha256 = "19j9hdpxrclsdwqqblp4bk94zd2a5rvxnf548hm7r03npznjvb26";
+      name = "qtgraphs-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtgrpc = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtgrpc-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1k7hv2f1s628rfls2klxvd0b2rb304pysbcvvqfrwkkv4ys4akhw";
-      name = "qtgrpc-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtgrpc-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1flfm8j5vw2j6xzms1b470mbqyab1nrnj4z9s4mgwnbsp4m5p85w";
+      name = "qtgrpc-everywhere-src-6.6.2.tar.xz";
     };
   };
   qthttpserver = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qthttpserver-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0k0jhgxfqq0l3jhrf5qyd38achvvv8x4zvx4jw0jl00m5zsv7zhv";
-      name = "qthttpserver-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qthttpserver-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1qzw96y20qr1kc9wmys61wm568jsknvlgvh09bbqjcmm6dm3lhd2";
+      name = "qthttpserver-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtimageformats = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtimageformats-everywhere-src-6.6.1.tar.xz";
-      sha256 = "13qqj8251l9885mcaafg6plxcza4vd7sdkv2wrdkfbh7a24x0kmc";
-      name = "qtimageformats-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtimageformats-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1cvwm0hnspglydms6qhcp5g0ayz5pamigl52kz8km66l6s8lqn3i";
+      name = "qtimageformats-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtlanguageserver = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtlanguageserver-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0vrywwjg5d2fx2kpjxmi6cm8vffpf0zg63zi3n9dz2d90db1yxmh";
-      name = "qtlanguageserver-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtlanguageserver-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1bgazi44mwac20biybhp21icgwa8k7jd295j8jsfgzxbw12lq7y3";
+      name = "qtlanguageserver-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtlocation = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtlocation-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0acwkwcr5dixhwhd102kmh5yq4y3wk1kddfdb8ychy3jwdi2pgld";
-      name = "qtlocation-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtlocation-everywhere-src-6.6.2.tar.xz";
+      sha256 = "05glwmasg0rlhybzpb640iibcs6gyrqbs7h1ws4b5vgcmzzdq9cy";
+      name = "qtlocation-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtlottie = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtlottie-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1j4zl2yz9pybh21wscfr56pahfrn4fnkvxdhkz03d2gpcj9hbjs9";
-      name = "qtlottie-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtlottie-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1hqhp55jfasavk7p8xb0srbc6lnk70w2q0x4iwn28z5s5kd1cvi7";
+      name = "qtlottie-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtmultimedia-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0jnvc09msjqr2zbyjj7fgilf7zg3sdldbppnj8b9c52pdwly5r3y";
-      name = "qtmultimedia-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtmultimedia-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1v0430jnv97ws6cizn9mi8zr9hcg7rixd0jg7smhdq8apacjb572";
+      name = "qtmultimedia-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtnetworkauth-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0j8dq10wq6y02cz4lkqw60nqi600qr9ssb36n74mywr2bfa12gk9";
-      name = "qtnetworkauth-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtnetworkauth-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1lijsdwbj8gscfllmp358n5ysa8pvhx2msh7gpxvb4x81daxbg9j";
+      name = "qtnetworkauth-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtpositioning = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtpositioning-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1f0n721k4w6jiva8hhgpd29im2h5vsd2ypfbk1j53f0j7czwgnix";
-      name = "qtpositioning-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtpositioning-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1qn31vps9dj4g8m7d195qlsyj3p4dfqqszdc6yqq097dq5y5d9sd";
+      name = "qtpositioning-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtquick3d = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtquick3d-everywhere-src-6.6.1.tar.xz";
-      sha256 = "08l4rsw7v0xvdmpm80wpxy74798j70r37853hdgipmi34bp0058m";
-      name = "qtquick3d-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtquick3d-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0f1sp7d1jzdzaxqs2l2yjprp0axcqbg2w82dza7wl4paan4rzp7w";
+      name = "qtquick3d-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtquick3dphysics = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtquick3dphysics-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0np14lkvc3y0y896m9f754pfi83k5jnmg5i76kgfc7bvipsvbiic";
-      name = "qtquick3dphysics-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtquick3dphysics-everywhere-src-6.6.2.tar.xz";
+      sha256 = "10209x9hbr5bc4vlhhcvvfsmsn2h3dyb4rlg0f0gpllx68mr58ac";
+      name = "qtquick3dphysics-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtquickeffectmaker = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtquickeffectmaker-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0lr6vms6vrmaki4ssmclsxi8xp3qnysgygqgn83vg727qx9hj65c";
-      name = "qtquickeffectmaker-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtquickeffectmaker-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0lywm71wp943dk3w8zkklyxfk97w48v670zs6pc4pj4ja0ns37q7";
+      name = "qtquickeffectmaker-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtquicktimeline = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtquicktimeline-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0s71zycq3l9px8hig8g229ln91h9czhxvvbj6zmmnhkx694gaq1q";
-      name = "qtquicktimeline-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtquicktimeline-everywhere-src-6.6.2.tar.xz";
+      sha256 = "06cr9p0hrq77ckqslxh0h3lpyw31fblyap1plcyyj8ssr1rm4klc";
+      name = "qtquicktimeline-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtremoteobjects-everywhere-src-6.6.1.tar.xz";
-      sha256 = "16cmzc3cssfvqhvhc7lphbha00mdb1qykk877shgrh4bzyc5i7mq";
-      name = "qtremoteobjects-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtremoteobjects-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0fbkjzykxpkz8myr6dy588gcmhyy3lar17v78zfam8kyxq7s5qxa";
+      name = "qtremoteobjects-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtscxml = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtscxml-everywhere-src-6.6.1.tar.xz";
-      sha256 = "15q8vlhd9yz33bdhm7md426a33px4dg8sa14ckirk4rryixcajw7";
-      name = "qtscxml-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtscxml-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0gm4805570ds3jmkbwrjigbg93zc561bd5rc52r71042zzq84j89";
+      name = "qtscxml-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtsensors = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtsensors-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1lwr6xw4flzcqvb017wl9g8p5yamf0z4zqx2wp4rmhrgbj0yw4xx";
-      name = "qtsensors-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtsensors-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0a3w50bfnmxndyxnn9lsy1wxffhm2am0yjxqx3vx0gfjwv79yvsa";
+      name = "qtsensors-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtserialbus = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtserialbus-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1b7pkvs131vqls4bahqkwgnbrnb8pcrnii47ww2c589h1dimw52w";
-      name = "qtserialbus-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtserialbus-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0g7sx81lrb5r2ipinnghq4iss6clkwbzjb0ck4ay6hmpw54smzww";
+      name = "qtserialbus-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtserialport = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtserialport-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1n5fsb3ayn1xnf1s5l7f6j1nm2pcdjywy382qr451b5wbhyj7z4n";
-      name = "qtserialport-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtserialport-everywhere-src-6.6.2.tar.xz";
+      sha256 = "16j5fprmdzzc1snnj5184ihq5avg1s0jrqqcjk70dvmimsf0q7ms";
+      name = "qtserialport-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtshadertools = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtshadertools-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1fvkbrw6gy8v2ql6qw1ra08wl6z64w34b9d886794m29ypj8ycq8";
-      name = "qtshadertools-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtshadertools-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0bxrczs9nw6az2p4n8x0f660vsmxxynx4iqgj75l4zsfzzbym2v2";
+      name = "qtshadertools-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtspeech = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtspeech-everywhere-src-6.6.1.tar.xz";
-      sha256 = "16aqjaf8c64l6qg0kz5hla6q2r7k9lryad7jy8jwyi2ir5921352";
-      name = "qtspeech-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtspeech-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1qvf3p2p1pc5fw40d8zq0iawaaqkc0dp5yx85b1dnw1j809bn8y0";
+      name = "qtspeech-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtsvg = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtsvg-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0a4jw02v50fzbnrqnldz9djzn37rric06lrg2vrkqikas9bfp394";
-      name = "qtsvg-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtsvg-everywhere-src-6.6.2.tar.xz";
+      sha256 = "10c1dmbv5d39n1q4m67gf2h4n6wfkzrlyk8plnxbyhhvxxcis8ss";
+      name = "qtsvg-everywhere-src-6.6.2.tar.xz";
     };
   };
   qttools = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qttools-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0jliy2pz6czjw0ircd8h37a5prinm1a8dvnawwclxas5fdd10fa9";
-      name = "qttools-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qttools-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0ij7djy06xi4v5v29fh31gqq5rnc12vviv3qg3vqf4hiaagrxm76";
+      name = "qttools-everywhere-src-6.6.2.tar.xz";
     };
   };
   qttranslations = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qttranslations-everywhere-src-6.6.1.tar.xz";
-      sha256 = "127f40wjm1q9clp2dj7vgyvv7nazb5c23akwgsr50wdd4bl051v6";
-      name = "qttranslations-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qttranslations-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0xqcad8aa9lp6wzh1rs46id6r60zdw82qj3bq9k2b89sxy8c0fna";
+      name = "qttranslations-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtvirtualkeyboard-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1akvip4h86r5j898w1yx0mnfgc78b1yqfygk8h25z613vqvdwg4r";
-      name = "qtvirtualkeyboard-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtvirtualkeyboard-everywhere-src-6.6.2.tar.xz";
+      sha256 = "07nqds49g2x748jsk17cnd2ph81165xnzn70jwxd0gpbi3dzshk1";
+      name = "qtvirtualkeyboard-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtwayland = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtwayland-everywhere-src-6.6.1.tar.xz";
-      sha256 = "1cb8amr9kmr4gdnyi1mzriv34xf1nx47y91m9v6cczy05mijvk36";
-      name = "qtwayland-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtwayland-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0y6x84ckcc53ddclnrlzs08b1kvw6saw9nim0hz4wc5fyz7dbkcv";
+      name = "qtwayland-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtwebchannel-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0hz5j6gpj4m74j74skj0lrjqmp30ns5s240gr6rrinisaz6qfq7i";
-      name = "qtwebchannel-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtwebchannel-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1incvisc3j758b4k82vnwci8j1bba8zf6xgmgcrsm553k4wpsz1x";
+      name = "qtwebchannel-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtwebengine = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtwebengine-everywhere-src-6.6.1.tar.xz";
-      sha256 = "149nwwnarkiiz2vrgydz99agfc0z08lrnm4hr8ln1mjb44la4vks";
-      name = "qtwebengine-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtwebengine-everywhere-src-6.6.2.tar.xz";
+      sha256 = "15h3hniszfkxv2vnn3fnbgbar8wb41ypgn4b4iz4iy6csar8f7fn";
+      name = "qtwebengine-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtwebsockets-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0hq6gg67x84fb6asfgx5jclvv1nqhr4gdr84cl27xn3nk0s18xbq";
-      name = "qtwebsockets-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtwebsockets-everywhere-src-6.6.2.tar.xz";
+      sha256 = "1y9q8jmspxbfxf07jdcg4n8zwmchccyzp0z68fxr0hnvr2dymrn0";
+      name = "qtwebsockets-everywhere-src-6.6.2.tar.xz";
     };
   };
   qtwebview = {
-    version = "6.6.1";
+    version = "6.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/6.6/6.6.1/submodules/qtwebview-everywhere-src-6.6.1.tar.xz";
-      sha256 = "0v1598ycj1rgphb00r3mwkij8yjw26g0d73w2ijf8fp97fiippnn";
-      name = "qtwebview-everywhere-src-6.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/6.6/6.6.2/submodules/qtwebview-everywhere-src-6.6.2.tar.xz";
+      sha256 = "0z3p1g26yg3dr3hhavwd5wz9b8yi838xj4s57068wykd80v145wb";
+      name = "qtwebview-everywhere-src-6.6.2.tar.xz";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/quickflux/default.nix b/nixpkgs/pkgs/development/libraries/quickflux/default.nix
new file mode 100644
index 000000000000..9f56e6793191
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/quickflux/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, qtbase
+, qtquickcontrols2
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "quickflux";
+  version = "1.1-unstable-2020-11-10";
+
+  src = fetchFromGitHub {
+    owner = "benlau";
+    repo = "quickflux";
+    rev = "2a37acff0416c56cb349e5bc1b841b25ff1bb6f8";
+    hash = "sha256-c0W3Qj8kY6hMcMy/v5xhwJF9+muZjotmJqhbjqQVab0=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  postPatch = ''
+    # Don't hardcode static linking, let stdenv decide
+    # Use GNUInstallDirs
+    substituteInPlace CMakeLists.txt \
+      --replace-fail 'quickflux STATIC' 'quickflux' \
+      --replace-fail 'DESTINATION include' 'DESTINATION ''${CMAKE_INSTALL_INCLUDEDIR}'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    qtbase
+    qtquickcontrols2
+  ];
+
+  # Only a QML module
+  dontWrapQtApps = true;
+
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
+  ];
+
+  preFixup = ''
+    # Has extra $out in includes list, breaks usage of module (complains about non-existent path in module includes)
+    substituteInPlace $out/lib/cmake/QuickFlux/QuickFluxTargets.cmake \
+      --replace "\''${_IMPORT_PREFIX}/include" '${placeholder "dev"}/include'
+  '';
+
+  meta = with lib; {
+    description = "A Flux implementation for QML";
+    homepage = "https://github.com/benlau/quickflux";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
index e01934b1d731..a1ce524be2f0 100644
--- a/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
+++ b/nixpkgs/pkgs/development/libraries/raft-canonical/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "raft-canonical";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "raft";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C3LfrdXNs5AG9B2n2c39fTjv2gri910EYxApGWwtH90=";
+    hash = "sha256-ogTw0+ZFhMRaLAxAAXzHSlLRYFuX8W/zjqglXHfvUv4=";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkg-config ];
diff --git a/nixpkgs/pkgs/development/libraries/rlottie-qml/default.nix b/nixpkgs/pkgs/development/libraries/rlottie-qml/default.nix
new file mode 100644
index 000000000000..5154c816624e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rlottie-qml/default.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, fetchpatch
+, cmake
+, qtbase
+, qtdeclarative
+, qtmultimedia
+, quazip
+, rlottie
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "rlottie-qml";
+  version = "0-unstable-2021-05-03";
+
+  src = fetchFromGitLab {
+    owner = "mymike00";
+    repo = "rlottie-qml";
+    rev = "f9506889a284039888c7a43db37e155bb7b30c40";
+    hash = "sha256-e2/4e1GGFfJMwShy6qgnUVVRxjV4WfjQwcqs09RK194=";
+  };
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  patches = [
+    # Remove when https://gitlab.com/mymike00/rlottie-qml/-/merge_requests/1 merged
+    (fetchpatch {
+      name = "0001-rlottie-qml-Use-upstream-QuaZip-config-module.patch";
+      url = "https://gitlab.com/mymike00/rlottie-qml/-/commit/5656211dd8ae190795e343f47a3393fd3d8d25a4.patch";
+      hash = "sha256-t2NlYVU+D8hKd+AvBWPEavAhJKlk7Q3y2iAQSYtks5k=";
+    })
+  ];
+
+  postPatch = ''
+    # Fix QML install path
+    substituteInPlace CMakeLists.txt \
+      --replace-fail 'QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}"' 'QT_IMPORTS_DIR "''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"' \
+      --replace-fail "\''${QT_IMPORTS_DIR}/\''${PLUGIN}" "\''${QT_IMPORTS_DIR}" \
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    rlottie
+    qtbase
+    qtdeclarative
+    qtmultimedia
+  ];
+
+  propagatedBuildInputs = [
+    # Config module requires this
+    quazip
+  ];
+
+  # Only a QML module
+  dontWrapQtApps = true;
+
+  meta = with lib; {
+    description = "Library for using rlottie via QML";
+    homepage = "https://gitlab.com/mymike00/rlottie-qml";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/nixpkgs/pkgs/development/libraries/science/chemistry/libvdwxc/default.nix b/nixpkgs/pkgs/development/libraries/science/chemistry/libvdwxc/default.nix
index f90cad4a099f..c0da65e7c788 100644
--- a/nixpkgs/pkgs/development/libraries/science/chemistry/libvdwxc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/chemistry/libvdwxc/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$PATH:${mpi}/bin
     configureFlagsArray+=(
-      --with-mpi=${mpi}
+      --with-mpi=${lib.getDev mpi}
       CC=mpicc
       FC=mpif90
       MPICC=mpicc
diff --git a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
index 81bcec504473..85aa5c4a8736 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
       -DLAPACK_LIBRARIES="-llapack"
       -DBLAS_LIBRARIES="-lblas"
-      -DCMAKE_Fortran_COMPILER=${mpi}/bin/mpif90
+      -DCMAKE_Fortran_COMPILER=${lib.getDev mpi}/bin/mpif90
       ${lib.optionalString passthru.isILP64 ''
         -DCMAKE_Fortran_FLAGS="-fdefault-integer-8"
         -DCMAKE_C_FLAGS="-DInt=long"
diff --git a/nixpkgs/pkgs/development/libraries/semver-cpp/default.nix b/nixpkgs/pkgs/development/libraries/semver-cpp/default.nix
deleted file mode 100644
index 966f170eaad0..000000000000
--- a/nixpkgs/pkgs/development/libraries/semver-cpp/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "semver-cpp";
-  version = "0.3.0";
-
-  src = fetchFromGitHub {
-    owner = "Neargye";
-    repo = "semver";
-    rev = "v${version}";
-    sha256 = "sha256-nRWmY/GJtSkPJIW7i7/eIr/YtfyvYhJVZBRIDXUC7xg=";
-  };
-
-  # Header-only library.
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir "$out"
-    cp -r include "$out"
-  '';
-
-  meta = with lib; {
-    description = "Semantic Versioning for modern C++";
-    homepage = "https://github.com/Neargye/semver";
-    maintainers = with maintainers; [ aidalgol ];
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/speex/default.nix b/nixpkgs/pkgs/development/libraries/speex/default.nix
index cdf5b00abd04..cba0e4e76f3f 100644
--- a/nixpkgs/pkgs/development/libraries/speex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/speex/default.nix
@@ -1,4 +1,12 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, pkg-config
+, fftw
+, speexdsp
+, withFft ? !stdenv.hostPlatform.isMinGW
+}:
 
 stdenv.mkDerivation rec {
   pname = "speex";
@@ -16,12 +24,13 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ fftw speexdsp ];
+  buildInputs = lib.optionals withFft [ fftw ]
+    ++ [ speexdsp ];
 
   # TODO: Remove this will help with immediate backward compatibility
   propagatedBuildInputs = [ speexdsp ];
 
-  configureFlags = [
+  configureFlags = lib.optionals withFft [
     "--with-fft=gpl-fftw3"
   ];
 
@@ -29,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.speex.org/";
     description = "An Open Source/Free Software patent-free audio compression format designed for speech";
     license = licenses.bsd3;
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix b/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
index ebfd8e5670ff..6589e718f10e 100644
--- a/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
+++ b/nixpkgs/pkgs/development/libraries/tinyxml/2.6.2.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib, stdenv, fetchurl, fetchpatch, unzip }:
 
 let
   version = "2.6.2";
@@ -21,6 +21,17 @@ in stdenv.mkDerivation {
 
     # Use CC, CXX, and LD from environment
     ./2.6.2-cxx.patch
+
+    (fetchpatch {
+      name = "CVE-2023-34194.patch";
+      url = "https://salsa.debian.org/debian/tinyxml/-/raw/2366e1f23d059d4c20c43c54176b6bd78d6a83fc/debian/patches/CVE-2023-34194.patch";
+      hash = "sha256-ow4LmLQV24SAU6M1J8PXpW5c95+el3t8weM9JK5xJfg=";
+    })
+    (fetchpatch {
+      name = "CVE-2021-42260.patch";
+      url = "https://salsa.debian.org/debian/tinyxml/-/raw/dc332a9f4e05496c8342b778c14b256083beb1ee/debian/patches/CVE-2021-42260.patch";
+      hash = "sha256-pIM0uOnUQOW93w/PEPuW3yKq1mdvNT/ClCYVc2hLoY8=";
+    })
   ];
 
   preConfigure = "export LD=${stdenv.cc.targetPrefix}c++";
diff --git a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
index e692d58a7c86..d1b52fc5694c 100644
--- a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -221,13 +221,13 @@
         aarch64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/${finalAttrs.pname}/${finalAttrs.pname}_${finalAttrs.version}_arm64.deb";
         x86_64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/${finalAttrs.pname}-${finalAttrs.version}-amd64.tar.gz";
         aarch64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/${finalAttrs.pname}-${finalAttrs.version}-arm64.tar.gz";
-      }.${stdenv.system} or (throw "Unsupported platform");
+      }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
       hash = {
         x86_64-linux = "sha256:1f0rmh1aynf1sqmjclbsyh2wz5jby0fixrwz71zp6impxpwvil52";
         aarch64-linux = "sha256:0zphnbvkqdbkcv6lvv63p7pyl68h5bs2dy6vv44wm6bi89svms4a";
         x86_64-darwin = "sha256:1fn80byn1yihflznxcm9cpj42mpllnz54apnk9n46vzm2ng2lj6d";
         aarch64-darwin = "sha256:116xl8r2apr5b48jnq6myj9fwqs88yccw5176yfyzh4534fznj5x";
-      }.${stdenv.system} or (throw "Unsupported platform");
+      }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
     };
 
     nativeBuildInputs =
diff --git a/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix b/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
index f64de57fcb89..fa67cbb7edd7 100644
--- a/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
+++ b/nixpkgs/pkgs/development/libraries/virglrenderer/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl, meson, ninja, pkg-config, python3
-, libGLU, libepoxy, libX11, libdrm, mesa
+, libGLU, libepoxy, libX11, libdrm, mesa, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "virglrenderer";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2";
-    hash = "sha256-KMGPP2MeuATHFXKr5oW9HuFOMmmYpmkVLvMvQi0cEdg=";
+    hash = "sha256-U8uPrdCPUmDuV4M/wkiFZUgUOLx6jjTz4RTRLMnZ25o=";
   };
 
   separateDebugInfo = true;
@@ -17,6 +17,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja pkg-config python3 ];
 
+  passthru = {
+    updateScript = gitUpdater {
+      url = "https://gitlab.freedesktop.org/virgl/virglrenderer.git";
+      rev-prefix = "virglrenderer-";
+    };
+  };
+
   meta = with lib; {
     description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
     homepage = "https://virgil3d.github.io/";
diff --git a/nixpkgs/pkgs/development/libraries/vte/default.nix b/nixpkgs/pkgs/development/libraries/vte/default.nix
index ec16a5d77758..be55952fe2e1 100644
--- a/nixpkgs/pkgs/development/libraries/vte/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vte/default.nix
@@ -33,7 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
   pname = "vte";
   version = "0.74.2";
 
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "dev" ]
+    ++ lib.optional (gtkVersion != null) "devdoc";
 
   src = fetchurl {
     url = "mirror://gnome/sources/vte/${lib.versions.majorMinor finalAttrs.version}/vte-${finalAttrs.version}.tar.xz";
@@ -68,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
     cairo
     fribidi
     gnutls
+    pango # duplicated with propagatedBuildInputs to support gtkVersion == null
     pcre2
     zlib
     icu
@@ -75,9 +77,10 @@ stdenv.mkDerivation (finalAttrs: {
     systemd
   ];
 
-  propagatedBuildInputs = assert (gtkVersion == "3" || gtkVersion == "4"); [
-    # Required by vte-2.91.pc.
-    (if gtkVersion == "3" then gtk3 else gtk4)
+  # Required by vte-2.91.pc.
+  propagatedBuildInputs = lib.optionals (gtkVersion != null) [
+    (assert (gtkVersion == "3" || gtkVersion == "4");
+    if gtkVersion == "3" then gtk3 else gtk4)
     glib
     pango
   ];
diff --git a/nixpkgs/pkgs/development/libraries/x265/default.nix b/nixpkgs/pkgs/development/libraries/x265/default.nix
index 0ce635a80fb7..1fc5f3129c0e 100644
--- a/nixpkgs/pkgs/development/libraries/x265/default.nix
+++ b/nixpkgs/pkgs/development/libraries/x265/default.nix
@@ -139,6 +139,10 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     rm -f ${placeholder "out"}/lib/*.a
+  ''
+  # For mingw, libs are located in $out/bin not $out/lib
+  + lib.optionalString stdenv.hostPlatform.isMinGW ''
+    ln -s $out/bin/*.dll $out/lib
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 905675c40659..325fc7305ad6 100644
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -54,11 +54,10 @@ stdenv.mkDerivation (finalAttrs: {
     # Allow installing installed tests to a separate output.
     ./installed-tests-path.patch
 
-    # `XDG_DESKTOP_PORTAL_DIR` originally was used for upstream tests. But we are making use
-    # of this in the NixOS module, this actually blocks any configs from being loaded since
-    # configs are not expected to be placed in a portal implementation or even under the
-    # `share/xdg-desktop-portal/portals/` path.
-    ./separate-env-for-portal-config.patch
+    # Look for portal definitions under path from `NIX_XDG_DESKTOP_PORTAL_DIR` environment variable.
+    # While upstream has `XDG_DESKTOP_PORTAL_DIR`, it is meant for tests and actually blocks
+    # any configs from being loaded from anywhere else.
+    ./nix-pkgdatadir-env.patch
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/nix-pkgdatadir-env.patch b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/nix-pkgdatadir-env.patch
new file mode 100644
index 000000000000..b099c4ad56f5
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/nix-pkgdatadir-env.patch
@@ -0,0 +1,13 @@
+diff --git a/src/portal-impl.c b/src/portal-impl.c
+index 85b3a23..6d43636 100644
+--- a/src/portal-impl.c
++++ b/src/portal-impl.c
+@@ -275,6 +275,8 @@ load_installed_portals (gboolean opt_verbose)
+ 
+   /* We need to override this in the tests */
+   portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_DIR");
++  if (portal_dir == NULL)
++    portal_dir = g_getenv ("NIX_XDG_DESKTOP_PORTAL_DIR");
+   if (portal_dir == NULL)
+     portal_dir = DATADIR "/xdg-desktop-portal/portals";
+ 
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/separate-env-for-portal-config.patch b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/separate-env-for-portal-config.patch
deleted file mode 100644
index 020d98c20700..000000000000
--- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/separate-env-for-portal-config.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/portal-impl.c b/src/portal-impl.c
-index 0fa9682e..99f379dc 100644
---- a/src/portal-impl.c
-+++ b/src/portal-impl.c
-@@ -433,8 +433,7 @@ load_portal_configuration (gboolean opt_verbose)
- 
-   desktops = get_current_lowercase_desktops ();
- 
--  /* We need to override this in the tests */
--  portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_DIR");
-+  portal_dir = g_getenv ("NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR_OVERRIDE");
- 
-   if (portal_dir != NULL)
-     {
-@@ -464,6 +463,18 @@ load_portal_configuration (gboolean opt_verbose)
-   if (load_config_directory (SYSCONFDIR "/" XDP_SUBDIR, desktops, opt_verbose))
-     return;
- 
-+  portal_dir = g_getenv ("NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR");
-+
-+  if (portal_dir == NULL)
-+    /* We need to override this in the tests */
-+    portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_DIR");
-+
-+  if (portal_dir != NULL)
-+    {
-+      if (load_config_directory (portal_dir, desktops, opt_verbose))
-+        return;
-+    }
-+
-   /* $XDG_DATA_HOME/xdg-desktop-portal/(DESKTOP-)portals.conf
-    * (just for consistency with other XDG specifications) */
-   g_clear_pointer (&user_portal_dir, g_free);
diff --git a/nixpkgs/pkgs/development/libraries/xeus-zmq/default.nix b/nixpkgs/pkgs/development/libraries/xeus-zmq/default.nix
index fccf2427c393..0e27aa511de2 100644
--- a/nixpkgs/pkgs/development/libraries/xeus-zmq/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xeus-zmq/default.nix
@@ -13,13 +13,13 @@
 
 clangStdenv.mkDerivation rec {
   pname = "xeus-zmq";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "jupyter-xeus";
     repo = "xeus-zmq";
     rev = "${version}";
-    hash = "sha256-xavomnqQh5aMrBEyeuwoxrTjsw8wRof3+qxKOsrXqiQ=";
+    hash = "sha256-CrFb0LDb6akCfFnwMSa4H3D3A8KJx9Kiejw6VeV3IDs=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/mobile/maestro/default.nix b/nixpkgs/pkgs/development/mobile/maestro/default.nix
index 6b0ef4613e2a..2b7e22255e19 100644
--- a/nixpkgs/pkgs/development/mobile/maestro/default.nix
+++ b/nixpkgs/pkgs/development/mobile/maestro/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "maestro";
-  version = "1.35.0";
+  version = "1.36.0";
 
   src = fetchurl {
     url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
-    sha256 = "1rr3ihirga9jjw1n9z45hby6j68d0q11alzhqz4yv2ibvrjykzai";
+    sha256 = "18zffmqz32dfb66yy48z3dl258rlfc8m2r4021hbrbixvk7k3qb7";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/node-packages/overrides.nix b/nixpkgs/pkgs/development/node-packages/overrides.nix
index 502c204f1459..2e00bfeb5ed2 100644
--- a/nixpkgs/pkgs/development/node-packages/overrides.nix
+++ b/nixpkgs/pkgs/development/node-packages/overrides.nix
@@ -40,6 +40,14 @@ final: prev: {
     };
   };
 
+  bash-language-server = prev.bash-language-server.override {
+    nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
+    postInstall = ''
+      wrapProgram "$out/bin/bash-language-server" \
+        --prefix PATH : ${lib.makeBinPath [ pkgs.shellcheck ]}
+    '';
+  };
+
   bower2nix = prev.bower2nix.override {
     nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
     postInstall = ''
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
index a6aa522f7c84..371372579598 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk3/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator
+{ lib, fetchurl, fetchpatch, pkg-config, buildDunePackage, dune-configurator
 , gtk3, cairo2
 , camlp-streams
 }:
@@ -14,6 +14,13 @@ buildDunePackage rec {
     hash = "sha256-bxEVMzfnaH5yHVxAmifNYOy8GnSivLLgSE/9+1yxBI4=";
   };
 
+  # Fix build with clang 16
+  # See: https://github.com/garrigue/lablgtk/pull/175
+  patches = fetchpatch {
+    url = "https://github.com/garrigue/lablgtk/commit/a9b64b9ed8a13855c672cde0a2d9f78687f4214b.patch";
+    hash = "sha256-j/L+yYKLlj410jx2VG77hnn9SVHCcSzmr3wpOMZhX5w=";
+  };
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dune-configurator camlp-streams ];
   propagatedBuildInputs = [ gtk3 cairo2 ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index 7952f811e7be..c28a6fba9902 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-mlgmpidl";
-  version = "1.2.15";
+  version = "1.3.0";
   src = fetchFromGitHub {
     owner = "nberth";
     repo = "mlgmpidl";
     rev = version;
-    sha256 = "sha256-85wy5eVWb5qdaa2lLDcfqlUTIY7vnN3nGMdxoj5BslU=";
+    hash = "sha256-ZmSDKZiHko8MCeIuZL53HjupfwO6PAm8QOCc9O3xJOk=";
   };
 
   nativeBuildInputs = [ perl ocaml findlib camlidl ];
@@ -17,18 +17,11 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   prefixKey = "-prefix ";
-  configureFlags = [
-    "--gmp-prefix ${gmp.dev}"
-    "--mpfr-prefix ${mpfr.dev}"
-    "-disable-profiling"
-  ];
 
   postConfigure = ''
-    substituteInPlace Makefile --replace "/bin/rm" "rm"
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
   '';
 
-
   meta = {
     description = "OCaml interface to the GMP library";
     homepage = "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
index 19f821370415..a8178c6ef717 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
@@ -8,8 +8,9 @@
 , dot-merlin-reader
 , spawn
 , ocamlc-loc
-, odoc-parser
 , merlin-lib
+, astring
+, camlp-streams
 }:
 
 buildDunePackage rec {
@@ -21,7 +22,7 @@ buildDunePackage rec {
   ++ lib.optional (lib.versionAtLeast version "1.9") spawn
   ++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ]
   ++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc
-  ++ lib.optional (lib.versionAtLeast version "1.16.2") [ odoc-parser merlin-lib ];
+  ++ lib.optionals (lib.versionAtLeast version "1.17.0") [ astring camlp-streams merlin-lib ];
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index c6c35c703142..ec4986bb8876 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -9,7 +9,7 @@
 , ocaml
 , version ?
     if lib.versionAtLeast ocaml.version "4.14" then
-      "1.16.2"
+      "1.17.0"
     else if lib.versionAtLeast ocaml.version "4.13" then
       "1.10.5"
     else if lib.versionAtLeast ocaml.version "4.12" then
@@ -19,10 +19,10 @@
 }:
 
 let params = {
-  "1.16.2" = {
+  "1.17.0" = {
     name = "lsp";
     minimalOCamlVersion = "4.14";
-    sha256 = "sha256-FIfVpOLy1PAjNBBYVRvbi6hsIzZ7fFtP3aOqfcAqrsQ=";
+    sha256 = "sha256-j7i71xfu/SYItNg0WBBbZg4N46ETTcj8IWrmWdTRlgA=";
   };
   "1.14.2" = {
     name = "lsp";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
index 91d0d231e0bd..49a6db7a118e 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
@@ -24,7 +24,7 @@
 , ocaml
 , version ?
     if lib.versionAtLeast ocaml.version "4.14" then
-      "1.16.2"
+      "1.17.0"
     else if lib.versionAtLeast ocaml.version "4.13" then
       "1.10.5"
     else if lib.versionAtLeast ocaml.version "4.12" then
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocamlfuse/default.nix
index 27e16c6ad0fc..8607a2a50344 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocamlfuse/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocamlfuse/default.nix
@@ -2,15 +2,20 @@
 
 buildDunePackage rec {
   pname = "ocamlfuse";
-  version = "2.7.1_cvs8";
+  version = "2.7.1_cvs9";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "ocamlfuse";
     rev = "v${version}";
-    hash = "sha256-Cm9mdYzpKnYoNyAJvjJkiDBP/O4n1JiTkhXQO3w7+hA=";
+    hash = "sha256-cOObHUAYiI2mN1qjsxcK6kHAmawuaGQOUNHqWioIvjM=";
   };
 
+  postPatch = ''
+    substituteInPlace lib/Fuse_main.c \
+      --replace-warn "<fuse_lowlevel.h>" "<fuse/fuse_lowlevel.h>"
+  '';
+
   nativeBuildInputs = [ camlidl ];
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ camlidl fuse ];
diff --git a/nixpkgs/pkgs/development/php-packages/composer/default.nix b/nixpkgs/pkgs/development/php-packages/composer/default.nix
index 9cfc8683eca5..8a626f46181a 100644
--- a/nixpkgs/pkgs/development/php-packages/composer/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/composer/default.nix
@@ -1,4 +1,4 @@
-{ lib, callPackage, fetchFromGitHub, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
+{ lib, callPackage, fetchFromGitHub, fetchpatch, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
 
 php.buildComposerProject (finalAttrs: {
   # Hash used by ../../../build-support/php/pkgs/composer-phar.nix to
@@ -22,6 +22,18 @@ php.buildComposerProject (finalAttrs: {
     hash = "sha256-KsTZi7dSlQcAxoen9rpofbptVdLYhK+bZeDSXQY7o5M=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2024-24821.patch";
+      url = "https://github.com/composer/composer/commit/77e3982918bc1d886843dc3d5e575e7e871b27b7.patch";
+      hash = "sha256-Q7gkPLf59+p++DpfJZeOrAOiWePuGkdGYRaS/rK+Nv4=";
+      excludes = [
+        # Skipping test files, they are not included in the source tarball
+        "tests/*"
+      ];
+    })
+  ];
+
   nativeBuildInputs = [ makeBinaryWrapper ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
index bacb9b55ef5b..9a51d7ae6430 100644
--- a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
+++ b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix
@@ -2,16 +2,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "phpstan";
-  version = "1.10.57";
+  version = "1.10.58";
 
   src = fetchFromGitHub {
     owner = "phpstan";
     repo = "phpstan-src";
     rev = finalAttrs.version;
-    hash = "sha256-yl8mjhOAOZgB2FQuDpGu3A5K7K2aVXn2nkJgeua99EY=";
+    hash = "sha256-Dt2auiTM5T9jNF+ja/tTYctVOCVju+tYzHZS1g0sZIw=";
   };
 
-  vendorHash = "sha256-PNzvTGKdo/Npcehik7e/mAf/APFx4dXDOtkLDprzQSI=";
+  vendorHash = "sha256-Nqly5GnIarqLgr8/xoSbpU9cexc1QxKDDSGklQu13Ec=";
   composerStrictValidation = false;
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
index f9a7be69f561..f4b17bbd5df2 100644
--- a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
@@ -2,8 +2,6 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
-, pythonAtLeast
 , pythonOlder
 , pytestCheckHook
 , setuptools
@@ -13,6 +11,8 @@
 , pyyaml
 , safetensors
 , torch
+, config
+, cudatoolkit
 , evaluate
 , parameterized
 , transformers
@@ -52,6 +52,8 @@ buildPythonPackage rec {
   preCheck = ''
     export HOME=$(mktemp -d)
     export PATH=$out/bin:$PATH
+  '' + lib.optionalString config.cudaSupport ''
+    export TRITON_PTXAS_PATH="${cudatoolkit}/bin/ptxas"
   '';
   pytestFlagsArray = [ "tests" ];
   disabledTests = [
@@ -74,6 +76,9 @@ buildPythonPackage rec {
   ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
     # usual aarch64-linux RuntimeError: DataLoader worker (pid(s) <...>) exited unexpectedly
     "CheckpointTest"
+  ] ++ lib.optionals (!config.cudaSupport) [
+    # requires ptxas from cudatoolkit, which is unfree
+    "test_dynamo_extract_model"
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
     # RuntimeError: torch_shm_manager: execl failed: Permission denied
     "CheckpointTest"
diff --git a/nixpkgs/pkgs/development/python-modules/aetcd/default.nix b/nixpkgs/pkgs/development/python-modules/aetcd/default.nix
new file mode 100644
index 000000000000..8a2652450cd1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aetcd/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, grpcio
+, protobuf
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "aetcd";
+  version = "1.0.0a4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "martyanov";
+    repo = "aetcd";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-g49ppfh8dyGpZeu/HdTDX8RAk5VTcZmqENRpNY12qkg=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-fail "setuptools_scm==6.3.2" "setuptools_scm"
+    substituteInPlace setup.cfg \
+      --replace-fail "--cov=aetcd" ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    grpcio
+    protobuf
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aetcd"
+  ];
+
+  disabledTestPaths = [
+    # Tests require a running ectd instance
+    "tests/integration/"
+  ];
+
+  meta = with lib; {
+    description = "Python asyncio-based client for etcd";
+    homepage = "https://github.com/martyanov/aetcd";
+    changelog = "https://github.com/martyanov/aetcd/blob/v${version}/docs/changelog.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioautomower/default.nix b/nixpkgs/pkgs/development/python-modules/aioautomower/default.nix
new file mode 100644
index 000000000000..f6c86ac2900d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioautomower/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, mashumaro
+, poetry-core
+, pyjwt
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, syrupy
+}:
+
+buildPythonPackage rec {
+  pname = "aioautomower";
+  version = "2024.2.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "Thomas55555";
+    repo = "aioautomower";
+    rev = "refs/tags/${version}";
+    hash = "sha256-iYC2bYkO9INbSeny9gy/I0cDSYeyrJiD9MJddUFIlhg=";
+  };
+
+  postPatch = ''
+    # Upstream doesn't set a version
+    substituteInPlace pyproject.toml \
+      --replace-fail 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    mashumaro
+    pyjwt
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    syrupy
+  ];
+
+  pythonImportsCheck = [
+    "aioautomower"
+  ];
+
+  pytestFlagsArray = [
+    "--snapshot-update"
+  ];
+
+  meta = with lib; {
+    description = "Module to communicate with the Automower Connect API";
+    homepage = "https://github.com/Thomas55555/aioautomower";
+    changelog = "https://github.com/Thomas55555/aioautomower/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix b/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
index 72a722a2230f..ee041198e8d9 100644
--- a/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiodiscover/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "1.6.0";
+  version = "1.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,14 +24,9 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "aiodiscover";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FbOqTUSqxSPSCn5zA4s47+M6OsVsqvUBZxTFvJ5PoHs=";
+    hash = "sha256-M3tus0r58YVJyi/S7UWq+OvaKke3hqkHGuYkUxEpVxg=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace '"pytest-runner>=5.2",' ""
-  '';
-
   nativeBuildInputs = [
     setuptools
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioecowitt/default.nix b/nixpkgs/pkgs/development/python-modules/aioecowitt/default.nix
index 14146ef64d1f..b93333c2adb0 100644
--- a/nixpkgs/pkgs/development/python-modules/aioecowitt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioecowitt/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aioecowitt";
-  version = "2024.2.1";
+  version = "2024.2.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PBV5jk0oItelCDFZsk8et0raIGEWxOaNdHuAViQ6LZc=";
+    hash = "sha256-QfUawUtkNl2molropV8NSU7Kfm/D5/xuaPCjgm2TVOs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiogram/default.nix b/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
index e2da72982ca8..727cf4992810 100644
--- a/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
@@ -22,16 +22,16 @@
 
 buildPythonPackage rec {
   pname = "aiogram";
-  version = "3.3.0";
+  version = "3.4.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aiogram";
     repo = "aiogram";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TD4pDmM899zBOxllM0iju2u6IhmXxLYWBpjfWhewVFc=";
+    hash = "sha256-2of4KHdpAATOt0dCqI3AmTJtdeN5SdiWydeGjtagABI=";
   };
 
   nativeBuildInputs = [
@@ -66,7 +66,9 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "aiogram" ];
 
-  passthru.updateScript = gitUpdater { };
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "v";
+  };
 
   meta = with lib; {
     description = "Modern and fully asynchronous framework for Telegram Bot API";
diff --git a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
index 6f18127ed167..668274ff85df 100644
--- a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
@@ -1,13 +1,14 @@
 { lib
 , aiohttp
 , aioresponses
-, pydantic_1
+, pydantic
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
@@ -31,11 +32,16 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "pydantic"
   ];
 
   propagatedBuildInputs = [
     aiohttp
-    pydantic_1
+    pydantic
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiopegelonline/default.nix b/nixpkgs/pkgs/development/python-modules/aiopegelonline/default.nix
index b46746f50b85..cb280b01d2e4 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopegelonline/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopegelonline/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiopegelonline";
-  version = "0.0.8";
+  version = "0.0.9";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mib1185";
     repo = "aiopegelonline";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Z/3IF5AwiNB+h8wug+57OVdLpFxGoiUe2xG4euHT1Bw=";
+    hash = "sha256-/k0TR0oUYZigi/2xRVLPFAIMAmXoLnE0NRlvEZrWylo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiopvapi/default.nix b/nixpkgs/pkgs/development/python-modules/aiopvapi/default.nix
index 1a5689f3df43..d759a4db6a28 100644
--- a/nixpkgs/pkgs/development/python-modules/aiopvapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiopvapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiopvapi";
-  version = "3.0.1";
+  version = "3.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,15 +18,9 @@ buildPythonPackage rec {
     owner = "sander76";
     repo = "aio-powerview-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+jhfp8gLEmL8TGPPN7QY8lw1SkV4sMSDb4VSq2OJ6PU=";
+    hash = "sha256-NfSGu4M0NWfCDc37zRwUjYtZz5jOtw3pYgF6fIsB/Yo=";
   };
 
-  postPatch = ''
-    # https://github.com/sander76/aio-powerview-api/pull/31
-    substituteInPlace setup.py \
-      --replace '"asyncio", ' ""
-  '';
-
   nativeBuildInputs = [
     setuptools
   ];
@@ -43,16 +37,6 @@ buildPythonPackage rec {
     "aiopvapi"
   ];
 
-  disabledTestPaths = [
-    # https://github.com/sander76/aio-powerview-api/issues/32
-    "tests/test_shade.py"
-    "tests/test_scene.py"
-    "tests/test_room.py"
-    "tests/test_apiresource.py"
-    "tests/test_hub.py"
-    "tests/test_scene_members.py"
-  ];
-
   meta = with lib; {
     description = "Python API for the PowerView API";
     homepage = "https://github.com/sander76/aio-powerview-api";
diff --git a/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix b/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix
index 2da12df9edbc..ad0863280a06 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosqlite/default.nix
@@ -1,5 +1,4 @@
 { lib
-, aiounittest
 , buildPythonPackage
 , fetchFromGitHub
 , flit-core
@@ -26,7 +25,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    aiounittest
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/aiotankerkoenig/default.nix b/nixpkgs/pkgs/development/python-modules/aiotankerkoenig/default.nix
new file mode 100644
index 000000000000..5915fdd6beb1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiotankerkoenig/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, mashumaro
+, orjson
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, syrupy
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "aiotankerkoenig";
+  version = "0.4.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "jpbede";
+    repo = "aiotankerkoenig";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BB1Cy4Aji5m06LlNj03as4CWF8RcYKAYy4oxPomOP68=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "--cov" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    mashumaro
+    orjson
+    yarl
+  ];
+
+  nativeCheckInputs = [
+    aioresponses
+    pytest-asyncio
+    pytestCheckHook
+    syrupy
+  ];
+
+  pythonImportsCheck = [
+    "aiotankerkoenig"
+  ];
+
+  meta = with lib; {
+    description = "Python module for interacting with tankerkoenig.de";
+    homepage = "https://github.com/jpbede/aiotankerkoenig";
+    changelog = "https://github.com/jpbede/aiotankerkoenig/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index 886c0e4d4c1e..93010f174c7c 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "70";
+  version = "71";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "aiounifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yLqGqRWzuMqymGqGR1mA4oQb+tWt58lA7C/kXC5bYz8=";
+    hash = "sha256-KmxwCjmvDByCtsSQ+fQtdLS4ZDxtUaqc5zoOF9dsSq8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix b/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix
index 7b00bfb5b0de..e264710e0c47 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowebostv/default.nix
@@ -2,23 +2,28 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 , websockets
 }:
 
 buildPythonPackage rec {
   pname = "aiowebostv";
-  version = "0.3.3";
-  format = "setuptools";
+  version = "0.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
-    repo = pname;
+    repo = "aiowebostv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-djcfYpHkhXhjQwJzHP3mNflKrcP6Yj3/z62qeXg67ss=";
+    hash = "sha256-VUznW+rMCZF1LbrQmEaOgdcX3YCm6Tf7yWlB8KNrjxU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     websockets
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/anova-wifi/default.nix b/nixpkgs/pkgs/development/python-modules/anova-wifi/default.nix
index a94ef0e3d624..a7cd85ca8b9e 100644
--- a/nixpkgs/pkgs/development/python-modules/anova-wifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anova-wifi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "anova-wifi";
-  version = "0.11.6";
+  version = "0.11.7";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Lash-L";
     repo = "anova_wifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zRMs0GAsLgKt1R0SfRFPchjmk87K2d8vBeHJs66k9xc=";
+    hash = "sha256-G87lNPyFnMO0YWKtLv/RgSZ0j0exFro24erwYv87V90=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
index 4a9ff67c3cba..899fd02e9392 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible-runner/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "2.3.4";
+  version = "2.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eaG9E02BPI6jdAWZxv2WGhFCXOd1fy/XJc9W1qGnI2w=";
+    hash = "sha256-zZ3dV2WHDqPFRbbLR6qtXwTZowpijdP82082eijCIIU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/anywidget/default.nix b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
index 4d449bbe0303..d12798092413 100644
--- a/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "anywidget";
-  version = "0.9.0";
+  version = "0.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fV8yMQ6WGZyyf5c41B0MSwHusVx090SzukqX/WqbqG0=";
+    hash = "sha256-S6nB3Df17sD1Zrsp+1Di66FNeaVmE1rqt8hogjI/3I4=";
   };
 
   # We do not need the jupyterlab build dependency, because we do not need to
diff --git a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
index 6c49acf449cf..497d4a9aa4dd 100644
--- a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
@@ -54,7 +54,6 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    "test_docstrings"
     # Tests expects paths below ApprovalTests.Python directory
     "test_received_filename"
     "test_pytest_namer"
diff --git a/nixpkgs/pkgs/development/python-modules/argparse-manpage/default.nix b/nixpkgs/pkgs/development/python-modules/argparse-manpage/default.nix
new file mode 100644
index 000000000000..59a303e0237b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/argparse-manpage/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, packaging
+, tomli
+, pytestCheckHook
+, pip
+}:
+
+buildPythonPackage rec {
+  pname = "argparse-manpage";
+  version = "4.5";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "praiskup";
+    repo = "argparse-manpage";
+    rev = "v${version}";
+    hash = "sha256-9lriW+Yx/6ysoumloQglDm5JEcKNUWm422B3P6IE/EE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    packaging
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
+    tomli
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pip
+  ];
+
+  disabledTests = [
+    # TypeError: dist must be a Distribution instance
+    "test_old_example"
+    "test_old_example_file_name"
+  ];
+
+  pythonImportsCheck = [
+    "argparse_manpage"
+  ];
+
+  passthru.optional-dependencies = {
+    setuptools = [ setuptools ];
+  };
+
+  meta = with lib; {
+    description = "Automatically build man-pages for your Python project";
+    homepage = "https://github.com/praiskup/argparse-manpage";
+    changelog = "https://github.com/praiskup/argparse-manpage/blob/${src.rev}/NEWS";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nickcao ];
+    mainProgram = "argparse-manpage";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ariadne/default.nix b/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
index ecfb0c32bc46..65b65c8643ec 100644
--- a/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
@@ -1,32 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, hatchling
 , freezegun
 , graphql-core
+, hatchling
+, httpx
 , pytest-asyncio
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
-, snapshottest
+, python-multipart
 , starlette
+, syrupy
 , typing-extensions
 , werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "ariadne";
-  version = "0.21.0";
-  format = "pyproject";
+  version = "0.22.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mirumee";
-    repo = pname;
+    repo = "ariadne";
     rev = "refs/tags/${version}";
-    hash = "sha256-T5J0xAF33PDkC8sDOzHADpQJxwdXwKary0y/jaUJ9Fk=";
+    hash = "sha256-GMBtW2gZbF1m0BrKhYEkSaZYt5tIGmP/ipy6WC1H1pg=";
   };
+
   patches = [
     ./remove-opentracing.patch
   ];
@@ -43,10 +46,12 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
+    httpx
     pytest-asyncio
     pytest-mock
     pytestCheckHook
-    snapshottest
+    python-multipart
+    syrupy
     werkzeug
   ];
 
@@ -54,6 +59,10 @@ buildPythonPackage rec {
     "ariadne"
   ];
 
+  pytestFlagsArray = [
+    "--snapshot-update"
+  ];
+
   disabledTests = [
     # TypeError: TestClient.request() got an unexpected keyword argument 'content'
     "test_attempt_parse_request_missing_content_type_raises_bad_request_error"
diff --git a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
index 4d283d1d5ed8..fc4ee957d278 100644
--- a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.38.1";
+  version = "0.38.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = "refs/tags/${version}";
-    hash = "sha256-tYGJwmzyVTry3KIMv1JjoBsE6kNw7FJb1nq1+39bEdU=";
+    hash = "sha256-gPA9u1BuMswfg5Nll8l6vrcTP2s3Zn9ESTbV+dOxlhA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/autarco/default.nix b/nixpkgs/pkgs/development/python-modules/autarco/default.nix
index b5a8715f6ced..71cf0df61d77 100644
--- a/nixpkgs/pkgs/development/python-modules/autarco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autarco/default.nix
@@ -3,35 +3,33 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
+, mashumaro
+, orjson
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
+, syrupy
 , yarl
 }:
 
 buildPythonPackage rec {
   pname = "autarco";
-  version = "0.2.0";
-  format = "pyproject";
+  version = "0.3.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-autarco";
-    rev = "v${version}";
-    hash = "sha256-3f6N4b6WZPAUUQTuGeb20q0f7ZqDR+O24QRze5RpRlw=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-IBf6Dw2Yf7m+5bQ72K0kPxGdtpl8JowQ9IO3gWS3Vso=";
   };
 
-  patches = [
-    # https://github.com/klaasnicolaas/python-autarco/pull/265
-    (fetchpatch {
-      name = "remove-setuptools-dependency.patch";
-      url = "https://github.com/klaasnicolaas/python-autarco/commit/bf40e8a4f64cd9c9cf72930260895537ea5b2adc.patch";
-      hash = "sha256-Fgijy7sd67LUIqh3qjQjyothnjdW7Zcil/bQSuVsBR8=";
-    })
+  pythonRelaxDeps = [
+    "orjson"
   ];
 
   postPatch = ''
@@ -43,10 +41,13 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
     aiohttp
+    mashumaro
+    orjson
     yarl
   ];
 
@@ -56,6 +57,7 @@ buildPythonPackage rec {
     aresponses
     pytest-asyncio
     pytestCheckHook
+    syrupy
   ];
 
   pythonImportsCheck = [
@@ -65,6 +67,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for the Autarco Inverter";
     homepage = "https://github.com/klaasnicolaas/python-autarco";
+    changelog = "https://github.com/klaasnicolaas/python-autarco/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index 12e0a8803552..9fad12faaac4 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -29,8 +29,8 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
+    # don't try to use --cov or fail on new warnings
+    rm pytest.ini
   '';
 
   propagatedBuildInputs = [
@@ -49,14 +49,15 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  pythonImportsCheck = [
-    "samtranslator"
-  ];
-
   preCheck = ''
-    sed -i '2ienv =\n\tAWS_DEFAULT_REGION=us-east-1' pytest.ini
+    export AWS_DEFAULT_REGION=us-east-1
   '';
 
+  pytestFlagsArray = [
+    "tests"
+    ''-m "not slow"''
+  ];
+
   disabledTests = [
     # urllib3 2.0 compat
     "test_plugin_accepts_different_sar_client"
@@ -79,6 +80,10 @@ buildPythonPackage rec {
 
   __darwinAllowLocalNetworking = true;
 
+  pythonImportsCheck = [
+    "samtranslator"
+  ];
+
   meta = with lib; {
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
     homepage = "https://github.com/aws/serverless-application-model";
diff --git a/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix b/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
index 5907b74ba220..20da74babff2 100644
--- a/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awsiotpythonsdk/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
-  pname = "AWSIoTPythonSDK";
-  version = "1.5.2";
-  format = "setuptools";
+  pname = "awsiotpythonsdk";
+  version = "1.5.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -15,9 +16,13 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-iot-device-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GHMnDRxXkaKDTaawwPtMqa7EZJ8Y35+ScgtfEP9PJGs=";
+    hash = "sha256-TUNIWGal7NQy2qmHVTiw6eX4t/Yt3NnM3HHztBwMfoM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Module has no tests
   doCheck = false;
 
@@ -28,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python SDK for connecting to AWS IoT";
     homepage = "https://github.com/aws/aws-iot-device-sdk-python";
+    changelog = "https://github.com/aws/aws-iot-device-sdk-python/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix b/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
index c511f01d6dcf..189b8a9c6c27 100644
--- a/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
@@ -12,7 +12,7 @@
 
 let
   pname = "bitsandbytes";
-  version = "0.41.0";
+  version = "0.42.0";
 
   inherit (torch) cudaCapabilities cudaPackages cudaSupport;
   inherit (cudaPackages) backendStdenv cudaVersion;
@@ -43,15 +43,15 @@ let
 in
 buildPythonPackage {
   inherit pname version;
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "TimDettmers";
-    repo = pname;
+    repo = "bitsandbytes";
     rev = "refs/tags/${version}";
-    hash = "sha256-e6SK2ylITookO6bhpfdRp/V4y2S9rk6Lo1PD3xXrcmM=";
+    hash = "sha256-PZxsFJ6WpfeQqRQrRRBZfZfNY6/TfJFLBeknX24OXcU=";
   };
 
   postPatch = ''
@@ -73,8 +73,16 @@ buildPythonPackage {
   else
     ''make CUDA_VERSION=CPU cpuonly'';
 
-  nativeBuildInputs = [ setuptools wheel ] ++ lib.optionals torch.cudaSupport [ cuda-native-redist ];
-  buildInputs = lib.optionals torch.cudaSupport [ cuda-redist ];
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ] ++ lib.optionals torch.cudaSupport [
+    cuda-native-redist
+  ];
+
+  buildInputs = lib.optionals torch.cudaSupport [
+    cuda-redist
+  ];
 
   propagatedBuildInputs = [
     scipy
@@ -88,8 +96,9 @@ buildPythonPackage {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/TimDettmers/bitsandbytes";
     description = "8-bit CUDA functions for PyTorch";
+    homepage = "https://github.com/TimDettmers/bitsandbytes";
+    changelog = "https://github.com/TimDettmers/bitsandbytes/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index 38a1338ab65b..f3fda2ef3c8b 100644
--- a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "boschshcpy";
-  version = "0.2.88";
+  version = "0.2.90";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = "boschshcpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-tyx7VJGsU9YYNJQy1mly0AgwKULZ1BWeRzz1BDgXrUU=";
+    hash = "sha256-qI8fpQJ7fyZ6CX010cyPuoFj9UQM+jHOJ201GCjIwBU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
index 16ac2560c60a..f91a8dc12c87 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -365,14 +365,14 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.39";
+  version = "1.34.44";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ywCmGzid3oVaJllil8xm99ahgHUpi7iyA4GLOWOx0VM=";
+    hash = "sha256-FXLl1Ro/kpZE6qRQqTKYDPmgDjKbJjzgpTAtdEolVMM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
index 133114b9cd21..eddcaa308027 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.39";
+  version = "1.34.44";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-LK8KDVR97UkwZAjqlZ2Uq6Od2WC33hGdkGwoKdFJ7OY=";
+    hash = "sha256-O2LnO0Z2X0bSC8IU3k7md141miPmcbWKvSshGbgZThQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cachier/default.nix b/nixpkgs/pkgs/development/python-modules/cachier/default.nix
index 28159a16454c..0cfc20b73397 100644
--- a/nixpkgs/pkgs/development/python-modules/cachier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cachier/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "cachier";
-  version = "2.2.2";
+  version = "2.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "python-cachier";
     repo = "cachier";
     rev = "v${version}";
-    hash = "sha256-zUZqT4SIwZRqhRS/wHIzIYVULnp5aYcytCQd17T0D/4=";
+    hash = "sha256-pgDv0ApFgaNR0amqJNwkTSPlqczOClk9D1uVzZW1B7g=";
   };
 
   pythonRemoveDeps = [ "setuptools" ];
@@ -41,10 +41,10 @@ buildPythonPackage rec {
   ];
 
   preCheck = ''
-    substituteInPlace pytest.ini \
+    substituteInPlace pyproject.toml \
       --replace  \
-        "--cov" \
-        "#--cov"
+        '"--cov' \
+        '#"--cov'
   '';
 
   nativeCheckInputs = [
@@ -77,7 +77,6 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "cachier"
-    "cachier.scripts"
   ];
 
   meta = {
diff --git a/nixpkgs/pkgs/development/python-modules/cantools/default.nix b/nixpkgs/pkgs/development/python-modules/cantools/default.nix
index 05a52e2bca08..cb2b7f6fcce7 100644
--- a/nixpkgs/pkgs/development/python-modules/cantools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cantools/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "cantools";
-  version = "39.4.3";
+  version = "39.4.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eqo9JGvFMouynGgfyBYtKAC+Be4JWz7blHD6FHj55QY=";
+    hash = "sha256-bo6Ri2ZxpiqfOZBUbs5WI+Hetx3vsc74WplVrDAdqZ4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
index e1c1fed3bfdd..b417dba120f6 100644
--- a/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catalogue/default.nix
@@ -4,22 +4,27 @@
 , pytestCheckHook
 , pythonAtLeast
 , pythonOlder
+, setuptools
 , typing-extensions
 , zipp
 }:
 
 buildPythonPackage rec {
   pname = "catalogue";
-  version = "2.0.8";
-  format = "setuptools";
+  version = "2.0.10";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-syXHdlkgi/tq8bDZOxoapBEuG7KaTFztgWdYpyLw44g=";
+    hash = "sha256-T1baqUCRPT8J1YnBkcdOWm1Rdis6njfdU7dDev1s2hU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     typing-extensions
     zipp
diff --git a/nixpkgs/pkgs/development/python-modules/cepa/default.nix b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
index ef7850caf211..5e28aca3c642 100644
--- a/nixpkgs/pkgs/development/python-modules/cepa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
@@ -42,6 +42,6 @@ buildPythonPackage rec {
     description = "Controller library that allows applications to interact with Tor";
     homepage = "https://github.com/onionshare/cepa";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/certbot/default.nix b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
index 0689319840e6..8cda81ec6d30 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
@@ -27,18 +27,22 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "2.7.4";
-  format = "setuptools";
+  version = "2.9.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "certbot";
+    repo = "certbot";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BZ7JqAciwbmkpbzR/qZHAraLJWWXNRN3Er4XvfU5kYs=";
+    hash = "sha256-yYB9Y0wniRgzNk5XatkjKayIPj7ienXsqOboKPwzIfk=";
   };
 
   sourceRoot = "${src.name}/${pname}";
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     configargparse
     acme
@@ -48,12 +52,7 @@ buildPythonPackage rec {
     josepy
     parsedatetime
     pyrfc3339
-    pyopenssl
     pytz
-    requests
-    six
-    zope-component
-    zope-interface
     setuptools # for pkg_resources
   ];
 
@@ -67,13 +66,8 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "-o cache_dir=$(mktemp -d)"
-    # See https://github.com/certbot/certbot/issues/8746
-    "-W ignore::ResourceWarning"
-    "-W ignore::DeprecationWarning"
   ];
 
-  doCheck = true;
-
   makeWrapperArgs = [ "--prefix PATH : ${dialog}/bin" ];
 
   # certbot.withPlugins has a similar calling convention as python*.withPackages
@@ -92,9 +86,11 @@ buildPythonPackage rec {
     '';
 
   meta = with lib; {
-    homepage = src.meta.homepage;
+    homepage = "https://github.com/certbot/certbot";
+    changelog = "https://github.com/certbot/certbot/blob/${src.rev}/certbot/CHANGELOG.md";
     description = "ACME client that can obtain certs and extensibly update server configurations";
     platforms = platforms.unix;
+    mainProgram = "certbot";
     maintainers = with maintainers; [ domenkozar ];
     license = with licenses; [ asl20 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
index ea3bf5c530d3..33087975cf81 100644
--- a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "10.0.10";
+  version = "10.1.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python-grpc";
     rev = "refs/tags/${version}";
-    hash = "sha256-IcMnzfkq4eSXh2KsxSog64RQbJhXkEWjma6LNkzDX0Y=";
+    hash = "sha256-cYYAEen/RY5TG2jLxUS38Acehg/X8pni6T1zxhJAi1Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix b/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix
index 043627b0501e..49422099ad78 100644
--- a/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-default-group/default.nix
@@ -1,41 +1,45 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, fetchpatch
 , click
+, fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
+, flit-core
 }:
 
 buildPythonPackage rec {
   pname = "click-default-group";
-  version = "1.2.2";
-  format = "setuptools";
+  version = "1.2.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  # No tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = "click-default-group";
-    rev = "v${version}";
-    sha256 = "0nk39lmkn208w8kvq6f4h3a6qzxrrvxixahpips6ik3zflbkss86";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9Vk4LdgLDAWG2YCQPLKR6PIVnULmpOoe7RtS8DgWARo=";
   };
 
-  patches = [
-    # make tests compatible with click 8
-    (fetchpatch {
-      url = "https://github.com/click-contrib/click-default-group/commit/9415c77d05cf7d16876e7d70a49a41a6189983b4.patch";
-      sha256 = "1czzma8nmwyxhwhnr8rfw5bjw6d46b3s5r5bfb8ly3sjwqjlwhw2";
-    })
+  nativeBuildInputs = [
+    flit-core
   ];
 
-  propagatedBuildInputs = [ click ];
+  propagatedBuildInputs = [
+    click
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "click_default_group" ];
+  pythonImportsCheck = [
+    "click_default_group"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/click-contrib/click-default-group";
     description = "Group to invoke a command without explicit subcommand name";
+    homepage = "https://github.com/click-contrib/click-default-group";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jakewaksbaum ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
index dc8eafe6326f..738bd890874a 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "cloudflare";
-  version = "2.18.1";
+  version = "2.19.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dTD9HO26elFdfNMJxlyK1jKf4xWcz98/XrKI3EpUSsc=";
+    hash = "sha256-tV3I4zE/iD899k5jfB/RpNxy82Mv5m5pCEgBWVFRg9o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/coffea/default.nix b/nixpkgs/pkgs/development/python-modules/coffea/default.nix
index b990801ab564..633b2d2c9847 100644
--- a/nixpkgs/pkgs/development/python-modules/coffea/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coffea/default.nix
@@ -1,29 +1,30 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , hatchling
 , hatch-vcs
 , awkward
-, uproot
+, cachetools
+, cloudpickle
+, correctionlib
 , dask
 , dask-awkward
 , dask-histogram
-, correctionlib
-, pyarrow
-, fsspec
+, fsspec-xrootd
+, hist
+, lz4
 , matplotlib
+, mplhep
 , numba
 , numpy
-, scipy
-, tqdm
-, lz4
-, cloudpickle
-, toml
-, mplhep
 , packaging
 , pandas
-, hist
-, cachetools
+, pyarrow
+, scipy
+, toml
+, tqdm
+, uproot
 , distributed
 , pyinstrument
 , pytestCheckHook
@@ -31,19 +32,21 @@
 
 buildPythonPackage rec {
   pname = "coffea";
-  version = "2024.1.0";
+  version = "2024.2.1";
   pyproject = true;
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "CoffeaTeam";
     repo = "coffea";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jw8ACKXJZhj4fE7oppTxLUR4mhi+gh2ZD7lnUT3pcwc=";
+    hash = "sha256-TQ0aC2iFPWh24ce1WoVRluPvnwvBscLtFl8/wcW/Clg=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "numba>=0.58.1" "numba"
+      --replace-fail "numba>=0.58.1" "numba"
   '';
 
   nativeBuildInputs = [
@@ -53,28 +56,27 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     awkward
-    uproot
+    cachetools
+    cloudpickle
+    correctionlib
     dask
-    dask.optional-dependencies.array
     dask-awkward
     dask-histogram
-    correctionlib
-    pyarrow
-    fsspec
+    fsspec-xrootd
+    hist
+    lz4
     matplotlib
+    mplhep
     numba
     numpy
-    scipy
-    tqdm
-    lz4
-    cloudpickle
-    toml
-    mplhep
     packaging
     pandas
-    hist
-    cachetools
-  ];
+    pyarrow
+    scipy
+    toml
+    tqdm
+    uproot
+  ] ++ dask.optional-dependencies.array;
 
   nativeCheckInputs = [
     distributed
@@ -89,6 +91,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Basic tools and wrappers for enabling not-too-alien syntax when running columnar Collider HEP analysis";
     homepage = "https://github.com/CoffeaTeam/coffea";
+    changelog = "https://github.com/CoffeaTeam/coffea/releases/tag/v${version}";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ veprbl ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/cohere/default.nix b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
index 133721ca4d74..d6140a3f6d2c 100644
--- a/nixpkgs/pkgs/development/python-modules/cohere/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
@@ -14,25 +14,16 @@
 
 buildPythonPackage rec {
   pname = "cohere";
-  version = "4.37";
-  format = "pyproject";
+  version = "4.47";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eIAh2dmSxsMdGYXZXMyyd8cmWILErNekmz5H2ne0vsg=";
+    hash = "sha256-1okhIHnBpUW9SXsUPP96pWMoMfps9Bv3rMk7Sm7/uDk=";
   };
 
-  patches = [
-    # https://github.com/cohere-ai/cohere-python/pull/289
-    (fetchpatch {
-      name = "replace-poetry-with-poetry-core.patch";
-      url = "https://github.com/cohere-ai/cohere-python/commit/e86480336331c0cf6f67e26b0825467dfca5b277.patch";
-      hash = "sha256-P1Ioq5ypzT3tx6cxrI3ep34Fi4cUx88YkfJ5ErN3VHk=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
index 8c0a04f59cd2..5085489127ba 100644
--- a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "coinmetrics-api-client";
-  version = "2024.1.17.17";
+  version = "2024.2.6.16";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "coinmetrics_api_client";
-    hash = "sha256-mYA67oiWWvEdNU2MrjtOPyDW3LbxH/mgh+MOuZg2ljo=";
+    hash = "sha256-rCj8nG7iQFJKs3Mic2wRZKBqx9T0lCPH5Po8k0nLppg=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix b/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
index 7890eda6b465..85ee8bda114e 100644
--- a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
@@ -28,6 +28,6 @@ buildPythonPackage rec {
     description = "Python logging handler that allows multiple processes to safely write to the same log file concurrently";
     homepage = "https://pypi.org/project/concurrent-log-handler";
     license = licenses.asl20;
-    maintainers = [ maintainers.lourkeur ];
+    maintainers = [ maintainers.bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/connexion/default.nix b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
index 40a166c14be4..aa5b58570478 100644
--- a/nixpkgs/pkgs/development/python-modules/connexion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/connexion/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "3.0.5";
+  version = "3.0.6";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     owner = "spec-first";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VaHdUxZ72JCm9zFMSEg3EW1uwfn+IIYy3yrtW9qC6rA=";
+    hash = "sha256-0EaJwxT80qLqlrxYk4H7Pf/UKq2pA/8HGL8OiqNA/2s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/courlan/default.nix b/nixpkgs/pkgs/development/python-modules/courlan/default.nix
index d906f44c0f16..f6676d4b6896 100644
--- a/nixpkgs/pkgs/development/python-modules/courlan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/courlan/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "courlan";
-  version = "0.9.5";
+  version = "1.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ONw1suO/H11RbQDVGsEuveVD40F8a+b2oic8D8W1s1M=";
+    hash = "sha256-PDVRHDZSXLL5Qc1nCbejp0LtlfC55WyX7sDBb9wDUYM=";
   };
 
   propagatedBuildInputs = [
@@ -35,11 +35,12 @@ buildPythonPackage rec {
     "test_urlcheck"
   ];
 
-  # nixify path to the courlan binary in the test suite
+  # tests try to write to /tmp directly. use $TMPDIR instead.
   postPatch = ''
     substituteInPlace tests/unit_tests.py \
       --replace "\"courlan --help\"" "\"$out/bin/courlan --help\"" \
-      --replace "courlan_bin = \"courlan\"" "courlan_bin = \"$out/bin/courlan\""
+      --replace "courlan_bin = \"courlan\"" "courlan_bin = \"$out/bin/courlan\"" \
+      --replace "/tmp" "$TMPDIR"
   '';
 
   pythonImportsCheck = [ "courlan" ];
@@ -48,7 +49,7 @@ buildPythonPackage rec {
     description = "Clean, filter and sample URLs to optimize data collection";
     homepage = "https://github.com/adbar/courlan";
     changelog = "https://github.com/adbar/courlan/blob/v${version}/HISTORY.md";
-    license = licenses.gpl3Plus;
+    license = licenses.asl20;
     maintainers = with maintainers; [ jokatzke ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/crc/default.nix b/nixpkgs/pkgs/development/python-modules/crc/default.nix
index 6caabb97b6e5..2ff39e63981b 100644
--- a/nixpkgs/pkgs/development/python-modules/crc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crc/default.nix
@@ -8,16 +8,16 @@
 
 buildPythonPackage rec {
   pname = "crc";
-  version = "6.1.0";
-  format = "pyproject";
+  version = "6.1.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Nicoretti";
-    repo = pname;
+    repo = "crc";
     rev = "refs/tags/${version}";
-    hash = "sha256-NfJGiVxvFPlecDB72/Dfe0yafBH9dghGQh/TAnbPzOA=";
+    hash = "sha256-GlXDDG8NZ3Lp0IwYKS0+fZG85uVdo4V8mZnCa+za02U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datapoint/default.nix b/nixpkgs/pkgs/development/python-modules/datapoint/default.nix
index e93651be1625..9f9c0b55c235 100644
--- a/nixpkgs/pkgs/development/python-modules/datapoint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datapoint/default.nix
@@ -1,25 +1,42 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch2
 , appdirs
 , pytz
 , requests
 , pytestCheckHook
 , requests-mock
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "datapoint";
-  version = "0.9.8";
-  format = "setuptools";
+  version = "0.9.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "ejep";
     repo = "datapoint-python";
-    rev = "v${version}";
-    hash = "sha256-YC8KFTv6lnCqMfDw1LSova7XBgmKbR3TpPDAAbH9imw=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-zUvwfBwJe8SaB96/Jz7Qeanz1mHmLVp2JW9qkR2dRnY=";
   };
 
+  patches = [
+    (fetchpatch2 {
+      # Hardcode version (instead of using versioneer)
+      url = "https://github.com/EJEP/datapoint-python/commit/57e649b26ecf39fb11f507eb920b1d059d433721.patch";
+      hash = "sha256-trOPtwlaJDeA4Kau4fwZCxqJiw96+T/le461t09O8io=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     appdirs
     pytz
@@ -38,6 +55,7 @@ buildPythonPackage rec {
   meta = {
     description = "Python interface to the Met Office's Datapoint API";
     homepage = "https://github.com/ejep/datapoint-python";
+    changelog = "https://github.com/EJEP/datapoint-python/blob/v${version}/CHANGELOG.md";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ dotlambda ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/deebot-client/default.nix b/nixpkgs/pkgs/development/python-modules/deebot-client/default.nix
index f3fdbef18782..8cc5e35553f4 100644
--- a/nixpkgs/pkgs/development/python-modules/deebot-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deebot-client/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "deebot-client";
-  version = "5.1.1";
+  version = "5.2.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "DeebotUniverse";
     repo = "client.py";
     rev = "refs/tags/${version}";
-    hash = "sha256-axz31GboqaWAcBU8DtG700Se6rX7VV7eBrQBDazG+Ig=";
+    hash = "sha256-HNJYhc87wteDeadJLkXyC6Cr8/sd2eNPnw3TEOOAnH8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix b/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
index 3b812d671c9d..219ebf5143b5 100644
--- a/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deluge-client/default.nix
@@ -1,21 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "deluge-client";
-  version = "1.9.0";
-  format = "setuptools";
+  version = "1.10.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d2f12108a147d44590c8df63997fcb32f8b2fbc18f8cbb221f0136e2e372b85";
+    hash = "sha256-OIGu48Tgyp3YpWtxAEe4N+HQh6g+QhY2oHR3H5Kp8bU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # it will try to connect to a running instance
   doCheck = false;
 
+  pythonImportsCheck = [
+    "deluge_client"
+  ];
+
   meta = with lib; {
     description = "Lightweight pure-python rpc client for deluge";
     homepage = "https://github.com/JohnDoee/deluge-client";
+    changelog = "https://github.com/JohnDoee/deluge-client/blob/${version}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
index 8d4a71e89098..877322259c42 100644
--- a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
@@ -5,24 +5,26 @@
 , packaging
 , poetry-core
 , pydantic
+, pythonRelaxDepsHook
 , redis
 , structlog
 }:
 
 buildPythonPackage rec {
   pname = "diffsync";
-  version = "1.10.0";
+  version = "2.0.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "networktocode";
     repo = "diffsync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-p7aML6dTDkF4hx67bwI29nhEHi7LIEZ5RlHPgtyQMbo=";
+    hash = "sha256-4LS18FPrnGE1tM0pFzAw0+ajDaw9g7MCgIwS2ptrX9c=";
   };
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -33,6 +35,10 @@ buildPythonPackage rec {
     structlog
   ];
 
+  pythonRelaxDeps = [
+    "structlog"
+  ];
+
   pythonImportsCheck = [
     "diffsync"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/diffusers/default.nix b/nixpkgs/pkgs/development/python-modules/diffusers/default.nix
index 2150fdabe66e..8f80c3ed6e55 100644
--- a/nixpkgs/pkgs/development/python-modules/diffusers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diffusers/default.nix
@@ -39,7 +39,7 @@
 
 buildPythonPackage rec {
   pname = "diffusers";
-  version = "0.25.1";
+  version = "0.26.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "diffusers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AvD/kiwKGojsLlJ0n/U6tTu7ON8Ujl0lZd1e/fDY+CM=";
+    hash = "sha256-mIwB4Fk5m6GUbiOXaZqY18eLLXkocL/GqCfHQbLgrJk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix b/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
index 89f998c058b9..12a229ce9da8 100644
--- a/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
@@ -19,24 +19,16 @@
 
 buildPythonPackage rec {
   pname = "django-pattern-library";
-  version = "1.1.0";
-  format = "pyproject";
+  version = "1.2.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "torchbox";
     repo = "django-pattern-library";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9uuLYwG0/NYGouncuaN8S+3CBABSxSOkcrP59p5v84U=";
+    hash = "sha256-hrdJYVioY6y9D29DuKPMZjdWj92GcbHXANWiEHadimI=";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/torchbox/django-pattern-library/pull/232
-      url = "https://github.com/torchbox/django-pattern-library/commit/e7a9a8928a885941391fb584eba81578a292ee7d.patch";
-      hash = "sha256-3uUoxdVYEiF+to88qZRhOkh1++RfmsqCzO9JNMDqz6g=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/docstr-coverage/default.nix b/nixpkgs/pkgs/development/python-modules/docstr-coverage/default.nix
new file mode 100644
index 000000000000..2c3289c0f393
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/docstr-coverage/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, click
+, pyyaml
+, tqdm
+, pytestCheckHook
+, pytest-mock
+}:
+let
+  version = "2.3.0";
+in
+buildPythonPackage {
+  pname = "docstr-coverage";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "HunterMcGushion";
+    repo = "docstr_coverage";
+    rev = "v${version}";
+    hash = "sha256-eYHhE5zs3hYzK3aAimF0Gx/Kyk1Ot1F/lKf1poR2er0=";
+  };
+
+  propagatedBuildInputs = [ click pyyaml tqdm ];
+
+  nativeCheckInputs = [ pytestCheckHook pytest-mock ];
+
+  disabledTests = [
+    # AssertionError: assert 'docstr_coverage' in '/build/source/tests'
+    "test_set_config_defaults_with_ignore_patterns"
+  ];
+
+  meta = with lib; {
+    description = "Docstring coverage analysis and rating for Python";
+    homepage = "https://github.com/HunterMcGushion/docstr_coverage";
+    changelog = "https://github.com/HunterMcGushion/docstr_coverage/blob/master/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ augustebaum ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix b/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
index eaca75178474..f55442b2f584 100644
--- a/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/editorconfig/default.nix
@@ -1,35 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , cmake
 }:
 
-let
-  tests = fetchFromGitHub {
-    owner = "editorconfig";
-    repo = "editorconfig-core-test";
-    rev = "e407c1592df0f8e91664835324dea85146f20189";
-    hash = "sha256-9WSEkMJOewPqJjB6f7J6Ir0L+U712hkaN+GszjnGw7c=";
-  };
-in
 buildPythonPackage rec {
   pname = "editorconfig";
-  version = "0.12.3";
-  format = "setuptools";
+  version = "0.12.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "editorconfig";
     repo = "editorconfig-core-py";
     rev = "v${version}";
-    hash = "sha256-ZwoTMgk18+BpPNtXKQUMXGcl2Lp+1RQVyPHgk6gHWh8=";
-    # workaround until https://github.com/editorconfig/editorconfig-core-py/pull/40 is merged
-    # fetchSubmodules = true;
+    hash = "sha256-+m674bLj6xs7MWU+8BMixEwy7/TjyES0lvCLLogTDHQ=";
+    fetchSubmodules = true;
   };
 
-  postUnpack = ''
-    cp -r ${tests}/* source/tests
-    chmod +w -R source/tests
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   nativeCheckInputs = [
     cmake
@@ -38,9 +29,12 @@ buildPythonPackage rec {
   dontUseCmakeConfigure = true;
 
   checkPhase = ''
+    runHook preCheck
+
     cmake .
-    # utf_8_char fails with Python 3
-    ctest -E "utf_8_char" .
+    ctest .
+
+    runHook postCheck
   '';
 
   pythonImportsCheck = [ "editorconfig" ];
diff --git a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
index cdfb91d72042..577fddc3087b 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.21.2";
+  version = "0.21.3";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xJ5OuQXvccgEjzuMqa75+mv3MipgdsiHc9yjrZYoCow=";
+    hash = "sha256-tyDRHw3c5Kn9IXm5K7Qpn1xfmu5c3pb9D1mpeqo6SHg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
index b9efe304226f..79389d56fc70 100644
--- a/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elementpath/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "elementpath";
-  version = "4.1.5";
-  format = "setuptools";
+  version = "4.3.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -15,9 +16,13 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5K2xcnTo3/A6/pCxQn5qZqni7C64p/yNAWWJlhQeKe4=";
+    hash = "sha256-DE8XAZwYzbYaTJoBNqHR0x4Wigmke+/zgj562X391qM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # avoid circular dependency with xmlschema which directly depends on this
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/envs/default.nix b/nixpkgs/pkgs/development/python-modules/envs/default.nix
index 307c7dfaa614..ce1a07dda3f2 100644
--- a/nixpkgs/pkgs/development/python-modules/envs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/envs/default.nix
@@ -4,7 +4,7 @@
 , fetchPypi
 , jinja2
 , mock
-, nose
+, pynose
 , poetry-core
 , pythonOlder
 , terminaltables
@@ -13,7 +13,7 @@
 buildPythonPackage rec {
   pname = "envs";
   version = "1.4";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -34,7 +34,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     mock
-    nose
+    pynose
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/essentials-openapi/default.nix b/nixpkgs/pkgs/development/python-modules/essentials-openapi/default.nix
new file mode 100644
index 000000000000..52824049c6c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/essentials-openapi/default.nix
@@ -0,0 +1,65 @@
+{
+  buildPythonPackage,
+  fetchFromGitHub,
+  lib,
+  click,
+  essentials,
+  flask,
+  hatchling,
+  httpx,
+  jinja2,
+  markupsafe,
+  pydantic,
+  pytestCheckHook,
+  pythonImportsCheckHook,
+  pyyaml,
+  rich,
+  setuptools
+}:
+buildPythonPackage rec {
+  pname = "essentials-openapi";
+  version = "1.0.7";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Neoteroi";
+    repo = "essentials-openapi";
+    rev = "v${version}";
+    hash = "sha256-j0vEMNXZ9TrcFx8iIyTFQIwF49LEincLmnAt+qodYmA=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    flask
+    httpx
+    pydantic
+    pytestCheckHook
+    rich
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
+    essentials
+    markupsafe
+  ];
+
+  passthru.optional-dependencies = {
+    full = [ click jinja2 rich httpx ];
+  };
+
+  pythonImportsCheck = [
+    "openapidocs"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Neoteroi/essentials-openapi";
+    description = "Functions to handle OpenAPI Documentation";
+    changelog = "https://github.com/Neoteroi/essentials-openapi/releases/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [aldoborrero zimbatm];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/essentials/default.nix b/nixpkgs/pkgs/development/python-modules/essentials/default.nix
new file mode 100644
index 000000000000..69a494a0eb5d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/essentials/default.nix
@@ -0,0 +1,38 @@
+{
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  pytestCheckHook,
+  pythonImportsCheckHook,
+  lib,
+}:
+buildPythonPackage rec {
+  pname = "essentials";
+  version = "1.1.5";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Neoteroi";
+    repo = "essentials";
+    rev = "v${version}";
+    hash = "sha256-WMHjBVkeSoQ4Naj1U7Bg9j2hcoErH1dx00BPKiom9T4=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "essentials"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Neoteroi/essentials";
+    description = "General purpose classes and functions";
+    changelog = "https://github.com/Neoteroi/essentials/releases/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [aldoborrero zimbatm];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
index b39241bc9058..a63c257fc680 100644
--- a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
@@ -6,19 +6,19 @@
 , lupa
 , poetry-core
 , pybloom-live
+, pyprobables
 , pytest-asyncio
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
 , redis
-, six
 , sortedcontainers
 }:
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "2.20.1";
-  format = "pyproject";
+  version = "2.21.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TmgHAskR5MF/lzF0NHgXKecLsSCoc7xsm7gRgupm0Ws=";
+    hash = "sha256-2+ZZTWhUb6rj7oWPnDP0PJUHj0CJpOD8iZxmtO4xSbo=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     redis
-    six
     sortedcontainers
   ];
 
@@ -54,7 +53,13 @@ buildPythonPackage rec {
       aioredis
     ];
     bf = [
-      pybloom-live
+      pyprobables
+    ];
+    cf = [
+      pyprobables
+    ];
+    probabilistic = [
+      pyprobables
     ];
   };
 
@@ -66,7 +71,7 @@ buildPythonPackage rec {
     description = "Fake implementation of Redis API";
     homepage = "https://github.com/dsoftwareinc/fakeredis-py";
     changelog = "https://github.com/cunla/fakeredis-py/releases/tag/v${version}";
-    license = with licenses; [ mit ];
+    license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi-sso/default.nix b/nixpkgs/pkgs/development/python-modules/fastapi-sso/default.nix
new file mode 100644
index 000000000000..e74cfcd72999
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/fastapi-sso/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, email-validator
+, fastapi
+, fetchFromGitHub
+, httpx
+, oauthlib
+, poetry-core
+, pydantic
+, pylint
+, pytest-asyncio
+, pytest-xdist
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "fastapi-sso";
+  version = "0.11.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "tomasvotava";
+    repo = "fastapi-sso";
+    rev = "refs/tags/${version}";
+    hash = "sha256-bz4rr7h90d/QkBBqQN1pLF8ANhOiq2v0Vv2pjBGpeTs=";
+  };
+
+  postPatch = ''
+    sed -i "/--cov/d" pyproject.toml
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    fastapi
+    httpx
+    oauthlib
+    pydantic
+    pylint
+  ];
+
+  nativeCheckInputs = [
+    email-validator
+    pytest-asyncio
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "fastapi_sso"
+  ];
+
+  meta = with lib; {
+    description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account";
+    homepage = "https://github.com/tomasvotava/fastapi-sso";
+    changelog = "https://github.com/tomasvotava/fastapi-sso/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fastembed/default.nix b/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
index 65536d16151b..0302770761ed 100644
--- a/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
@@ -1,8 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, huggingface-hub
 , pythonOlder
+, pythonRelaxDepsHook
 , poetry-core
+, onnx
 , onnxruntime
 , requests
 , tokenizers
@@ -13,7 +16,7 @@
 buildPythonPackage rec {
   pname = "fastembed";
   version = "0.1.2";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -26,16 +29,25 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
+    huggingface-hub
+    onnx
     onnxruntime
     requests
     tokenizers
     tqdm
   ];
 
-  pythonImportsCheck = [ "fastembed" ];
+  pythonImportsCheck = [
+    "fastembed"
+  ];
+
+  pythonRelaxDeps = [
+    "huggingface-hub"
+  ];
 
   nativeCheckInputs = [
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix b/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix
index c3b0c6078f42..8e00a4678ebf 100644
--- a/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 , pytestCheckHook
 , go
 , ffmpeg-headless
@@ -9,8 +10,8 @@
 
 buildPythonPackage rec {
   pname = "ffmpy";
-  version = "0.3.1";
-  format = "setuptools";
+  version = "0.3.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +19,7 @@ buildPythonPackage rec {
     owner = "Ch00k";
     repo = "ffmpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-kuLhmCG80BmXdqpW67UanBnuYiL2Oh1jKt7IgmVNEAM=";
+    hash = "sha256-q41JjAWcIiD2nJck5Zzb/lhfIZ3xJGU1I2crsMN0T8Q=";
   };
 
   postPatch = ''
@@ -34,6 +35,10 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "ffmpy" ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
     go
diff --git a/nixpkgs/pkgs/development/python-modules/fpyutils/default.nix b/nixpkgs/pkgs/development/python-modules/fpyutils/default.nix
index 3ad71f9a2617..a81067e1ffb3 100644
--- a/nixpkgs/pkgs/development/python-modules/fpyutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fpyutils/default.nix
@@ -5,22 +5,27 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "fpyutils";
-  version = "3.0.1";
-  format = "setuptools";
+  version = "4.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "frnmst";
-    repo = pname;
+    repo = "fpyutils";
     rev = "refs/tags/${version}";
-    hash = "sha256-cmCD8uKPX/7Ak6jAqzCvDqR1FgH09GaLfLTZdBQB+bs=";
+    hash = "sha256-VVR1zsejO6kHlMjqqlftDKu3/SyDzgPov9f48HYL/Bk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     atomicwrites
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/frigidaire/default.nix b/nixpkgs/pkgs/development/python-modules/frigidaire/default.nix
index d8ddff87463b..e33581ed0ac5 100644
--- a/nixpkgs/pkgs/development/python-modules/frigidaire/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/frigidaire/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "frigidaire";
-  version = "0.18.15";
+  version = "0.18.16";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bm1549";
     repo = "frigidaire";
     rev = "refs/tags/${version}";
-    hash = "sha256-5+epdQyeTGJp8iTrX6vyp4JgM45Fl5cb67Z8trNBe+8=";
+    hash = "sha256-PQrQM9AuudDmmsmMcZJjBm+rLA/juDgr3+SORuVurqQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fschat/default.nix b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
index 1d99fcd3e4cc..5f9c4b3532b4 100644
--- a/nixpkgs/pkgs/development/python-modules/fschat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
@@ -29,7 +29,7 @@
 , protobuf
 }:
 let
-  version = "0.2.34";
+  version = "0.2.36";
 in
 buildPythonPackage {
   pname = "fschat";
@@ -40,7 +40,7 @@ buildPythonPackage {
     owner = "lm-sys";
     repo = "FastChat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4dnKrLQYkd2uQh2K2yaQ7EgrkgX8bO4QXfjIOqpzCE8=";
+    hash = "sha256-tQuvQXzQbQjU16DfS1o55VHW6eklngEvIigzZGgrKB8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fsspec-xrootd/default.nix b/nixpkgs/pkgs/development/python-modules/fsspec-xrootd/default.nix
new file mode 100644
index 000000000000..f601c9b86ce2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/fsspec-xrootd/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, setuptools-scm
+, fsspec
+, xrootd
+, pkgs
+, pytestCheckHook
+, stdenv
+}:
+
+buildPythonPackage rec {
+  pname = "fsspec-xrootd";
+  version = "0.2.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "CoffeaTeam";
+    repo = "fsspec-xrootd";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-8TT+49SF/3i2OMIDcDD0AXEn0J9UkNX2q/SBkfoMXso=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    fsspec
+    xrootd
+  ];
+
+  pythonImportsCheck = [
+    "fsspec_xrootd"
+  ];
+
+  nativeCheckInputs = [
+    pkgs.xrootd
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Fails (on aarch64-linux) as it runs sleep, touch, stat and makes assumptions about the
+    # scheduler and the filesystem.
+    "test_touch_modified"
+  ];
+
+  # Timeout related tests hang indifinetely
+  disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
+    "tests/test_basicio.py"
+  ];
+
+  meta = with lib; {
+    description = "An XRootD implementation for fsspec";
+    homepage = "https://github.com/CoffeaTeam/fsspec-xrootd";
+    changelog = "https://github.com/CoffeaTeam/fsspec-xrootd/releases/tag/v${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
index ff74cbd6c9b0..fb024e18c4f6 100644
--- a/nixpkgs/pkgs/development/python-modules/furo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2023.9.10";
+  version = "2024.1.29";
   format = "wheel";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-UTCSU4U33FxZZpHaBuPDcHFOyZvEOGgO3B3r/7c+W/w=";
+    hash = "sha256-NUi+LO9Foy+M3AJy1BX8s+X6ag603f4h3z7PH+RaE88=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fx2/default.nix b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
index f89334f8f60e..6991c3f4ab1b 100644
--- a/nixpkgs/pkgs/development/python-modules/fx2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fx2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "fx2";
-  version = "unstable-2023-09-20";
+  version = "0.13";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "whitequark";
     repo = "libfx2";
-    rev = "73fa811818d56a86b82c12e07327946aeddd2b3e";
-    hash = "sha256-AGQPOVTdaUCUeVVNQTBmoNvz5CGxcBOK7+oL+X8AcIw=";
+    rev = "v${version}";
+    hash = "sha256-PtWxjT+97+EeNMN36zOT1+ost/w3lRRkaON3Cl3dpp4=";
   };
 
   nativeBuildInputs = [ sdcc ];
diff --git a/nixpkgs/pkgs/development/python-modules/gerbonara/default.nix b/nixpkgs/pkgs/development/python-modules/gerbonara/default.nix
new file mode 100644
index 000000000000..2e79e8aa3d43
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gerbonara/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytest
+, click
+, numpy
+, scipy
+, rtree
+}:
+
+buildPythonPackage rec {
+  pname = "gerbonara";
+  version = "1.2.0";
+  src = fetchFromGitHub {
+    owner = "jaseg";
+    repo = "gerbonara";
+    rev = "v${version}";
+    hash = "sha256-VU4Of90YUPoLuiUpIDwSUfxQOoKChNbZE0klHkHEmaY=";
+  };
+
+  format = "setuptools";
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    click
+    numpy
+    scipy
+    rtree
+  ];
+
+  preConfigure = ''
+    # setup.py tries to execute a call to git in a subprocess, this avoids it.
+    substituteInPlace setup.py \
+      --replace "version=version()," \
+                "version='${version}',"
+  '';
+
+  pythonImportsCheck = [ "gerbonara" ];
+
+  # Test environment is exceptionally tricky to get set up, so skip for now.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Pythonic library for reading/modifying/writing Gerber/Excellon/IPC-356 files";
+    homepage = "https://github.com/jaseg/gerbonara";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ wulfsta ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/goodwe/default.nix b/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
index 0acb958de47a..26387b876018 100644
--- a/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/goodwe/default.nix
@@ -8,22 +8,22 @@
 
 buildPythonPackage rec {
   pname = "goodwe";
-  version = "0.3.0";
-  format = "pyproject";
+  version = "0.3.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "marcelblijleven";
-    repo = pname;
+    repo = "goodwe";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5wUGbXAmpdHHgM3HLCKPauIkbp4GDqky3I5T2hN3Pvk=";
+    hash = "sha256-6KCIfCyViiBU/cez9m34FMPkTUTkmEYc/e/xYqOyJLY=";
   };
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "'marcelblijleven@gmail.com" "marcelblijleven@gmail.com" \
-      --replace "version: file: VERSION" "version = ${version}"
+      --replace-fail "'marcelblijleven@gmail.com" "marcelblijleven@gmail.com" \
+      --replace-fail "version: file: VERSION" "version = ${version}"
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 2a24f4c04b03..5894c2080ffb 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -33,7 +33,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [
+  disabledTests = [
+    # Flaky test. See https://github.com/NixOS/nixpkgs/issues/288424#issuecomment-1941609973.
+    "test_run_local_server_occupied_port"
+  ] ++ lib.optionals stdenv.isDarwin [
     # This test fails if the hostname is not associated with an IP (e.g., in `/etc/hosts`).
     "test_run_local_server_bind_addr"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
index 1e37e3a9552d..409cfc2bc4a4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
@@ -4,20 +4,25 @@
 , google-api-core
 , pythonOlder
 , protobuf
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-access-context-manager";
-  version = "0.1.16";
-  format = "setuptools";
+  version = "0.2.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+L5Rre6LHpSlc+yzdQpMLSvURLHd412apDes5zwzdgc=";
+    hash = "sha256-pbQkMSwISwK2+Ywev7avKBMvwB5dcZgX+kmeeMh+BLc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     protobuf
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
index 2768a79005a8..0cb6f8350dd4 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.12.0";
+  version = "2.13.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IvemHgS0qbA9UE7y22aD30YqAy2lP+P7ssNvUlB0q7U=";
+    hash = "sha256-AhZ5KdSpxJS8jHfwJfLztMtyGZOnCwhb/lalrPZ9jog=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index c975700ce1ef..50346213b253 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.14.0";
+  version = "3.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DZDp/aRhIe2bBcn8BVA8jwmDaUrbHAMMRG0LixuvGl0=";
+    hash = "sha256-v9gBSb9TYvaqF1/g7dJshSkJ2RlCAWXGdf7yPlne0I4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
index 2f58338113a9..ffe81f753aa7 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-compute";
-  version = "1.15.0";
+  version = "1.16.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+mda6vBMYnpELNMDIZbW82rWhEO6MnyXZ6a/vECkKyE=";
+    hash = "sha256-P/A08nd3ZP4GsySd3Q6TM+kuXRabcnnI1aFd+svMz5E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 4fe3dddd3001..90e28d3e65a1 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -9,20 +9,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.13.0";
-  format = "setuptools";
+  version = "3.15.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mFqptqEvHQAKNevzawDOfQsH0SCn9EanJ2js4vIpCGo=";
+    hash = "sha256-kZjw+TBXVX5O/OufGN/Y/J0NDX30RiqFqwndnGkUjBE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
index aac30f35757d..1a3c2c96b44f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-iam-logging/default.nix
@@ -9,20 +9,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-iam-logging";
-  version = "1.3.0";
-  format = "setuptools";
+  version = "1.3.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oLqRmxNPbb+nUMN70kGlAtBCji4wXrbRv2DhNMcZV5c=";
+    hash = "sha256-4O62hAl6uRz74up/AIwq22VSDQDlTwmm8ywKAik4QrQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     grpc-google-iam-v1
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
index e04591791d3c..66b032e856c3 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -7,20 +7,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.12.0";
-  format = "setuptools";
+  version = "2.13.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-efuO/hWDM+aMBXR+nqhrWYsvQpoS83FJ2DrG+hhFlio=";
+    hash = "sha256-8ZU9aJPTXNQ9CLK1UgwWWnAOSt584lyiKEAXiQsOWhU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 47e0373d65df..c9be11ab058f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.19.1";
+  version = "2.19.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wQ2V66+QP5I7FKqOxbfICRYTjt8pnGWhwalDH9VmXSU=";
+    hash = "sha256-pfkoBZjwxKWBm7YwpQxF3IrNoMlK/srgoYNovMv6JlE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index 6901c9dc3107..32304fad221f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -8,20 +8,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.18.0";
-  format = "setuptools";
+  version = "2.18.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Tkmb0z/3rv8nG9Z0h+IdVAQpeobcSHPuhh1jewGzC04=";
+    hash = "sha256-MQVV88jLl39KRtRFTsosg/7WoJ88SzW4T2+h+P71UCQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     grpc-google-iam-v1
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
index a4f2ab9ae4b3..016b569492bf 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.24.0";
+  version = "2.24.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Z7x4xfCbeRPoCbinCrTwIAp9JIvfavFvA1c4/a5UbHQ=";
+    hash = "sha256-aPW5m1cZNXpbiWCUQs104QH+/rVueanW0yE5TCdgWoQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
index 42ffe46a97b7..525af0451f1c 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "2.13.0";
+  version = "2.14.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9i3Ex7bNQ2DQcuPesoA1+9rUkaw9mwsYFaEtrqEPN8c=";
+    hash = "sha256-LSP89ZtV57RTNnKcFIuxxGRGjGnV77ruMPcgHdkOuX4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index e8ac6fa628f5..b020e1201fcd 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -9,20 +9,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.13.0";
-  format = "setuptools";
+  version = "2.13.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ODRF08xxjUrj6PMzfTlcYLqGrgV71OA0VHT44ktQZ4k=";
+    hash = "sha256-nZQVoV6ciXHZfbr26U4PKFU/sHJPoZNB5j7covnE9aw=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
index 071543ae3caf..ea56c08b3057 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "3.6.0";
+  version = "3.7.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uaaL/CbR4RM4YFU0xd/naGn3xSiLuRqI0/qyZNLKJ3Q=";
+    hash = "sha256-uHIhWpihTxcV28zv3OZrGf4mj26aBaR2isycRMtMeNM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/govee-local-api/default.nix b/nixpkgs/pkgs/development/python-modules/govee-local-api/default.nix
new file mode 100644
index 000000000000..03501fa0cbcf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/govee-local-api/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, poetry-dynamic-versioning
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "govee-local-api";
+  version = "1.4.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "Galorhallen";
+    repo = "govee-local-api";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-J4SG4n6LIZ/G6pEXAzliV7uTWzqsH7rtFe3Y7BJ2dWE=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "govee_local_api"
+  ];
+
+  meta = with lib; {
+    description = "";
+    homepage = "https://github.com/Galorhallen/govee-local-api";
+    changelog = "https://github.com/Galorhallen/govee-local-api/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gpaw/default.nix b/nixpkgs/pkgs/development/python-modules/gpaw/default.nix
index be43eb55857d..37b12c6f5ed4 100644
--- a/nixpkgs/pkgs/development/python-modules/gpaw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpaw/default.nix
@@ -29,8 +29,8 @@ let
     text = ''
       # Compiler
       compiler = 'gcc'
-      mpicompiler = '${mpi}/bin/mpicc'
-      mpilinker = '${mpi}/bin/mpicc'
+      mpicompiler = '${lib.getDev mpi}/bin/mpicc'
+      mpilinker = '${lib.getDev mpi}/bin/mpicc'
 
       # BLAS
       libraries += ['blas']
diff --git a/nixpkgs/pkgs/development/python-modules/gradio-pdf/default.nix b/nixpkgs/pkgs/development/python-modules/gradio-pdf/default.nix
index f1758be6a76f..a029f427ca2e 100644
--- a/nixpkgs/pkgs/development/python-modules/gradio-pdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradio-pdf/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "gradio-pdf";
-  version = "0.0.4";
+  version = "0.0.5";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "gradio_pdf";
     inherit version;
-    hash = "sha256-lyZd8tH3SaTmE/7ooNaQJUYZRvjSOLx3+doWTCTXk9U=";
+    hash = "sha256-yHISYpkZ5YgUBxCfu2rw3R+g9t4h1WogXXCuBiV92Vk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
index 3b6e9f6f0f23..aa206825e7f6 100644
--- a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "greeneye-monitor";
-  version = "5.0.1";
+  version = "5.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jkeljo";
     repo = "greeneye-monitor";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zNGizNOuZuPRdz82y8IaVvwrTos4lZSqTP5FwOlnRao=";
+    hash = "sha256-7EDuQ+wECcTzxkEufMpg3WSzosWeiwfxcVIVtQi+0BI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grip/default.nix b/nixpkgs/pkgs/development/python-modules/grip/default.nix
index 0236886af98d..37319e1ede7b 100644
--- a/nixpkgs/pkgs/development/python-modules/grip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grip/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 # Python bits:
 , buildPythonPackage
 , pytest
@@ -25,6 +26,15 @@ buildPythonPackage rec {
     hash = "sha256-CHL2dy0H/i0pLo653F7aUHFvZHTeZA6jC/rwn1KrEW4=";
   };
 
+  patches = [
+    # https://github.com/NixOS/nixpkgs/issues/288478
+    (fetchpatch {
+      name = "set-default-encoding.patch";
+      url = "https://github.com/joeyespo/grip/commit/2784eb2c1515f1cdb1554d049d48b3bff0f42085.patch";
+      hash = "sha256-veVJKJtt8mP1jmseRD7pNR3JgIxX1alYHyQok/rBpiQ=";
+    })
+  ];
+
   nativeCheckInputs = [ pytest responses ];
 
   propagatedBuildInputs = [ docopt flask markdown path-and-address pygments requests tabulate ];
diff --git a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix b/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
index 1c7e12fab2e7..1cd8d8e735d4 100644
--- a/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/growattserver/default.nix
@@ -3,12 +3,13 @@
 , fetchFromGitHub
 , pythonOlder
 , requests
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "growattserver";
-  version = "1.4.0";
-  format = "setuptools";
+  version = "1.5.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -16,9 +17,13 @@ buildPythonPackage rec {
     owner = "indykoning";
     repo = "PyPi_GrowattServer";
     rev = "refs/tags/${version}";
-    hash = "sha256-V0EW3I0FIDx9urbxX/zh3A51B/BiDqUfsrKbKU9FKiE=";
+    hash = "sha256-ATxXjIF5QRsdLuXZCOWMwvbBzawrhlYZ+wodITz36sE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/h5py/default.nix b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
index fc30a7536a33..a11578f832ba 100644
--- a/nixpkgs/pkgs/development/python-modules/h5py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
@@ -47,7 +47,7 @@ in buildPythonPackage rec {
     ${lib.optionalString mpiSupport "export OMPI_MCA_rmaps_base_oversubscribe=yes"}
   '';
 
-  preBuild = lib.optionalString mpiSupport "export CC=${mpi}/bin/mpicc";
+  preBuild = lib.optionalString mpiSupport "export CC=${lib.getDev mpi}/bin/mpicc";
 
   nativeBuildInputs = [
     cython
diff --git a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
index cf4a23ec2ce0..93a38ab9346c 100644
--- a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2024.2.2";
+  version = "2024.2.4";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -27,15 +27,15 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = "hahomematic";
     rev = "refs/tags/${version}";
-    hash = "sha256-d4LULYnnP/8RnbZcJJXadOri/Pl3dTTDi2cVJAYKhnI=";
+    hash = "sha256-p1LUF57wH8zWCwPo4pYeOGRBEYCNUv8CnYBGNYzKCgE=";
   };
 
   __darwinAllowLocalNetworking = true;
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "setuptools~=68.2" "setuptools" \
-      --replace "wheel~=0.41.2" "wheel"
+      --replace-fail "setuptools~=69.1.0" "setuptools" \
+      --replace-fail "wheel~=0.42.0" "wheel"
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hid/default.nix b/nixpkgs/pkgs/development/python-modules/hid/default.nix
index c87d63feb1bb..deb4006dfe78 100644
--- a/nixpkgs/pkgs/development/python-modules/hid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hid/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "hid";
-  version = "1.0.5";
+  version = "1.0.6";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HpVOf3q5t8nfx421lQRpLBfbO3EklJK5drFSW5fbsOg=";
+    hash = "sha256-SNdk166XRroSO5bb9FeJPKgCaLd5HEsdLgUTEO64OGA=";
   };
 
   propagatedBuildInputs = [ hidapi ];
diff --git a/nixpkgs/pkgs/development/python-modules/hishel/default.nix b/nixpkgs/pkgs/development/python-modules/hishel/default.nix
index de75f1e46b17..4f8dae862c55 100644
--- a/nixpkgs/pkgs/development/python-modules/hishel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hishel/default.nix
@@ -1,10 +1,12 @@
 { lib
 , anysqlite
+, boto3
 , buildPythonPackage
 , fetchFromGitHub
 , hatch-fancy-pypi-readme
 , hatchling
 , httpx
+, moto
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -15,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hishel";
-  version = "0.0.22";
+  version = "0.0.24";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +26,7 @@ buildPythonPackage rec {
     owner = "karpetrosyan";
     repo = "hishel";
     rev = "refs/tags/${version}";
-    hash = "sha256-2GboU1J0jvZUz20+KpDYnfDqc+qi0tmlypbWeOoYjX0=";
+    hash = "sha256-wup1rQ5MHjsBaTdfueP9y7QhutoO0xYeexZPDQpUEJk=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +42,9 @@ buildPythonPackage rec {
     redis = [
       redis
     ];
+    s3 = [
+      boto3
+    ];
     sqlite = [
       anysqlite
     ];
@@ -49,6 +54,7 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    moto
     pytest-asyncio
     pytestCheckHook
     trio
diff --git a/nixpkgs/pkgs/development/python-modules/home-assistant-chip-core/default.nix b/nixpkgs/pkgs/development/python-modules/home-assistant-chip-core/default.nix
index 66a232d86577..88ec84d88359 100644
--- a/nixpkgs/pkgs/development/python-modules/home-assistant-chip-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/home-assistant-chip-core/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
         name = "x86_64";
         hash = "sha256-/+gegUMd2n7MpJvdilS5VWefXc0tuRcLrXBBXSH35b0=";
       };
-    }.${stdenv.system} or (throw "Unsupported system");
+    }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   in fetchPypi {
     pname = "home_assistant_chip_core";
     inherit version format;
diff --git a/nixpkgs/pkgs/development/python-modules/homeassistant-bring-api/default.nix b/nixpkgs/pkgs/development/python-modules/homeassistant-bring-api/default.nix
new file mode 100644
index 000000000000..47730748ae1a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/homeassistant-bring-api/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "homeassistant-bring-api";
+  version = "0.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "miaucl";
+    repo = "homeassistant-bring-api";
+    rev = "refs/tags/${version}";
+    hash = "sha256-EQ1Qv4B7axwERKvuMnLizpfA6jRNf/SyB6ktQ2BjFtM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "homeassistant_bring_api"
+  ];
+
+  meta = with lib; {
+    description = "Module to access the Bring! shopping lists API with Home Assistant";
+    homepage = "https://github.com/miaucl/homeassistant-bring-api";
+    changelog = "https://github.com/miaucl/homeassistant-bring-api/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/igraph/default.nix b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
index 4aebfc1cecd1..e2f555121f93 100644
--- a/nixpkgs/pkgs/development/python-modules/igraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
@@ -3,24 +3,28 @@
 , pythonOlder
 , fetchFromGitHub
 , pkg-config
+, setuptools
 , igraph
 , texttable
-, unittestCheckHook
+, cairocffi
+, matplotlib
+, plotly
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.11.3";
+  version = "0.11.4";
 
   disabled = pythonOlder "3.8";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "igraph";
     repo = "python-igraph";
     rev = "refs/tags/${version}";
-    hash = "sha256-Pki0ygcQeuC5E4SwhzGX7oIe9LUSgoBKiXbtcpjL3ng=";
+    hash = "sha256-sR9OqsBxP2DvcYz1dhIP29rrQ56CRKW02oNAXUNttio=";
   };
 
   postPatch = ''
@@ -29,6 +33,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     pkg-config
+    setuptools
   ];
 
   buildInputs = [
@@ -39,13 +44,25 @@ buildPythonPackage rec {
     texttable
   ];
 
+  passthru.optional-dependencies = {
+    cairo = [ cairocffi ];
+    matplotlib = [ matplotlib ];
+    plotly = [ plotly ];
+    plotting = [ cairocffi ];
+  };
+
   # NB: We want to use our igraph, not vendored igraph, but even with
   # pkg-config on the PATH, their custom setup.py still needs to be explicitly
   # told to do it. ~ C.
-  setupPyGlobalFlags = [ "--use-pkg-config" ];
+  env.IGRAPH_USE_PKG_CONFIG = true;
 
   nativeCheckInputs = [
-    unittestCheckHook
+    pytestCheckHook
+  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+
+  disabledTests = [
+    "testAuthorityScore"
+    "test_labels"
   ];
 
   pythonImportsCheck = [ "igraph" ];
diff --git a/nixpkgs/pkgs/development/python-modules/ihm/default.nix b/nixpkgs/pkgs/development/python-modules/ihm/default.nix
index 1dfcec78bbda..2cfb69178b10 100644
--- a/nixpkgs/pkgs/development/python-modules/ihm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ihm/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ihm";
-  version = "0.43";
+  version = "1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihmwg";
     repo = "python-ihm";
     rev = "refs/tags/${version}";
-    hash = "sha256-6tjIxe3JYvtWG5z4ltrkUSTxh1q2BDq2I2siYt7dCF8=";
+    hash = "sha256-a1M3YihN71M9TnkldAzN6N1UuPksDk6SPiBgr4HyC8g=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/imageio/default.nix b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
index cb291c1577e8..1817429600a3 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.33.1";
+  version = "2.34.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "imageio";
     repo = "imageio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1Q1KKQmla/iHb5KbJZZmkpBT2j9uIwy8YDAJ7qDDC4Q=";
+    hash = "sha256-+I5KmKSLi8ARbDH06em71LWhmqziAaDfaBp4hU67/jg=";
   };
 
   patches = lib.optionals (!stdenv.isDarwin) [
diff --git a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
index 1028512694b7..113d19928d10 100644
--- a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "iminuit";
-  version = "2.25.1";
+  version = "2.25.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uCn/wdte1nHc0aSeBFk3duZXXPOmbMfOdHf8ZkI/hj4=";
+    hash = "sha256-O/ihuWhlpgzt8pE19P6uCfp8ZiN9KfaN7WTpeoI6mz4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/intbitset/default.nix b/nixpkgs/pkgs/development/python-modules/intbitset/default.nix
index 620ead1afe2e..96e1698002f0 100644
--- a/nixpkgs/pkgs/development/python-modules/intbitset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/intbitset/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "intbitset";
-  version = "3.0.2";
+  version = "3.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-owCy1aSYmFf/HQw5cWJHZqiadR4xWqCAwHhlAxrmN6c=";
+    hash = "sha256-boPFun/aJSCqhWVCi7r4Qt63KT1mXzzYKByzklTS/3E=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
index 317f8a7fc2eb..ff10be0092ca 100644
--- a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.29.0";
+  version = "6.29.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-td0wE8q3szDfcSiRyWzRq4aMJ6cVnmBvdiAV6b+M6z8=";
+    hash = "sha256-O63igATj/2JO1Xl0lIEWZwYErF9nbRIzlpPzFCF20/A=";
   };
 
   # debugpy is optional, see https://github.com/ipython/ipykernel/pull/767
diff --git a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
index 0de6db55b941..4e8377a9bd54 100644
--- a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
@@ -1,10 +1,13 @@
 { buildPythonPackage
 , fetchPypi
+, setuptools
+, wheel
+, comm
 , ipykernel
 , ipython
+, jsonschema
 , jupyterlab-widgets
 , lib
-, nbformat
 , pytestCheckHook
 , pytz
 , traitlets
@@ -13,29 +16,37 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "8.1.1";
-  format = "setuptools";
+  version = "8.1.2";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QCEe+1Vq3sb6RQzMKnfVnKRKBg9PnxNoM99ZyfU45ug=";
+    hash = "sha256-0Lm0Hkm66SaoZuYTo5sPAJd0XSufHz3UBmQbSlfsQsk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
+    comm
     ipython
-    ipykernel
     jupyterlab-widgets
     traitlets
-    nbformat
-    pytz
     widgetsnbextension
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    ipykernel
+    jsonschema
+    pytestCheckHook
+    pytz
+  ];
 
   meta = {
     description = "IPython HTML widgets for Jupyter";
-    homepage = "https://ipython.org/";
+    homepage = "https://github.com/jupyter-widgets/ipywidgets";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jax/default.nix b/nixpkgs/pkgs/development/python-modules/jax/default.nix
index f60310bdef14..0450f73e639b 100644
--- a/nixpkgs/pkgs/development/python-modules/jax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jax/default.nix
@@ -28,7 +28,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.23";
+  version = "0.4.24";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     repo = "jax";
     # google/jax contains tags for jax and jaxlib. Only use jax tags!
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-PDa3yVH/sszGbWkVkJ+19FdOr3oqdYk+OdbeUTMTDuU=";
+    hash = "sha256-hmx7eo3pephc6BQfoJ3U0QwWBWmhkAc+7S4QmW32qQs=";
   };
 
   nativeBuildInputs = [
@@ -89,6 +89,9 @@ buildPythonPackage rec {
     "testKde3"
     "testKde5"
     "testKde6"
+    # Invokes python manually in a subprocess, which does not have the correct dependencies
+    # ImportError: This version of jax requires jaxlib version >= 0.4.19.
+    "test_no_log_spam"
   ] ++ lib.optionals usingMKL [
     # See
     #  * https://github.com/google/jax/issues/9705
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
index 5e27c0f605b8..0bcf055a8766 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
@@ -14,7 +14,6 @@
 #   * https://github.com/google/jax/issues/5723#issuecomment-913038780
 
 { absl-py
-, addOpenGLRunpath
 , autoPatchelfHook
 , buildPythonPackage
 , config
@@ -33,9 +32,9 @@
 }:
 
 let
-  inherit (cudaPackagesGoogle) cudatoolkit cudnn cudaVersion;
+  inherit (cudaPackagesGoogle) autoAddOpenGLRunpathHook cudatoolkit cudnn cudaVersion;
 
-  version = "0.4.23";
+  version = "0.4.24";
 
   inherit (python) pythonVersion;
 
@@ -56,65 +55,65 @@ let
       "3.9-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp39";
-        hash = "sha256-maN9RzK6/hYIuPRd8n8n5qa/HyPgAf6UD+mlqzZ1/Xc=";
+        hash = "sha256-6P5ArMoLZiUkHUoQ/mJccbNj5/7el/op+Qo6cGQ33xE=";
       };
       "3.9-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp39";
-        hash = "sha256-gdb07c12HCfK5VXT2C+9lYKSiIpPgD8sNmd4eG2M6M4=";
+        hash = "sha256-23JQZRwMLtt7sK/JlCBqqRyfTVIAVJFN2sL+nAkQgvU=";
       };
       "3.9-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp39";
-        hash = "sha256-TdU4wEoqEhsDq18MuLEpmKqpU51+xUYp/reZqEDJK1U=";
+        hash = "sha256-OgMedn9GHGs5THZf3pkP3Aw/jJ0vL5qK1b+Lzf634Ik=";
       };
 
       "3.10-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp310";
-        hash = "sha256-cnX75aSJxoPFUCYD1V5QgyPNovS9lSGqg4PGdPsKsvM=";
+        hash = "sha256-/VwUIIa7mTs/wLz0ArsEfNrz2pGriVVT5GX9XRFRxfY=";
       };
       "3.10-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp310";
-        hash = "sha256-H9sbeR4+4XytREYLP0LJphqGkQqHcinTC9NlT0Rj1aA=";
+        hash = "sha256-LgICOyDGts840SQQJh+yOMobMASb62llvJjpGvhzrSw=";
       };
       "3.10-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp310";
-        hash = "sha256-43VuBgGvdjauWPQtJK9w5GBI/++JvV4FwwO4maIXfDY=";
+        hash = "sha256-vhyULw+zBpz1UEi2tqgBMQEzY9a6YBgEIg6A4PPh3bQ=";
       };
 
       "3.11-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp311";
-        hash = "sha256-mEdm0wmyHKg4RlA7q9/e1OOu+BfGcPKBCSvLwXfFhJI=";
+        hash = "sha256-VJO/VVwBFkOEtq4y/sLVgAV8Cung01JULiuT6W96E/8=";
       };
       "3.11-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp311";
-        hash = "sha256-1kb/m8DODrtXO2drIfpttCLC72oNVszADbSDspllQVs=";
+        hash = "sha256-VtuwXxurpSp1KI8ty1bizs5cdy8GEBN2MgS227sOCmE=";
       };
       "3.11-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp311";
-        hash = "sha256-jhLX4ps+EtU1sku722v51mz2SSamo4/dkdRWX3zFcRE=";
+        hash = "sha256-4Dj5dEGKb9hpg3HlVogNO1Gc9UibJhy1eym2mjivxAQ=";
       };
 
       "3.12-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp312";
-        hash = "sha256-oimiuQopgN1oKhbDc7SsRJPnA6JiEI9UieikWR2qpVk=";
+        hash = "sha256-TlrGVtb3NTLmhnILWPLJR+jISCZ5SUV4wxNFpSfkCBo=";
       };
       "3.12-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp312";
-        hash = "sha256-J4zaKcx0c0Bgk7w/n6klqDlgY9IqTNINfg6g033LUDk=";
+        hash = "sha256-FIwK5CGykQjteuWzLZnbtAggIxLQeGV96bXlZGEytN0=";
       };
       "3.12-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp312";
-        hash = "sha256-UFEE/mBitEOVUoijhUfphyy24QfWPZ+FQPsQ0cjY79A=";
+        hash = "sha256-9/jw/wr6oUD9pOadVAaMRL086iVMUXwVgnUMcG1UNvE=";
       };
     };
 
@@ -130,31 +129,35 @@ let
   gpuSrcs = {
     "cuda12.2-3.9" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp39-cp39-manylinux2014_x86_64.whl";
-      hash = "sha256-our2mSwHPdjVoDAZP+9aNUkJ+vxv1Tq7G5UqA9HvhNI=";
+      hash = "sha256-xdJKLPtx+CIza2CrWKM3M0cZJzyNFVTTTsvlgh38bfM=";
     };
     "cuda12.2-3.10" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl";
-      hash = "sha256-jkIABnJZnn7A6n9VGs/MldzdDiKwWh0fEvl7Vqn85Kg=";
+      hash = "sha256-QCjrOczD2mp+CDwVXBc0/4rJnAizeV62AK0Dpx9X6TE=";
     };
     "cuda12.2-3.11" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp311-cp311-manylinux2014_x86_64.whl";
-      hash = "sha256-dMUcRnHjl8NyUeO3P1x7CNgF0iAHFKIzUtHh+/CNkow=";
+      hash = "sha256-Ipy3vk1yUplpNzECAFt63aOIhgEWgXG7hkoeTIk9bQQ=";
     };
     "cuda12.2-3.12" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp312-cp312-manylinux2014_x86_64.whl";
-      hash = "sha256-kXJ6bUwX+QybqYPV9Kpwv+lhdoGEFRr4+1T0vfXoWRo=";
+      hash = "sha256-LSnZHaUga/8Z65iKXWBnZDk4yUpNykFTu3vukCchO6Q=";
     };
     "cuda11.8-3.9" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp39-cp39-manylinux2014_x86_64.whl";
-      hash = "sha256-m2Y5p12gF3OaADu+aGw5RjcKFrj9RB8xzNWnKNpSz60=";
+      hash = "sha256-UmyugL0VjlXkiD7fuDPWgW8XUpr/QaP5ggp6swoZTzU=";
     };
     "cuda11.8-3.10" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl";
-      hash = "sha256-aQ7iX3o0kQ4liPexv7dkBVWVTUpaty83L083MybGkf0=";
+      hash = "sha256-luKULEiV1t/sO6eckDxddJTiOFa0dtJeDlrvp+WYmHk=";
     };
     "cuda11.8-3.11" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp311-cp311-manylinux2014_x86_64.whl";
-      hash = "sha256-uIEyjEmv0HBaiYVl5PuICTI9XnH4zAfQ1l9tjALRcP4=";
+      hash = "sha256-4+uJ8Ij6mFGEmjFEgi3fLnSLZs+v18BRoOt7mZuqydw=";
+    };
+    "cuda11.8-3.12" = fetchurl {
+      url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp312-cp312-manylinux2014_x86_64.whl";
+      hash = "sha256-bUDFb94Ar/65SzzR9RLIs/SL/HdjaPT1Su5whmjkS00=";
     };
   };
 
@@ -177,7 +180,7 @@ buildPythonPackage {
   # Prebuilt wheels are dynamically linked against things that nix can't find.
   # Run `autoPatchelfHook` to automagically fix them.
   nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]
-    ++ lib.optionals cudaSupport [ addOpenGLRunpath ];
+    ++ lib.optionals cudaSupport [ autoAddOpenGLRunpathHook ];
   # Dynamic link dependencies
   buildInputs = [ stdenv.cc.cc.lib ];
 
@@ -193,8 +196,6 @@ buildPythonPackage {
   preInstallCheck = lib.optional cudaSupport ''
     shopt -s globstar
 
-    addOpenGLRunpath $out/**/*.so
-
     for file in $out/**/*.so; do
       rpath=$(patchelf --print-rpath $file)
       # For some reason `makeLibraryPath` on `cudatoolkit_11` maps to
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index aadb9673dc6a..d1e9d8a9ad28 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
@@ -53,7 +53,7 @@ let
   inherit (cudaPackagesGoogle) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.23";
+  version = "0.4.24";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -151,7 +151,7 @@ let
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-PDa3yVH/sszGbWkVkJ+19FdOr3oqdYk+OdbeUTMTDuU=";
+      hash = "sha256-hmx7eo3pephc6BQfoJ3U0QwWBWmhkAc+7S4QmW32qQs=";
     };
 
     nativeBuildInputs = [
@@ -195,7 +195,12 @@ let
     '';
 
     bazelRunTarget = "//jaxlib/tools:build_wheel";
-    runTargetFlags = [ "--output_path=$out" "--cpu=${arch}" ];
+    runTargetFlags = [
+      "--output_path=$out"
+      "--cpu=${arch}"
+      # This has no impact whatsoever...
+      "--jaxlib_git_hash='12345678'"
+    ];
 
     removeRulesCC = false;
 
@@ -263,10 +268,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-q2wRaoCGnISEdtF6jDMk9Wccy/wTmLusVBI7dDATwi4=";
+        x86_64-linux = "sha256-c0avcURLAYNiLASjIeu5phXX3ze5TR812SW5SCG/iwk=";
       } else {
-        x86_64-linux = "sha256-0cDJ27HCi3J5xeT6TkTtfUzF/yESBYmEVG1r14kPdRs=";
-        aarch64-linux = "sha256-WbaN8VYjeW0mDthmtoSTttqd4K/Z8dP5+VkTo10pLtU=";
+        x86_64-linux = "sha256-1hrQ9ehFy3vBJxKNUzi/T0l+eZxo26Th7i5VRd/9U+0=";
+        aarch64-linux = "sha256-3QVYJOj1lNHgYVV9rOzVdfhq5q6GDwpcWCjKNrSZ4aU=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/nixpkgs/pkgs/development/python-modules/jc/default.nix b/nixpkgs/pkgs/development/python-modules/jc/default.nix
index cbc548151a15..deb56a2a3e9f 100644
--- a/nixpkgs/pkgs/development/python-modules/jc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jc/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.25.0";
+  version = "1.25.1";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-viB/avMED5xllmkrF+WpsQbF/b7pyr3p3p+8vJk72+k=";
+    hash = "sha256-A9bmnamoRwDG/HFDjdBvnfGB+XqpAdLVnHeHtSf07zg=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix b/nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix
index f52b6412a617..23a4200500a4 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonargparse/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "jsonargparse";
-  version = "4.27.4";
+  version = "4.27.5";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "omni-us";
     repo = "jsonargparse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MzcFsH1PyDAnPBEELHLRKfD3TR01INDFIvHc1y3dbng=";
+    hash = "sha256-MSvgOF/5X78HSSRvv1TBmaYZgcUVMKGaHfzXu3lIGVY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
index 7d0fdb300558..b131e347393c 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "jupyter-collaboration";
-  version = "2.0.1";
+  version = "2.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "jupyter_collaboration";
     inherit version;
-    hash = "sha256-Uc57kxhaj/DQi5cX+kjV4PGRcFbxWmzc+B248+1VAYI=";
+    hash = "sha256-EpWFsVWCi/6IOuM/zgPIer3arMDGjPPxhm/tZC4aji4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
index 71012f747e47..eba16194d69c 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-lsp";
-  version = "5.0.2";
+  version = "5.0.3";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JmiGhOkHUPjvikFimgpAUOc26IFVWqFBP7Xah54GNfE=";
+    hash = "sha256-qcijpkZJS+SE1+MXSrHSQV7WD0dzzshHmqW6N+XwS8k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
index 747556206a19..85ec4d6d48f9 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
@@ -4,15 +4,21 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-widgets";
-  version = "3.0.9";
-  format = "setuptools";
+  version = "3.0.10";
+  pyproject = true;
 
   src = fetchPypi {
     pname = "jupyterlab_widgets";
     inherit version;
-    hash = "sha256-YAWk6XTHvu6EBg/fujQaMhhJUEbeiuPsZIiOX+Gf20w=";
+    hash = "sha256-BPKsBJdnJ+T50PqRzcLxq4YPll5QTCnb1qZciCydBMA=";
   };
 
+  # jupyterlab is required to build from source but we use the pre-build package
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"jupyterlab~=4.0"' ""
+  '';
+
   nativeBuildInputs = [
     jupyter-packaging
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/kaggle/default.nix b/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
index 58098b37bf79..1de5eff46285 100644
--- a/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "kaggle";
-  version = "1.6.3";
+  version = "1.6.6";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-J2FOzXJhO59Ya4cjE68WOK2MChfQx4rZ1KcYeb7NcuQ=";
+    sha256 = "sha256-24hxXMBhivJTtq/eIYga6ejm9ksxCs+yc/0T9KV1Igc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix b/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
index f15e65a32b57..6265ef7bb756 100644
--- a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
@@ -50,6 +50,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/frispete/keyrings.cryptfile";
     changelog = "https://github.com/frispete/keyrings.cryptfile/blob/v${version}/CHANGES.md";
     license = licenses.mit;
-    maintainers = [ maintainers.lourkeur ];
+    maintainers = [ maintainers.bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/langchain-community/default.nix b/nixpkgs/pkgs/development/python-modules/langchain-community/default.nix
index 0d0046b216ee..c7c134dfac08 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain-community/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain-community/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-community";
-  version = "0.0.16";
+  version = "0.0.19";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_community";
     inherit version;
-    hash = "sha256-wGUSqTAToG+6dnnNWhJU/4uSfN3S0fvgzERL97vfC4w=";
+    hash = "sha256-XRitnhiLEKq6Y2H7KnR88ptksh/7gGGTP+wJAYfKOcI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/langchain-core/default.nix b/nixpkgs/pkgs/development/python-modules/langchain-core/default.nix
index 8e8309874f1e..7d2599d105b9 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain-core/default.nix
@@ -8,6 +8,7 @@
 , langsmith
 , packaging
 , pydantic
+, pythonRelaxDepsHook
 , pyyaml
 , requests
 , tenacity
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.1.16";
+  version = "0.1.22";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,11 +24,16 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_core";
     inherit version;
-    hash = "sha256-jLVG7tMYAJ7hqKOB0QgHTt3wOVrmHrJD2wDXbh4mXok=";
+    hash = "sha256-3qwSs+QqCLu6oqz4PV+N0tVRMlbY2vDoU+nWj/TJnXk=";
   };
 
+  pythonRelaxDeps = [
+    "langsmith"
+  ];
+
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -41,7 +47,9 @@ buildPythonPackage rec {
     tenacity
   ];
 
-  pythonImportsCheck = [ "langchain_core" ];
+  pythonImportsCheck = [
+    "langchain_core"
+  ];
 
   # PyPI source does not have tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/langchain/default.nix b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
index 18936f7a9ca5..d519748994a7 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
@@ -52,7 +52,7 @@
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.1.1";
+  version = "0.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langchain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cQz4u6FeVZLNbix4pyc6ulfj+nb/tARMJniusy7Q46A=";
+    hash = "sha256-DMUf1dW1/Xl8OKRDb2o9NFgFE4rEgsCBZEPejGz1tQQ=";
   };
 
   sourceRoot = "${src.name}/libs/langchain";
diff --git a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
index 21ee2b4ac871..72ad5e138ca9 100644
--- a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
@@ -1,4 +1,5 @@
 { lib
+, attr
 , buildPythonPackage
 , fetchFromGitHub
 , freezegun
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.83";
+  version = "0.0.90";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WRrwekh4pcn3I0U/A2Q91ePrRx2RUC3XX+z4bez0BzU=";
+    hash = "sha256-YZykHDu++cEoLmV9PvzowA4j2UpteFJfzr6+3VlbPME=";
   };
 
   sourceRoot = "${src.name}/python";
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    attr
     freezegun
     pytest-asyncio
     pytestCheckHook
@@ -51,11 +53,17 @@ buildPythonPackage rec {
     "test_as_runnable_async_batch"
     # requires git repo
     "test_git_info"
+    # Tests require OpenAI API key
+    "test_chat_async_api"
+    "test_chat_sync_api"
+    "test_completions_async_api"
+    "test_completions_sync_api"
   ];
 
   disabledTestPaths = [
     # due to circular import
     "tests/integration_tests/test_client.py"
+    "tests/unit_tests/test_client.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
index 38bd559a8568..9b4d9caaf699 100644
--- a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.24.0";
+  version = "0.25.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vf12MBfy4IoTsXSYdKBMjxyMCaba21fiG0g1bPmrUmI=";
+    hash = "sha256-MkzIwTZU8hqPDOlfN4qADCKjGJIQrNhhOmVRAnAfNK0=";
     fetchSubmodules = true; ## for vendored `rapidfuzz-cpp`
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/lexilang/default.nix b/nixpkgs/pkgs/development/python-modules/lexilang/default.nix
new file mode 100644
index 000000000000..8577cb521196
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lexilang/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "lexilang";
+  version = "1.0.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "LibreTranslate";
+    repo = "LexiLang";
+    rev = "v${version}";
+    hash = "sha256-TLkaqCE9NDjN2XuYOUkeeWIRcqkxrdg31fS4mEnlcEo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} test.py
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Simple, fast dictionary-based language detector for short texts";
+    homepage = "https://github.com/LibreTranslate/LexiLang";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ izorkin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/limits/default.nix b/nixpkgs/pkgs/development/python-modules/limits/default.nix
index f55fd087cad9..e0c1fcf9a14c 100644
--- a/nixpkgs/pkgs/development/python-modules/limits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limits/default.nix
@@ -1,10 +1,13 @@
 { lib
+, aetcd
 , buildPythonPackage
+, coredis
 , deprecated
-, fetchFromGitHub
 , etcd3
+, fetchFromGitHub
 , hiro
 , importlib-resources
+, motor
 , packaging
 , pymemcache
 , pymongo
@@ -20,13 +23,13 @@
 buildPythonPackage rec {
   pname = "limits";
   version = "3.7.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "alisaifee";
-    repo = pname;
+    repo = "limits";
     rev = "refs/tags/${version}";
     # Upstream uses versioneer, which relies on git attributes substitution.
     # This leads to non-reproducible archives on github. Remove the substituted
@@ -37,36 +40,65 @@ buildPythonPackage rec {
     hash = "sha256-0h3ofungHkjycUvNJ3jf+VB/GSrshgUDECN2YoPGzzg=";
   };
 
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace-fail "--cov=limits" "" \
+      --replace-fail "-K" ""
+
+    substituteInPlace setup.py \
+      --replace-fail "versioneer.get_version()" "'${version}'"
+
+    # Recreate _version.py, deleted at fetch time due to non-reproducibility.
+    echo 'def get_versions(): return {"version": "${version}"}' > limits/_version.py
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     deprecated
     importlib-resources
     packaging
-    setuptools
     typing-extensions
   ];
 
+  passthru.optional-dependencies = {
+    redis = [
+      redis
+    ];
+    rediscluster = [
+      redis
+    ];
+    memcached = [
+      pymemcache
+    ];
+    mongodb = [
+      pymongo
+    ];
+    etcd = [
+      etcd3
+    ];
+    async-redis = [
+      coredis
+    ];
+    # async-memcached = [
+    #   emcache  # Missing module
+    # ];
+    async-mongodb = [
+      motor
+    ];
+    async-etcd = [
+      aetcd
+    ];
+  };
+
   nativeCheckInputs = [
-    etcd3
     hiro
-    pymemcache
-    pymongo
     pytest-asyncio
     pytest-lazy-fixture
     pytestCheckHook
-    redis
-  ];
-
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace "--cov=limits" "" \
-      --replace "-K" ""
-
-    substituteInPlace setup.py \
-      --replace "versioneer.get_version()" "'${version}'"
-
-    # Recreate _version.py, deleted at fetch time due to non-reproducibility.
-    echo 'def get_versions(): return {"version": "${version}"}' > limits/_version.py
-  '';
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pythonImportsCheck = [
     "limits"
@@ -82,6 +114,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Rate limiting using various strategies and storage backends such as redis & memcached";
     homepage = "https://github.com/alisaifee/limits";
+    changelog = "https://github.com/alisaifee/limits/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/linear-garage-door/default.nix b/nixpkgs/pkgs/development/python-modules/linear-garage-door/default.nix
new file mode 100644
index 000000000000..b57f8b0e47af
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/linear-garage-door/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, dnspython
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+, tenacity
+}:
+
+buildPythonPackage rec {
+  pname = "linear-garage-door";
+  version = "0.2.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "IceBotYT";
+    repo = "linear-garage-door";
+    rev = "refs/tags/${version}";
+    hash = "sha256-hWWJgZnEItYaSxka7zBHPeVlTEiOqRnA2vg6/MvpJGE=";
+  };
+
+  postPatch = ''
+    sed -i pyproject.toml \
+      -e "/--cov/d" \
+      -e "/--no-cov/d"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    dnspython
+    tenacity
+  ];
+
+  # Module doesn't have tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "linear_garage_door"
+  ];
+
+  meta = with lib; {
+    description = "Control Linear Garage Doors with Python";
+    homepage = "https://github.com/IceBotYT/linear-garage-door";
+    changelog = "https://github.com/IceBotYT/linear-garage-door/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/litellm/default.nix b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
index d34dece547a9..e15ddf71a009 100644
--- a/nixpkgs/pkgs/development/python-modules/litellm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
@@ -1,31 +1,48 @@
 { lib
+, aiohttp
+, apscheduler
+, azure-identity
+, azure-keyvault-secrets
+, backoff
 , buildPythonPackage
+, click
+, fastapi
+, fastapi-sso
 , fetchFromGitHub
-, poetry-core
+, google-cloud-kms
+, gunicorn
 , importlib-metadata
+, jinja2
 , openai
+, orjson
+, poetry-core
+, prisma
+, pyjwt
 , python-dotenv
+, python-multipart
+, pythonOlder
+, pyyaml
+, requests
+, resend
+, rq
+, streamlit
 , tiktoken
 , tokenizers
-, click
-, jinja2
-, certifi
-, appdirs
-, aiohttp
+, uvicorn
 }:
-let
-  version = "1.23.0";
-in
-buildPythonPackage {
+
+buildPythonPackage rec {
   pname = "litellm";
-  inherit version;
+  version = "1.23.9";
   pyproject = true;
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Pl3Fet0TvGrNHNw4ssUMqa+UhzBYgqTydNfD96TeY7I=";
+    hash = "sha256-5VqYo9JhRwtPnk0z7w7jFKN8/E2JhZ50Zi4HgbFiyhE=";
   };
 
   postPatch = ''
@@ -37,18 +54,41 @@ buildPythonPackage {
   ];
 
   propagatedBuildInputs = [
+    aiohttp
+    click
+    importlib-metadata
+    jinja2
     openai
+    requests
     python-dotenv
     tiktoken
-    importlib-metadata
     tokenizers
-    click
-    jinja2
-    certifi
-    appdirs
-    aiohttp
   ];
 
+  passthru.optional-dependencies = {
+    proxy = [
+      apscheduler
+      backoff
+      fastapi
+      fastapi-sso
+      gunicorn
+      orjson
+      pyjwt
+      python-multipart
+      pyyaml
+      rq
+      uvicorn
+    ];
+    extra_proxy = [
+      azure-identity
+      azure-keyvault-secrets
+      google-cloud-kms
+      prisma
+      resend
+      streamlit
+    ];
+  };
+
   # the import check phase fails trying to do a network request to openai
   # pythonImportsCheck = [ "litellm" ];
 
@@ -58,8 +98,8 @@ buildPythonPackage {
   meta = with lib; {
     description = "Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)";
     homepage = "https://github.com/BerriAI/litellm";
-    license = licenses.mit;
     changelog = "https://github.com/BerriAI/litellm/releases/tag/v${version}";
+    license = licenses.mit;
     maintainers = with maintainers; [ happysalada ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/livereload/default.nix b/nixpkgs/pkgs/development/python-modules/livereload/default.nix
index 2b99995f91cc..5943671d6fc2 100644
--- a/nixpkgs/pkgs/development/python-modules/livereload/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/livereload/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, nose
 , django
+, pytestCheckHook
 , tornado
 , six
 }:
@@ -23,13 +23,16 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ tornado six ];
 
-  nativeCheckInputs = [ nose ];
-  # TODO: retry running all tests after v2.6.1
-  checkPhase = "NOSE_EXCLUDE=test_watch_multiple_dirs nosetests -s";
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_watch_multiple_dirs"
+  ];
 
   meta = {
     description = "Runs a local server that reloads as you develop";
     homepage = "https://github.com/lepture/python-livereload";
     license = lib.licenses.bsd3;
+    maintainers = with lib; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/llm/default.nix b/nixpkgs/pkgs/development/python-modules/llm/default.nix
index 318f67353308..5626da5e3858 100644
--- a/nixpkgs/pkgs/development/python-modules/llm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/llm/default.nix
@@ -1,27 +1,27 @@
-{
-  buildPythonApplication,
-  buildPythonPackage,
-  fetchFromGitHub,
-  lib,
-  makeWrapper,
-  pytestCheckHook,
-  python3,
-  pythonOlder,
-  ruff,
-  setuptools,
-}: let
+{ lib
+, buildPythonApplication
+, buildPythonPackage
+, fetchFromGitHub
+, makeWrapper
+, pytestCheckHook
+, python3
+, pythonOlder
+, ruff
+, setuptools
+}:
+let
   llm = buildPythonPackage rec {
     pname = "llm";
-    version = "0.12";
+    version = "0.13.1";
     pyproject = true;
 
     disabled = pythonOlder "3.8";
 
     src = fetchFromGitHub {
       owner = "simonw";
-      repo = pname;
+      repo = "llm";
       rev = "refs/tags/${version}";
-      hash = "sha256-aCqdw2co/cXrBwVY/k/aSLl3C22nlH5LvU2yir1/NnQ=";
+      hash = "sha256-Nq6pduzl8IK+nA3pctst/W4ux7+P6mBFTEHMF+vtBQw=";
     };
 
     patches = [
@@ -36,6 +36,7 @@
       click-default-group
       numpy
       openai
+      pip
       pluggy
       pydantic
       python-ulid
@@ -48,8 +49,8 @@
     nativeCheckInputs = with python3.pkgs; [
       cogapp
       numpy
+      pytest-httpx
       pytestCheckHook
-      requests-mock
     ];
 
     doCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/lttng/default.nix b/nixpkgs/pkgs/development/python-modules/lttng/default.nix
new file mode 100644
index 000000000000..9cdb580fc474
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lttng/default.nix
@@ -0,0 +1,29 @@
+{ toPythonModule
+, python
+, lttng-tools
+, swig2
+}:
+
+toPythonModule (lttng-tools.overrideAttrs ({ nativeBuildInputs ? [ ], configureFlags ? [ ], ... }: {
+  pname = "lttng";
+
+  nativeBuildInputs = nativeBuildInputs ++ [ swig2 ];
+
+  configureFlags = configureFlags ++ [
+    "--enable-python-bindings"
+    # "--disable-bin-lttng" # The Python bindings depend on liblttng-ctl, which is only built when the binary is enabled.
+    "--disable-bin-lttng-consumerd"
+    "--disable-bin-lttng-crash"
+    "--disable-bin-lttng-relayd"
+    "--disable-bin-lttng-sessiond"
+    # "--disable-extras" # The Python bindings are an extra.
+    "--disable-man-pages"
+  ];
+
+  # Nix treats nativeBuildInputs specially for cross-compilation, but in this
+  # case, cross-compilation is accounted for explicitly. Using the variables
+  # ensures that the platform setup isn't messed with further. It also allows
+  # regular Python to be added in the future if it is ever needed.
+  PYTHON = "${python.pythonOnBuildForHost}/bin/python";
+  PYTHON_CONFIG = "${python.pythonOnBuildForHost}/bin/python-config";
+}))
diff --git a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index 18aeac19b3ca..7789104db892 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -5,22 +5,27 @@
 , pyfakefs
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.2.2";
-  format = "setuptools";
+  version = "8.2.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "frnmst";
-    repo = pname;
-    rev = version;
-    hash = "sha256-fL3JlZWTEEinYILNeHw0cuvVza27atLLxjrBZkVLRiU=";
+    repo = "md-toc";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nKkKtLEW0pohXiMtjWl2Kzh7SRwZJ/yzhXpDyluLodc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     fpyutils
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index 534623abccdd..bbc125443e3a 100644
--- a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.20";
+  version = "2.2.22";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-0q8omX306iM3p52u39Dc7m6oxAPo9Fs6CEVicYdIMT4=";
+    hash = "sha256-bAg7Rr17Q+a+S0ZuHcFmmTM0sRcX2w0zRClKdFwix30=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix
index 9797c226b141..c885727a2538 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-git-revision-date-localized-plugin";
-  version = "1.2.2";
+  version = "1.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "timvink";
     repo = "mkdocs-git-revision-date-localized-plugin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6qLVmmJzMTrvuoeSVUjWqmI6f5MbAFWAj36v2l3ZeD8=";
+    hash = "sha256-sN3cuRjB3zkwp0xYoH20IJ8edXqi5rw66e3N4DuNqVU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkl-service/default.nix b/nixpkgs/pkgs/development/python-modules/mkl-service/default.nix
index b6d308ee2135..991c6e8813c3 100644
--- a/nixpkgs/pkgs/development/python-modules/mkl-service/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkl-service/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "mkl-service";
-  version = "2.4.0.post1";
+  version = "2.4.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "IntelPython";
     repo = "mkl-service";
-    rev = "v${version}";
-    sha256 = "0ysjn8z1hkscb4cycbrvcb93r04w5793yylsy40h5dvjd04ns5jc";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-4UPiQt1hVVlPFZnuKlMK3FLv2cIEXToHKxnyYLXR/sY=";
   };
 
   MKLROOT = mkl;
diff --git a/nixpkgs/pkgs/development/python-modules/molecule/default.nix b/nixpkgs/pkgs/development/python-modules/molecule/default.nix
index da881f658675..6b46ae62258c 100644
--- a/nixpkgs/pkgs/development/python-modules/molecule/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/molecule/default.nix
@@ -1,11 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, testers
 , ansible-compat
 , ansible-core
 , click-help-colors
 , enrich
 , jsonschema
+, molecule
 , withPlugins ? true, molecule-plugins
 , packaging
 , pluggy
@@ -19,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "molecule";
-  version = "6.0.3";
+  version = "24.2.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0qiBBi/MXvHgjB5RJ8BDVNLJUXGVXicL2Cs/v+9y07A=";
+    hash = "sha256-R8mCp9Bdt4Rtp3/nFZ3rlG8myvsuOI/HGBK+AImkF3Y=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +53,14 @@ buildPythonPackage rec {
   # tests can't be easily run without installing things from ansible-galaxy
   doCheck = false;
 
+  passthru.tests.version = (testers.testVersion {
+    package = molecule;
+    command = "PY_COLORS=0 ${pname} --version";
+  }).overrideAttrs (old: {
+    # workaround the error: Permission denied: '/homeless-shelter'
+    HOME = "$(mktemp -d)";
+  });
+
   meta = with lib; {
     description = "Molecule aids in the development and testing of Ansible roles";
     homepage = "https://github.com/ansible-community/molecule";
diff --git a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
index deb54ab149be..b5f4e403ab38 100644
--- a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
@@ -38,8 +38,6 @@ buildPythonPackage rec {
     # work as expected
   '';
 
-  setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
-
   nativeBuildInputs = [ mpi ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/mplhep/default.nix b/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
index e550285ccaac..64c6d8dd1ad1 100644
--- a/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "mplhep";
-  version = "0.3.32";
+  version = "0.3.33";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xwlrMZLJKRW6iqMsDKS5BDqejADSk/qGOAnQDZ2fTPc=";
+    hash = "sha256-YTqiZCM5Dvsse+isQ4WSQgHfDGAVtmYVLHPR4Mmme6Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/msprime/default.nix b/nixpkgs/pkgs/development/python-modules/msprime/default.nix
index cf0f8abb22be..c09b3b8d7609 100644
--- a/nixpkgs/pkgs/development/python-modules/msprime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msprime/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "msprime";
-  version = "1.3.0";
+  version = "1.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eYjGHvlJXDZ+gu/J+52AI8PbKiB6ZEXUORlTrzxCbCk=";
+    hash = "sha256-s/Ys1RatLkPIQS6h8kKsrRvJOTkc/pyqGWJYdOLjSDU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/default.nix b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
index 0ee96a6d690d..0087fa650d7a 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
@@ -118,6 +118,6 @@ buildPythonPackage rec {
     homepage = "https://www.mypy-lang.org";
     license = licenses.mit;
     mainProgram = "mypy";
-    maintainers = with maintainers; [ martingms lnl7 ];
+    maintainers = with maintainers; [ lnl7 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix b/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
index bdd6c63da6fc..e8622b84eb7c 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/extensions.nix
@@ -42,6 +42,6 @@ buildPythonPackage rec {
     description = "Experimental type system extensions for programs checked with the mypy typechecker";
     homepage = "https://www.mypy-lang.org";
     license = licenses.mit;
-    maintainers = with maintainers; [ martingms lnl7 ];
+    maintainers = with maintainers; [ lnl7 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/myuplink/default.nix b/nixpkgs/pkgs/development/python-modules/myuplink/default.nix
new file mode 100644
index 000000000000..f1df3644841a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/myuplink/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "myuplink";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "pajzo";
+    repo = "myuplink";
+    rev = "refs/tags/${version}";
+    hash = "sha256-XDsQmgP3VvWpuZWGBVW5pBsxTRZT2cl3kp1i2sb+LnM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  pythonImportsCheck = [
+    "myuplink"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the myUplink API";
+    homepage = "https://github.com/pajzo/myuplink";
+    changelog = "https://github.com/pajzo/myuplink/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index f816abc1d740..27d977173e3e 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
@@ -20,6 +20,7 @@
 , traitlets
 , importlib-metadata
 , flaky
+, ipykernel
 , ipywidgets
 , pytestCheckHook
 }:
@@ -32,14 +33,14 @@ let
   };
 in buildPythonPackage rec {
   pname = "nbconvert";
-  version = "7.14.2";
+  version = "7.16.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-p/iAj9TggkMWc6xThAAhjdRe/QdvvrB8xuWqWjpOlJ4=";
+    hash = "sha256-gT5lU3ljYkia5XLjm6G/+XhTYZL7UY4QgmsOjK3wPsg=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
@@ -84,6 +85,7 @@ in buildPythonPackage rec {
 
   nativeCheckInputs = [
     flaky
+    ipykernel
     ipywidgets
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/neoteroi-mkdocs/default.nix b/nixpkgs/pkgs/development/python-modules/neoteroi-mkdocs/default.nix
new file mode 100644
index 000000000000..30b226c6d5bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/neoteroi-mkdocs/default.nix
@@ -0,0 +1,63 @@
+{
+  buildPythonPackage,
+  fetchFromGitHub,
+  lib,
+  click,
+  essentials-openapi,
+  flask,
+  hatchling,
+  httpx,
+  jinja2,
+  mkdocs,
+  pytestCheckHook,
+  pythonImportsCheckHook,
+  rich,
+  setuptools,
+}:
+buildPythonPackage rec {
+  pname = "neoteroi-mkdocs";
+  version = "1.0.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Neoteroi";
+    repo = "mkdocs-plugins";
+    rev = "v${version}";
+    hash = "sha256-UyTlgKWdBWckI9sBL4GRQtgNHYpHpZlWVOdmdQ+7lss=";
+  };
+
+  buildInputs = [
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    flask
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    essentials-openapi
+    click
+    jinja2
+    httpx
+    mkdocs
+    rich
+  ];
+
+  disabledTests = [
+    "test_contribs" # checks against its own git repository
+  ];
+
+  pythonImportsCheck = [
+    "neoteroi.mkdocs"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Neoteroi/mkdocs-plugins";
+    description = "Plugins for MkDocs";
+    changelog = "https://github.com/Neoteroi/mkdocs-plugins/releases/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [aldoborrero zimbatm];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/niaaml/default.nix b/nixpkgs/pkgs/development/python-modules/niaaml/default.nix
index bc5d712913b8..855908721490 100644
--- a/nixpkgs/pkgs/development/python-modules/niaaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/niaaml/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "niaaml";
-  version = "1.1.12";
+  version = "1.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "lukapecnik";
     repo = "NiaAML";
     rev = "refs/tags/${version}";
-    hash = "sha256-GAUXEkUOD04DQtRG/RAeeeLmenBd25h18Lmrxbm4X3A=";
+    hash = "sha256-jGbsxYlRJ81g74LqSKpquciPsLP+KSoNBTJPEaD/CHM=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
index e69bdd6169f7..c3343f842a99 100644
--- a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "niaarm";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "firefly-cpp";
     repo = "NiaARM";
     rev = "refs/tags/${version}";
-    hash = "sha256-DOTeo5ZPZQR56E78pAKQ3DXarIUHhxXoZu0fISDr6fw=";
+    hash = "sha256-0YBjYpeu1eagy9hp/EuXN1cfHztEjR/i4/YFKXS33Co=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix b/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix
index ca2183e82a4c..6424c5a7bc0f 100644
--- a/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nix-prefetch-github/default.nix
@@ -5,23 +5,32 @@
 , which
 , pythonOlder
 , unittestCheckHook
+, sphinxHook
+, sphinx-argparse
+, parameterized
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "nix-prefetch-github";
-  version = "7.0.0";
-  format = "setuptools";
+  version = "7.1.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  outputs = [ "out" "man" ];
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "seppeljordan";
     repo = "nix-prefetch-github";
     rev = "v${version}";
-    hash = "sha256-oIR2iEiOBQ1VKouJTLqEiWWNzrMSJcnxK+m/j9Ia/m8=";
+    hash = "sha256-eQd/MNlnuzXzgFzvwUMchvHoIvkIrbpGKV7iknO14Cc=";
   };
 
-  nativeCheckInputs = [ unittestCheckHook git which ];
+  nativeBuildInputs = [ sphinxHook sphinx-argparse setuptools ];
+  nativeCheckInputs = [ unittestCheckHook git which parameterized ];
+
+  sphinxBuilders = [ "man" ];
+  sphinxRoot = "docs";
 
   # ignore tests which are impure
   DISABLED_TESTS = "network requires_nix_build";
diff --git a/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix b/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
index 55e9233bb527..cbc28feb1577 100644
--- a/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nlpcloud";
-  version = "1.1.45";
+  version = "1.1.46";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-W/O7GhZuACUFCSCCJUUB6UfMB9WSF8uU7Yd/tgPsE0Q=";
+    hash = "sha256-NmNu1Rf6mN+Q8FdpeNYQ508ksqkIV7oOp8CrlDN1qPU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix b/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
index 19488765269b..a722c4b6823c 100644
--- a/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "nomadnet";
-  version = "0.4.5";
+  version = "0.4.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "NomadNet";
     rev = "refs/tags/${version}";
-    hash = "sha256-+w/Earu76mMJFp8ALvaDEkZOGJqlKbO7jfpW/xxvd1o=";
+    hash = "sha256-23TIBSWOYgo7xEilB4raNMbEWIyPFHAh9jsVzh40S8I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 10b02d1bb620..f10bbe9dc1fa 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "7.0.7";
+  version = "7.0.8";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-O8/wDBezrBQu9fQ21QY32TaydM+gtB9qwBdTY96bTgk=";
+    hash = "sha256-OVfs2VYFawAUZ3r8dtO7RMLS8pZJ+Hsk0TYG/x0Yk48=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
index 612be673dbc1..90c0db931e4c 100644
--- a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
@@ -62,6 +62,9 @@ buildPythonPackage rec {
     "test_zero_inflated_logits_probs_agree"
     # NameError: unbound axis name: _provenance
     "test_model_transformation"
+    # Using deprecated (removed in jax==0.4.24) jax.core.safe_map
+    # https://github.com/pyro-ppl/numpyro/issues/1733
+    "test_beta_bernoulli"
   ];
 
   # TODO: remove when tensorflow-probability gets fixed.
diff --git a/nixpkgs/pkgs/development/python-modules/oci/default.nix b/nixpkgs/pkgs/development/python-modules/oci/default.nix
index 0e5d643c7d96..15d4ec26e0a3 100644
--- a/nixpkgs/pkgs/development/python-modules/oci/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oci/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.120.0";
+  version = "2.121.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KUiv0cNkkvaouhR2UgdMVBwrZoqCxVif71/eiyjpskI=";
+    hash = "sha256-oOy0gOTekPXv557dl0A0b8TJVGSUYPq38h2Fu8PN03o=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
index 9b4e1d0287eb..3d73d3d19497 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "16.0.4";
+  version = "16.1.1";
 
   disabled = pythonOlder "3.10";
 
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-1Bg1R8c5VtJsd8NHd+WWdJRA39Jjgv9JUMcijZm942o=";
+    hash = "sha256-XCYNz1QQodUEidz1+A79yleqOnOCK3zJ8mBIPU5JEQg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
index eb3e76a5e518..e8ab9a2802cb 100644
--- a/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "3.1.0";
+  version = "3.2.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-uR90Af/3E8YVZ2ALSVFOkTr59iVw5NkLOnQBm4Us1vk=";
+    hash = "sha256-UHBr6O0eV4A2yS04/gtPplp5rI+YfizQhYMUE2AZ41I=";
   };
 
   buildInputs = [ pip ];
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/0001-ptxas-disable-version-key-for-non-cuda-targets.patch b/nixpkgs/pkgs/development/python-modules/openai-triton/0001-ptxas-disable-version-key-for-non-cuda-targets.patch
new file mode 100644
index 000000000000..3941d54b8b37
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/0001-ptxas-disable-version-key-for-non-cuda-targets.patch
@@ -0,0 +1,27 @@
+From 10f3d49aa6084d1b9b9624017cce7df106b9fb7e Mon Sep 17 00:00:00 2001
+From: Yaroslav Bolyukin <iam@lach.pw>
+Date: Tue, 6 Feb 2024 13:51:28 +0100
+Subject: [PATCH] ptxas: disable version key for non-cuda targets
+
+---
+ python/triton/runtime/jit.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/python/triton/runtime/jit.py b/python/triton/runtime/jit.py
+index d55972b4b..bd875a701 100644
+--- a/python/triton/runtime/jit.py
++++ b/python/triton/runtime/jit.py
+@@ -117,8 +117,8 @@ def version_key():
+         with open(lib.module_finder.find_spec(lib.name).origin, "rb") as f:
+             contents += [hashlib.md5(f.read()).hexdigest()]
+     # ptxas version
+-    ptxas = path_to_ptxas()[0]
+-    ptxas_version = hashlib.md5(subprocess.check_output([ptxas, "--version"])).hexdigest()
++    # ptxas = path_to_ptxas()[0]
++    ptxas_version = "noptxas"
+     return '-'.join(TRITON_VERSION) + '-' + ptxas_version + '-' + '-'.join(contents)
+ 
+ 
+-- 
+2.43.0
+
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
index 46f1e6de5684..018852bdc743 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
@@ -19,6 +19,9 @@
 , filelock
 , torchWithRocm
 , python
+
+, runCommand
+
 , cudaPackages
 , cudaSupport ? config.cudaSupport
 }:
@@ -46,6 +49,9 @@ buildPythonPackage rec {
     })
   ] ++ lib.optionals (!cudaSupport) [
     ./0000-dont-download-ptxas.patch
+    # openai-triton wants to get ptxas version even if ptxas is not
+    # used, resulting in ptxas not found error.
+    ./0001-ptxas-disable-version-key-for-non-cuda-targets.patch
   ];
 
   nativeBuildInputs = [
@@ -71,7 +77,12 @@ buildPythonPackage rec {
     zlib
   ];
 
-  propagatedBuildInputs = [ filelock ];
+  propagatedBuildInputs = [
+    filelock
+    # openai-triton uses setuptools at runtime:
+    # https://github.com/NixOS/nixpkgs/pull/286763/#discussion_r1480392652
+    setuptools
+  ];
 
   postPatch = let
     # Bash was getting weird without linting,
@@ -150,7 +161,18 @@ buildPythonPackage rec {
   # ];
 
   # Ultimately, torch is our test suite:
-  passthru.tests = { inherit torchWithRocm; };
+  passthru.tests = {
+    inherit torchWithRocm;
+    # Implemented as alternative to pythonImportsCheck, in case if circular dependency on torch occurs again,
+    # and pythonImportsCheck is commented back.
+    import-triton = runCommand "import-triton" { nativeBuildInputs = [(python.withPackages (ps: [ps.openai-triton]))]; } ''
+      python << \EOF
+      import triton
+      import triton.language
+      EOF
+      touch "$out"
+    '';
+  };
 
   pythonRemoveDeps = [
     # Circular dependency, cf. https://github.com/openai/triton/issues/1374
diff --git a/nixpkgs/pkgs/development/python-modules/openai/default.nix b/nixpkgs/pkgs/development/python-modules/openai/default.nix
index fcd9620cdf4a..5b8140e1d0a3 100644
--- a/nixpkgs/pkgs/development/python-modules/openai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "1.11.1";
+  version = "1.12.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7.1";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PtxKQQfcM4aOlqU0qIJDpB/24Wkt/omx+uDk4mRZU4s=";
+    hash = "sha256-v623+dxttNDAfVh+2h64SqT4FvaOGRe0zvHCchIy/Wg=";
   };
 
   nativeBuildInputs = [
@@ -75,12 +75,13 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # makes network requests
+    # Tests make network requests
     "test_streaming_response"
+    "test_copy_build_request"
   ];
 
   disabledTestPaths = [
-    # makes network requests
+    # Test makes network requests
     "tests/api_resources"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix b/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
index a1cc4fcc921e..7c0c1d80fc5b 100644
--- a/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
@@ -23,6 +23,12 @@ buildPythonPackage rec {
 
   sourceRoot = "source/openllm-client";
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "hatchling==1.18.0" "hatchling" \
+      --replace-fail "hatch-vcs==0.3.0" "hatch-vcs"
+  '';
+
   nativeBuildInputs = [
     hatch-fancy-pypi-readme
     hatch-vcs
diff --git a/nixpkgs/pkgs/development/python-modules/openwebifpy/default.nix b/nixpkgs/pkgs/development/python-modules/openwebifpy/default.nix
index 3d2da5207656..160a7708bdf6 100644
--- a/nixpkgs/pkgs/development/python-modules/openwebifpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openwebifpy/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "openwebifpy";
-  version = "4.2.1";
+  version = "4.2.4";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dCgbMyyVmYGPV8GyZUrMR+IO8nGoQ//dnmHmhFH2iJo=";
+    hash = "sha256-qL/H2F+/d/JWwmUbZhvoMlZZDGgEpRBmHabt1MWjGAs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/optimum/default.nix b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
index ad542017d1f0..7b6be6027a6e 100644
--- a/nixpkgs/pkgs/development/python-modules/optimum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "optimum";
-  version = "1.16.2";
+  version = "1.17.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "optimum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bEwCUPZJT1UTD8mQJKg+Nwag6kpn4076uyKocKI/+/M=";
+    hash = "sha256-21y7pFRCZqwNaZR+TcXH2KIK5IZuLVq0wgIQqByyEf8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/osc/default.nix b/nixpkgs/pkgs/development/python-modules/osc/default.nix
index 4055fc176885..b2e50a316a37 100644
--- a/nixpkgs/pkgs/development/python-modules/osc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/osc/default.nix
@@ -7,6 +7,7 @@
 , lib
 , rpm
 , urllib3
+, keyring
 }:
 
 buildPythonPackage rec {
@@ -23,7 +24,7 @@ buildPythonPackage rec {
 
   buildInputs = [ bashInteractive ]; # needed for bash-completion helper
   nativeCheckInputs = [ rpm diffstat ];
-  propagatedBuildInputs = [ urllib3 cryptography ];
+  propagatedBuildInputs = [ urllib3 cryptography keyring ];
 
   postInstall = ''
     install -D -m444 contrib/osc.fish $out/etc/fish/completions/osc.fish
diff --git a/nixpkgs/pkgs/development/python-modules/papermill/default.nix b/nixpkgs/pkgs/development/python-modules/papermill/default.nix
index 65b5f7c0035d..28f5c9b6f9e1 100644
--- a/nixpkgs/pkgs/development/python-modules/papermill/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/papermill/default.nix
@@ -1,13 +1,16 @@
 { lib
-, ansiwrap
+, stdenv
 , azure-datalake-store
+, azure-identity
 , azure-storage-blob
 , boto3
 , buildPythonPackage
 , click
 , entrypoints
-, fetchPypi
+, fetchFromGitHub
 , gcsfs
+, ipykernel
+, moto
 , nbclient
 , nbformat
 , pyarrow
@@ -17,6 +20,7 @@
 , pythonOlder
 , pyyaml
 , requests
+, setuptools
 , tenacity
 , tqdm
 }:
@@ -24,17 +28,22 @@
 buildPythonPackage rec {
   pname = "papermill";
   version = "2.5.0";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6ntwwFU/Vv6RsPqcxeFwEs1pkyCosBU3PnhwxeYIbHI=";
+  src = fetchFromGitHub {
+    owner = "nteract";
+    repo = "papermill";
+    rev = "refs/tags/${version}";
+    hash = "sha256-x6f5hhTdOPDVFiBvRhfrXq1wd5keYiuUshXnT0IkjX0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    ansiwrap
     click
     pyyaml
     nbformat
@@ -48,6 +57,7 @@ buildPythonPackage rec {
   passthru.optional-dependencies = {
     azure = [
       azure-datalake-store
+      azure-identity
       azure-storage-blob
     ];
     gcs = [
@@ -65,25 +75,34 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
-    pytestCheckHook
+    ipykernel
+    moto
     pytest-mock
-  ];
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.azure
+    ++ passthru.optional-dependencies.s3
+    ++ passthru.optional-dependencies.gcs;
 
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
-  # The test suite depends on cloud resources azure/aws
-  doCheck = false;
-
   pythonImportsCheck = [
     "papermill"
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # might fail due to the sandbox
+    "test_end2end_autosave_slow_notebook"
+  ];
+
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "Parametrize and run Jupyter and interact with notebooks";
     homepage = "https://github.com/nteract/papermill";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
+    mainProgram = "papermill";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
index 3312b88030ad..88657c9c37ef 100644
--- a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "19.6.6";
+  version = "19.6.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4T30jiMRAbPDgGW8Zcolj1k3UpKN1/juXtYSHrjO804=";
+    hash = "sha256-iaZrPgGD7BM7H+i2R9qQBM55KcFu/Rqyho3AxXw15N0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
index cdc7ab035ed3..631494a1d9a3 100644
--- a/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pendulum/default.nix
@@ -20,8 +20,8 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  nativeBuildInputs = [ poetry-core ];
-  propagatedBuildInputs = [ python-dateutil pytzdata ]
+  build-system = [ poetry-core ];
+  dependencies = [ python-dateutil pytzdata ]
   ++ lib.optional (pythonOlder "3.5") typing
   ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/persistent/default.nix b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
index d2a5e6165760..5c7f27a5be31 100644
--- a/nixpkgs/pkgs/development/python-modules/persistent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "persistent";
-  version = "5.1";
+  version = "5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l8zC+ibMm9zDvh/GWqT08or+UgTC1P0kpnRFkI23Rps=";
+    hash = "sha256-2+pdH/nbTkUco5vAtCqepTfmyskoKujAeA+4/64+yDQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
index 24a3f54f6b46..16cd906ee1e5 100644
--- a/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phonopy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "phonopy";
-  version = "2.21.0";
+  version = "2.21.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WAWxgLwChQrwutpRsJtDUoNnwek6RpZB+9JtUFdr/pw=";
+    hash = "sha256-k9DyPb0IUYHuB99wpNUIt76D66M9/wz/CdXq8Kapv2E=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix b/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
index 2715e1748051..d3b3e4e66949 100644
--- a/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
@@ -16,13 +16,13 @@
 }:
 buildPythonPackage rec {
   pname = "pinecone-client";
-  version = "3.0.2";
+  version = "3.0.3";
   pyproject = true;
 
   src = fetchPypi {
     pname = "pinecone_client";
     inherit version;
-    hash = "sha256-+aCDAzPuzhB7TvERneI9rWphv/q38jjmGEFtUcRtKcg=";
+    hash = "sha256-KtPvdiftxNnuJI2XgYYcQ0HW0noVvAX2vvU9lYg303Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pip-api/default.nix b/nixpkgs/pkgs/development/python-modules/pip-api/default.nix
index c7819229ef16..16f1f074d044 100644
--- a/nixpkgs/pkgs/development/python-modules/pip-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pip-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pip-api";
-  version = "0.0.31";
+  version = "0.0.33";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "di";
     repo = "pip-api";
     rev = "refs/tags/${version}";
-    hash = "sha256-WFyrEEfrGwsITYzQaukwmz5ml+I6zlMddINTkGeNUTM=";
+    hash = "sha256-bDM31YpVB0pZMqeGTCbnINSmJc03N0HuU8hcc8nnHgw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix b/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
index 46374623014f..187852b39b2f 100644
--- a/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pipdeptree";
-  version = "2.13.2";
+  version = "2.14.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pipdeptree";
     rev = "refs/tags/${version}";
-    hash = "sha256-eDgulAKq78HRW/7GhO40hxr+F1hOfgXqAzaCw5pFjD8=";
+    hash = "sha256-FkqpBF5JDSzUp3VrFuCohUhpWOl38cnFQVFYKY9qupQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index 8628c0bf645c..8b2911222e37 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -1,16 +1,17 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , requests
+, setuptools
 , tqdm
 , websocket-client
-, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.15.9";
-  format = "setuptools";
+  version = "4.15.10";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -18,9 +19,13 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-mKn2SLECtJwUdBS7u8NAyIq6wlk+0WNWnDv27AVcysY=";
+    hash = "sha256-3qvAf3oray3Fm3No6ixv/D1mY4lipt5pixgpyXNCRoc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
     tqdm
diff --git a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index 97b42974993a..7d8b5f666515 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.37.0";
+  version = "0.37.1";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "plugwise";
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a/8GVHhVZsK2DD3+mM8UvwkgjMC403Mc9UJSO19AlXs=";
+    hash = "sha256-6o0g3il4GV6E8avp9V2YrkaVPf2z37asdJOxf6Phbmc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/posthog/default.nix b/nixpkgs/pkgs/development/python-modules/posthog/default.nix
index c8ec15057915..94d374225f2c 100644
--- a/nixpkgs/pkgs/development/python-modules/posthog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/posthog/default.nix
@@ -14,7 +14,7 @@
 }:
 let
   pname = "posthog";
-  version = "3.4.0";
+  version = "3.4.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
     owner = "PostHog";
     repo = "posthog-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ziqUXQdmzKdrwbk7iYwCbNg+jiXiB9l3QaosY5VA3YA=";
+    hash = "sha256-vqq8yCfIDaCWcWwpr8ogdDpmZY4lPcDwoNV33W664pc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/primer3/default.nix b/nixpkgs/pkgs/development/python-modules/primer3/default.nix
index b2999f582455..78d43a08b4ac 100644
--- a/nixpkgs/pkgs/development/python-modules/primer3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/primer3/default.nix
@@ -7,12 +7,13 @@
 , click
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "primer3";
-  version = "2.0.2";
-  format = "setuptools";
+  version = "2.0.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -20,11 +21,12 @@ buildPythonPackage rec {
     owner = "libnano";
     repo = "primer3-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-v3y9nJpWc9lBKcPX/qjuezjfK0nzKIMiE0QdoLgyNj8=";
+    hash = "sha256-O8BFjkjG9SfknSrK34s9EJnqTrtCf4zW9A+N+/MHl2w=";
   };
 
   nativeBuildInputs = [
     cython
+    setuptools
   ] ++ lib.optionals stdenv.isDarwin [
     gcc
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/prisma/default.nix b/nixpkgs/pkgs/development/python-modules/prisma/default.nix
new file mode 100644
index 000000000000..7d1a74a7f5b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/prisma/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, httpx
+, jinja2
+, nodeenv
+, pydantic
+, pytestCheckHook
+, python-dotenv
+, pythonOlder
+, setuptools
+, strenum
+, tomlkit
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "prisma";
+  version = "0.12.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "RobertCraigie";
+    repo = "prisma-client-py";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vmcYBUPDhFbxgWyrF+AjoXwAAH2R/tJYttFD+41bPbA=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    click
+    httpx
+    jinja2
+    nodeenv
+    pydantic
+    python-dotenv
+    tomlkit
+    typing-extensions
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    strenum
+  ];
+
+  # Building the client requires network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "prisma"
+  ];
+
+  meta = with lib; {
+    description = "Auto-generated and fully type-safe database client for prisma";
+    homepage = "https://github.com/RobertCraigie/prisma-client-py";
+    changelog = "https://github.com/RobertCraigie/prisma-client-py/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
index f2d2d52f2c8f..610313302ad8 100644
--- a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
@@ -115,5 +115,8 @@ buildPythonPackage {
     homepage = "https://developers.google.com/protocol-buffers/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp ];
+    # Tests are currently failing because backend is unavailable and causes tests to fail
+    # Progress tracked in https://github.com/NixOS/nixpkgs/pull/264902
+    broken = lib.versionAtLeast protobuf.version "25";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/proton-vpn-api-core/default.nix b/nixpkgs/pkgs/development/python-modules/proton-vpn-api-core/default.nix
index 0906d2bd4248..ba8869e42daa 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-vpn-api-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-vpn-api-core/default.nix
@@ -11,16 +11,16 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "proton-vpn-api-core";
-  version = "0.20.1-unstable-2023-10-10";
+  version = "0.20.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "python-proton-vpn-api-core";
-    rev = "9c03fc30d3ff08559cab3644eadde027b029375d";
-    hash = "sha256-vnz1+NazQceAs9KA3Jq0tsJditRoG/LoBR+0wuDzzHk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-acck0Nc/15soTJBC/4y83ID9fjF/q4vrYr6SsLAAVRY=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ buildPythonPackage {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton/vpn/core/ --cov-report html --cov-report term" ""
+      --replace-fail "--cov=proton/vpn/core/ --cov-report html --cov-report term" ""
   '';
 
   pythonImportsCheck = [ "proton.vpn.core" ];
@@ -52,11 +52,6 @@ buildPythonPackage {
     export HOME=$(mktemp -d)
   '';
 
-  disabledTestPaths = [
-    # Has a single test failing with Permission denied: '/run'
-    "tests/test_session.py"
-  ];
-
   meta = with lib; {
     description = "Acts as a facade to the other Proton VPN components, exposing a uniform API to the available Proton VPN services";
     homepage = "https://github.com/ProtonVPN/python-proton-vpn-api-core";
diff --git a/nixpkgs/pkgs/development/python-modules/proton-vpn-connection/default.nix b/nixpkgs/pkgs/development/python-modules/proton-vpn-connection/default.nix
index 7acbb173e8b6..2257130c20e0 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-vpn-connection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-vpn-connection/default.nix
@@ -9,16 +9,16 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "proton-vpn-connection";
-  version = "0.11.0-unstable-2023-09-05";
+  version = "0.11.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "python-proton-vpn-connection";
-    rev = "747ccacb5350ad59f2a09953b8d20c5c161aab54";
-    hash = "sha256-WyMG0kmwBKoWc0mHnaop9E0upPAYHFwS/A9I1//WwlY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-RuLnc/olI8S09WFG126N2xZgW4gf+DDpRstcelqMhs4=";
   };
 
   nativeBuildInputs = [
@@ -34,7 +34,7 @@ buildPythonPackage {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton.vpn.connection --cov-report html --cov-report term" ""
+      --replace-fail "--cov=proton.vpn.connection --cov-report html --cov-report term" ""
   '';
 
   pythonImportsCheck = [ "proton.vpn.connection" ];
diff --git a/nixpkgs/pkgs/development/python-modules/proton-vpn-logger/default.nix b/nixpkgs/pkgs/development/python-modules/proton-vpn-logger/default.nix
index 6091c2b25a1e..9c581f400c73 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-vpn-logger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-vpn-logger/default.nix
@@ -6,16 +6,16 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "proton-vpn-logger";
-  version = "0.2.1-unstable-2023-05-10";
+  version = "0.2.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "python-proton-vpn-logger";
-    rev = "0acbc1ab41a65cbc9ceb340e3db011e6f89eb65a";
-    hash = "sha256-VIggBKopAAKiNdQ5ypG1qI74E2WMDwDSriSuka/DBKA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/LfMjyTs/EusgnKEQugsdJzqDZBvaAhbsTUVLDCRw0I=";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton/vpn/logging/ --cov-report html --cov-report term" ""
+      --replace-fail "--cov=proton/vpn/logging/ --cov-report html --cov-report term" ""
   '';
 
   pythonImportsCheck = [ "proton.vpn.logging" ];
diff --git a/nixpkgs/pkgs/development/python-modules/proton-vpn-network-manager/default.nix b/nixpkgs/pkgs/development/python-modules/proton-vpn-network-manager/default.nix
index f8874e1d0f3a..ccd84eda6698 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-vpn-network-manager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-vpn-network-manager/default.nix
@@ -8,19 +8,20 @@
 , proton-vpn-connection
 , pycairo
 , pygobject3
+, pytest-asyncio
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "proton-vpn-network-manager";
-  version = "0.3.0-unstable-2023-09-05";
+  version = "0.3.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "python-proton-vpn-network-manager";
-    rev = "6ffd04fa0ae88a89d2b733443317066ef23b3ccd";
-    hash = "sha256-Bqlwo7U/mwodQarl30n3/BNETqit1MVQUJT+mAhC6AI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UEXoIFLB3/q3G3ASrgsXxF21iT5rCWm4knGezcmxmnk=";
   };
 
   nativeBuildInputs = [
@@ -40,12 +41,13 @@ buildPythonPackage {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton/vpn/backend/linux/networkmanager --cov-report html --cov-report term" ""
+      --replace-fail "--cov=proton/vpn/backend/linux/networkmanager --cov-report html --cov-report term" ""
   '';
 
   pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager" ];
 
   nativeCheckInputs = [
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/proton-vpn-session/default.nix b/nixpkgs/pkgs/development/python-modules/proton-vpn-session/default.nix
index b61bed91682a..38d89bb6d3e0 100644
--- a/nixpkgs/pkgs/development/python-modules/proton-vpn-session/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proton-vpn-session/default.nix
@@ -14,16 +14,16 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "proton-vpn-session";
-  version = "0.6.2-unstable-2023-10-24";
+  version = "0.6.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = "python-proton-vpn-session";
-    rev = "419b25bd1823f78d1219dc4cc441eeaf37646068";
-    hash = "sha256-YPyNxbKxw+670bNQZ7U5nljyUjsNJ+k7eL+HpGiSCLk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1oyCxBO9YqMopbw88UJF8k4BJFP4+m23NwSrqTYqcg8=";
   };
 
   nativeBuildInputs = [
@@ -40,7 +40,7 @@ buildPythonPackage {
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "--cov=proton.vpn.session --cov-report term" ""
+      --replace-fail "--cov=proton.vpn.session --cov-report term" ""
   '';
 
   pythonImportsCheck = [ "proton.vpn.session" ];
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
index 7c438655963e..747fd171f3b3 100644
--- a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20240210";
+  version = "0.10.0.20240214";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-U19eJmRDA1Ozz6f81IbXepsXScf7yJZQiaNecqdsYK4=";
+    hash = "sha256-RaIGxfnB7M8ThIEoDPsKZ8LMr8eC74nH/W3GxDViMP4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pure-pcapy3/default.nix b/nixpkgs/pkgs/development/python-modules/pure-pcapy3/default.nix
index ad405c593853..8e07377723e0 100644
--- a/nixpkgs/pkgs/development/python-modules/pure-pcapy3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pure-pcapy3/default.nix
@@ -16,6 +16,12 @@ buildPythonPackage rec {
     hash = "sha256-uZ5F8W1K1BDrXrvH1dOeNT1+2n6G8K1S5NxcRaez6pI=";
   };
 
+  # fixes: AttributeError: 'FixupTest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'?
+  postPatch = ''
+    substituteInPlace test/__init__.py \
+      --replace-fail "assertEquals" "assertEqual"
+  '';
+
   pythonImportsCheck = [
     "pure_pcapy"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix b/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
index 12bdef693e20..0954993ccd1f 100644
--- a/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "py-serializable";
-  version = "1.0.0";
+  version = "1.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "madpah";
     repo = "serializable";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7WYe3X4wVUC7HyYoCVQYWm61C+J3r91Ci8IHNeWBTVE=";
+    hash = "sha256-OsgFzT5qGyszO4jFYWIAgGY41s0ZBEMwCbWZeY189h4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
index cd847241f60c..e0d072684e26 100644
--- a/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , httpx
-, pydantic_1
+, pydantic
 , pytestCheckHook
 , pythonOlder
 , setuptools
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    pydantic_1
+    pydantic
   ];
 
   nativeCheckInputs = [
@@ -54,5 +54,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/Skyscanner/pycfmodel/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
+    broken = versionAtLeast pydantic.version "2";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyctr/default.nix b/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
index ddb9937df356..0ce889fdb739 100644
--- a/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyctr";
-  version = "0.7.3";
+  version = "0.7.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lpW2pcT5oG7tBUXRj7cTD9hCx51hVhVODq9RxP9GKIg=";
+    hash = "sha256-1nPP+rz/8BiFHu3nGcHuqCPwyyR55LUhoBprHFTudWQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydeck/default.nix b/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
index da009608b678..6edd7a379b3e 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
@@ -26,6 +26,12 @@ buildPythonPackage rec {
     hash = "sha256-B+3egz98/O9nSRJDURlap9zSRmPUkJ/XiY29C2+8Aew=";
   };
 
+  # upstream has an invalid pyproject.toml
+  # https://github.com/visgl/deck.gl/issues/8469
+  postPatch = ''
+    rm pyproject.toml
+  '';
+
   nativeBuildInputs = [
     jinja2
     jupyter
diff --git a/nixpkgs/pkgs/development/python-modules/pyformlang/default.nix b/nixpkgs/pkgs/development/python-modules/pyformlang/default.nix
index 63bf98a0ea5f..9a76ec2a1dfa 100644
--- a/nixpkgs/pkgs/development/python-modules/pyformlang/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyformlang/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pyformlang";
-  version = "1.0.6";
+  version = "1.0.7";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LHQM+Vy8YVfTtpWaveYgBlp74AnS/IF3Y1EbgwVku7I=";
+    hash = "sha256-i4ib18Ktyc9pRu4P+tQIHoZ/IbAOk8Dn0MXJoxw8gAA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pykka/default.nix b/nixpkgs/pkgs/development/python-modules/pykka/default.nix
index 5bc06fe17091..899fe46feb5d 100644
--- a/nixpkgs/pkgs/development/python-modules/pykka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykka/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pykka";
-  version = "4.0.1";
+  version = "4.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jodal";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SYgT69/AZX/JDm89PwFqrUL9Ll1iHRKEy78BN4QKz9Y=";
+    hash = "sha256-2baFwZPNuVU39Kt5B8QvGKu7jMbg+GZ3ROoTxzPOXac=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylibjpeg-libjpeg/default.nix b/nixpkgs/pkgs/development/python-modules/pylibjpeg-libjpeg/default.nix
index a9ffc663fcaf..3872fa6b2417 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibjpeg-libjpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylibjpeg-libjpeg/default.nix
@@ -3,14 +3,16 @@
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
-, cython
+, cython_3
+, poetry-core
+, setuptools
 , numpy
 }:
 
 buildPythonPackage rec {
   pname = "pylibjpeg-libjpeg";
-  version = "1.3.4";
-  format = "setuptools";
+  version = "2.02";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,12 +20,14 @@ buildPythonPackage rec {
     owner = "pydicom";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VmqeoMU8riLpWyC+yKqq56TkruxOie6pjbg+ozivpBk=";
+    hash = "sha256-mGwku19Xe605fF3UU59712rYp+s/pP79lBRl79fhhTI=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    cython
+    cython_3
+    poetry-core
+    setuptools
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylibjpeg/default.nix b/nixpkgs/pkgs/development/python-modules/pylibjpeg/default.nix
index 65055d94280c..134b0ebdb993 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibjpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylibjpeg/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
+, flit-core
 , setuptools
 , numpy
 , pydicom
@@ -31,7 +32,7 @@ in
 
 buildPythonPackage rec {
   pname = "pylibjpeg";
-  version = "1.4.0";
+  version = "2.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -40,10 +41,10 @@ buildPythonPackage rec {
     owner = "pydicom";
     repo = "pylibjpeg";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Px1DyYDkKAUdYo+ZxZ1w7TkPzWN++styiFl02iQOvyQ=";
+    hash = "sha256-qGtrphsBBVieGS/8rdymbsjLMU/QEd7zFNAANN8bD+k=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  nativeBuildInputs = [ flit-core ];
 
   propagatedBuildInputs = [ numpy ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-flask/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-flask/default.nix
index 4a26e256d803..0928e0bd07e1 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint-flask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint-flask/default.nix
@@ -1,37 +1,50 @@
-{ buildPythonPackage
+{ lib
+, astroid
+, buildPythonPackage
 , fetchPypi
-, isPy3k
-, lib
-
-# pythonPackages
+, pylint
 , pylint-plugin-utils
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pylint-flask";
   version = "0.6";
-  format = "setuptools";
-  disabled = !isPy3k;
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05qmwgkpvaa5k05abqjxfbrfk3wpdqb8ph690z7bzxvb47i7vngl";
+    hash = "sha256-9Nl94iFr97/OB8nAixZul4/p8nJd4qUKmEWpfefjFRc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  buildInputs = [
+    pylint
+  ];
+
   propagatedBuildInputs = [
+    astroid
     pylint-plugin-utils
   ];
 
   # Tests require a very old version of pylint
-  #   also tests are only available at GitHub, with an old release tag
+  # also tests are only available at GitHub, with an old release tag
   doCheck = false;
 
+  pythonImportsCheck = [
+    "pylint_flask"
+  ];
+
   meta = with lib; {
     description = "A Pylint plugin to analyze Flask applications";
     homepage = "https://github.com/jschaf/pylint-flask";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix
index cdc29eb19621..83315aed22a0 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint-plugin-utils/default.nix
@@ -39,9 +39,6 @@ buildPythonPackage rec {
     "pylint_plugin_utils"
   ];
 
-  # 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";
diff --git a/nixpkgs/pkgs/development/python-modules/pylutron/default.nix b/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
index f217b46179f9..49ee5e278485 100644
--- a/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
@@ -1,23 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pylutron";
-  version = "0.2.11";
-  format = "setuptools";
+  version = "0.2.12";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9M7bCZD3zGZM62ID0yB/neKkF+6UW8x5m2y5vj/mYes=";
+    hash = "sha256-UTn4HfyiyQAekIZD4I5lacYb7ySRhW8OUgiOg33JZtQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pylutron" ];
+
+  pythonImportsCheck = [
+    "pylutron"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/thecynic/pylutron/releases/tag/${version}";
     description = "Python library for controlling a Lutron RadioRA 2 system";
     homepage = "https://github.com/thecynic/pylutron";
     license = with licenses; [ mit ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymc/default.nix b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
index 5427eafb1035..185250bddda5 100644
--- a/nixpkgs/pkgs/development/python-modules/pymc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.10.3";
+  version = "5.10.4";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3y8ORRyWjr4KT818ktXrgX4jB0Rkrnf4DQaNkyXGrts=";
+    hash = "sha256-bOrWgZaSOXXalw251cm5JUDkAARGaxmUk+z3SY6Git8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymicrobot/default.nix b/nixpkgs/pkgs/development/python-modules/pymicrobot/default.nix
index 723eb220b587..947c065fc32c 100644
--- a/nixpkgs/pkgs/development/python-modules/pymicrobot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymicrobot/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pymicrobot";
-  version = "0.0.12";
+  version = "0.0.16";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyMicroBot";
     inherit version;
-    hash = "sha256-Ysg97ApwbraRn19Mn5pJsg91dzf/njnNZiBJQKZqIbQ=";
+    hash = "sha256-W1i1kKDM6DimcerhS5L7yEa32+cB032DrCAfhMCso4A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyngrok/default.nix b/nixpkgs/pkgs/development/python-modules/pyngrok/default.nix
index 6b70a33f0f89..2dc7e9f36ebc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyngrok/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyngrok/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyngrok";
-  version = "7.1.1";
+  version = "7.1.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UanhPx92E8mR6ertGKIGm1HAbiFXf4ATJonvPjNdFS0=";
+    hash = "sha256-iyLJ3kr0O9wa6ipgMgntH8VbSo1a6btYoQZOaogAfKw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynose/default.nix b/nixpkgs/pkgs/development/python-modules/pynose/default.nix
new file mode 100644
index 000000000000..12730465b7a1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pynose/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pynose";
+  version = "1.4.8";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mdmintz";
+    repo = "pynose";
+    rev = "v${version}";
+    hash = "sha256-V6jZBEkEAKzClA/3s+Lyfm9xExgCEJbLCNnIHmZ94E4=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "pynose fixes nose to extend unittest and make testing easier";
+    homepage = "https://github.com/mdmintz/pynose";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyocr/default.nix b/nixpkgs/pkgs/development/python-modules/pyocr/default.nix
index 407166e98c90..0d87538a1ce4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyocr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyocr/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , fetchFromGitLab
 , buildPythonPackage
 , pillow
@@ -9,6 +10,8 @@
 , pytestCheckHook
 , setuptools
 , setuptools-scm
+, withTesseractSupport ? true
+, withCuneiformSupport ? stdenv.hostPlatform.isLinux
 }:
 
 buildPythonPackage rec {
@@ -27,12 +30,14 @@ buildPythonPackage rec {
     hash = "sha256-gE0+qbHCwpDdxXFY+4rjVU2FbUSfSVrvrVMcWUk+9FU=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./paths.patch;
-      inherit cuneiform tesseract;
-    })
-  ];
+  patches = [] ++ (lib.optional withTesseractSupport (substituteAll {
+      src = ./paths-tesseract.patch;
+      inherit tesseract;
+      tesseractLibraryLocation = "${tesseract}/lib/libtesseract${stdenv.hostPlatform.extensions.sharedLibrary}";
+    })) ++ (lib.optional stdenv.hostPlatform.isLinux (substituteAll {
+      src = ./paths-cuneiform.patch;
+      inherit cuneiform;
+    }));
 
   propagatedBuildInputs = [ pillow ];
 
@@ -45,6 +50,6 @@ buildPythonPackage rec {
     changelog = "https://gitlab.gnome.org/World/OpenPaperwork/pyocr/-/blob/${version}/ChangeLog";
     description = "A Python wrapper for Tesseract and Cuneiform";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ symphorien ];
+    maintainers = with maintainers; [ symphorien tomodachi94 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyocr/paths-cuneiform.patch b/nixpkgs/pkgs/development/python-modules/pyocr/paths-cuneiform.patch
new file mode 100644
index 000000000000..a25f08eddd06
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyocr/paths-cuneiform.patch
@@ -0,0 +1,101 @@
+commit cfc05af26b571e9ca09e9c709c0fb8934e9e46dd
+Author: Guillaume Girol <symphorien+git@xlumurb.eu>
+Date:   Sat Aug 20 17:48:01 2022 +0200
+
+    Fix finding cuneiform
+
+diff --git a/src/pyocr/cuneiform.py b/src/pyocr/cuneiform.py
+index 2e5b717..35647e2 100644
+--- a/src/pyocr/cuneiform.py
++++ b/src/pyocr/cuneiform.py
+@@ -25,13 +25,9 @@ from . import builders
+ from .error import CuneiformError
+ 
+ 
+-# CHANGE THIS IF CUNEIFORM IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
+-CUNEIFORM_CMD = 'cuneiform'
++CUNEIFORM_CMD = '@cuneiform@/bin/cuneiform'
+ 
+-CUNEIFORM_DATA_POSSIBLE_PATHS = [
+-    "/usr/local/share/cuneiform",
+-    "/usr/share/cuneiform",
+-]
++CUNEIFORM_DATA_POSSIBLE_PATHS = ['@cuneiform@/share/cuneiform']
+ 
+ LANGUAGES_LINE_PREFIX = "Supported languages: "
+ LANGUAGES_SPLIT_RE = re.compile("[^a-z]")
+diff --git a/tests/test_cuneiform.py b/tests/test_cuneiform.py
+index b76e93c..266f6b2 100644
+--- a/tests/test_cuneiform.py
++++ b/tests/test_cuneiform.py
+@@ -21,7 +21,7 @@ class TestCuneiform(BaseTest):
+         # XXX is it useful?
+         which.return_value = True
+         self.assertTrue(cuneiform.is_available())
+-        which.assert_called_once_with("cuneiform")
++        which.assert_called_once_with("@cuneiform@/bin/cuneiform")
+ 
+     @patch("subprocess.Popen")
+     def test_version(self, popen):
+@@ -54,7 +54,7 @@ class TestCuneiform(BaseTest):
+         self.assertIn("eng", langs)
+         self.assertIn("fra", langs)
+         popen.assert_called_once_with(
+-            ["cuneiform", "-l"],
++            ["@cuneiform@/bin/cuneiform", "-l"],
+             stdout=subprocess.PIPE, stderr=subprocess.STDOUT
+         )
+ 
+@@ -110,7 +110,7 @@ class TestCuneiformTxt(BaseTest):
+         output = cuneiform.image_to_string(self.image)
+         self.assertEqual(output, self._get_file_content("text").strip())
+         popen.assert_called_once_with(
+-            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
++            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
+         )
+@@ -126,7 +126,7 @@ class TestCuneiformTxt(BaseTest):
+                                            builder=self.builder)
+         self.assertEqual(output, self._get_file_content("text").strip())
+         popen.assert_called_once_with(
+-            ["cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
++            ["@cuneiform@/bin/cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
+              "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
+@@ -143,7 +143,7 @@ class TestCuneiformTxt(BaseTest):
+                                            builder=self.builder)
+         self.assertEqual(output, self._get_file_content("text").strip())
+         popen.assert_called_once_with(
+-            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
++            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
+         )
+@@ -174,7 +174,7 @@ class TestCuneiformTxt(BaseTest):
+         output = cuneiform.image_to_string(image, builder=self.builder)
+         self.assertEqual(output, self._get_file_content("text").strip())
+         popen.assert_called_once_with(
+-            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
++            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
+         )
+@@ -230,7 +230,7 @@ class TestCuneiformWordBox(BaseTest):
+         output = cuneiform.image_to_string(self.image,
+                                            builder=self.builder)
+         popen.assert_called_once_with(
+-            ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
++            ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
+         )
+@@ -284,7 +284,7 @@ class TestCuneiformLineBox(BaseTest):
+         output = cuneiform.image_to_string(self.image,
+                                            builder=self.builder)
+         popen.assert_called_once_with(
+-            ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
++            ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+             stderr=subprocess.STDOUT
diff --git a/nixpkgs/pkgs/development/python-modules/pyocr/paths.patch b/nixpkgs/pkgs/development/python-modules/pyocr/paths-tesseract.patch
index c3c802c20649..1a5aa8b367eb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyocr/paths.patch
+++ b/nixpkgs/pkgs/development/python-modules/pyocr/paths-tesseract.patch
@@ -2,28 +2,8 @@ commit cfc05af26b571e9ca09e9c709c0fb8934e9e46dd
 Author: Guillaume Girol <symphorien+git@xlumurb.eu>
 Date:   Sat Aug 20 17:48:01 2022 +0200
 
-    Fix finding tesseract and cuneiform
+    Fix finding tesseract
 
-diff --git a/src/pyocr/cuneiform.py b/src/pyocr/cuneiform.py
-index 2e5b717..35647e2 100644
---- a/src/pyocr/cuneiform.py
-+++ b/src/pyocr/cuneiform.py
-@@ -25,13 +25,9 @@ from . import builders
- from .error import CuneiformError
- 
- 
--# CHANGE THIS IF CUNEIFORM IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
--CUNEIFORM_CMD = 'cuneiform'
-+CUNEIFORM_CMD = '@cuneiform@/bin/cuneiform'
- 
--CUNEIFORM_DATA_POSSIBLE_PATHS = [
--    "/usr/local/share/cuneiform",
--    "/usr/share/cuneiform",
--]
-+CUNEIFORM_DATA_POSSIBLE_PATHS = ['@cuneiform@/share/cuneiform']
- 
- LANGUAGES_LINE_PREFIX = "Supported languages: "
- LANGUAGES_SPLIT_RE = re.compile("[^a-z]")
 diff --git a/src/pyocr/libtesseract/tesseract_raw.py b/src/pyocr/libtesseract/tesseract_raw.py
 index 1edec8c..434a336 100644
 --- a/src/pyocr/libtesseract/tesseract_raw.py
@@ -90,7 +70,7 @@ index 1edec8c..434a336 100644
 -        "libtesseract.4.dylib",
 -    ]
 -
-+libnames = [ "@tesseract@/lib/libtesseract.so" ]
++libnames = [ "@tesseractLibraryLocation@" ]
  
  g_libtesseract = None
  
@@ -125,82 +105,6 @@ index 0fe0d20..c1fdd27 100644
  
  TESSDATA_EXTENSION = ".traineddata"
  
-diff --git a/tests/test_cuneiform.py b/tests/test_cuneiform.py
-index b76e93c..266f6b2 100644
---- a/tests/test_cuneiform.py
-+++ b/tests/test_cuneiform.py
-@@ -21,7 +21,7 @@ class TestCuneiform(BaseTest):
-         # XXX is it useful?
-         which.return_value = True
-         self.assertTrue(cuneiform.is_available())
--        which.assert_called_once_with("cuneiform")
-+        which.assert_called_once_with("@cuneiform@/bin/cuneiform")
- 
-     @patch("subprocess.Popen")
-     def test_version(self, popen):
-@@ -54,7 +54,7 @@ class TestCuneiform(BaseTest):
-         self.assertIn("eng", langs)
-         self.assertIn("fra", langs)
-         popen.assert_called_once_with(
--            ["cuneiform", "-l"],
-+            ["@cuneiform@/bin/cuneiform", "-l"],
-             stdout=subprocess.PIPE, stderr=subprocess.STDOUT
-         )
- 
-@@ -110,7 +110,7 @@ class TestCuneiformTxt(BaseTest):
-         output = cuneiform.image_to_string(self.image)
-         self.assertEqual(output, self._get_file_content("text").strip())
-         popen.assert_called_once_with(
--            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-+            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-         )
-@@ -126,7 +126,7 @@ class TestCuneiformTxt(BaseTest):
-                                            builder=self.builder)
-         self.assertEqual(output, self._get_file_content("text").strip())
-         popen.assert_called_once_with(
--            ["cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
-+            ["@cuneiform@/bin/cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
-              "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-@@ -143,7 +143,7 @@ class TestCuneiformTxt(BaseTest):
-                                            builder=self.builder)
-         self.assertEqual(output, self._get_file_content("text").strip())
-         popen.assert_called_once_with(
--            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-+            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-         )
-@@ -174,7 +174,7 @@ class TestCuneiformTxt(BaseTest):
-         output = cuneiform.image_to_string(image, builder=self.builder)
-         self.assertEqual(output, self._get_file_content("text").strip())
-         popen.assert_called_once_with(
--            ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-+            ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-         )
-@@ -230,7 +230,7 @@ class TestCuneiformWordBox(BaseTest):
-         output = cuneiform.image_to_string(self.image,
-                                            builder=self.builder)
-         popen.assert_called_once_with(
--            ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
-+            ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-         )
-@@ -284,7 +284,7 @@ class TestCuneiformLineBox(BaseTest):
-         output = cuneiform.image_to_string(self.image,
-                                            builder=self.builder)
-         popen.assert_called_once_with(
--            ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
-+            ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
-             stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-             stderr=subprocess.STDOUT
-         )
 diff --git a/tests/test_libtesseract.py b/tests/test_libtesseract.py
 index cc31a50..890c02c 100644
 --- a/tests/test_libtesseract.py
diff --git a/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix
index 0b6bb48857bc..59db986ad44f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoctoprintapi/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+, setuptools
 
 # propagated
 , aiohttp
@@ -16,15 +18,21 @@ let
 in
 buildPythonPackage {
   inherit pname version;
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rfleming71";
-    repo = pname;
+    repo = "pyoctoprintapi";
     rev = "refs/tags/v${version}";
     hash = "sha256-Jf/zYnBHVl3TYxFy9Chy6qNH/eCroZkmUOEWfd62RIo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
index 1cb510076431..86bcf10bcf3d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.13.4";
+  version = "1.13.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VMf6WBWf33KEWJG8UtCDZCa20a8kmVd5UpLIcJgzDis=";
+    hash = "sha256-wH4LCfjnxAwub/BCe27osyJVUZSOMDjjxItv0aEa8Ic=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix b/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
index ad81b8e7f068..7501cddbad18 100644
--- a/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.10";
+  version = "1.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "JessicaTegner";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256:05m585l4sipjzpkrv4yj5s7w45yxhxlym55lkhnavsshlvisinkz";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9fpits8O/50maM/e1lVVqBoTwUmcI+/IAYhVX1Pt6ZE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix b/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
index ebc8c4234375..f6c5d8fc2387 100644
--- a/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyprecice";
-  version = "2.5.0.4";
+  version = "3.0.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "precice";
     repo = "python-bindings";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Nau4ytOSv5WOly/hbHO2M6Rgx1ileJrzfCfNJFnwVaw=";
+    hash = "sha256-iW3Mll28Z3Ew+eIJxeF1HR7JhVhXs9FiYaAb5TwYSpg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyprobables/default.nix b/nixpkgs/pkgs/development/python-modules/pyprobables/default.nix
new file mode 100644
index 000000000000..be4410cce276
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyprobables/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyprobables";
+  version = "0.6.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "barrust";
+    repo = "pyprobables";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-maikrZlBzhv35zPXmKqdJzAz6eZDmluLUvkOkaPTCDU=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "probables"
+  ];
+
+  meta = with lib; {
+    description = "Probabilistic data structures";
+    homepage = "https://github.com/barrust/pyprobables";
+    changelog = "https://github.com/barrust/pyprobables/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix b/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
index 98a02ad48e33..62b23795d502 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
@@ -3,21 +3,27 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pyrisco";
-  version = "0.5.8";
-  format = "setuptools";
+  version = "0.5.9";
+  pyproject = true;
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "OnFreund";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-PQ1h9UVQ2DQMInxdAaLES7uDWAxwDra+YfAmz5jjV6g=";
+    repo = "pyrisco";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-qapJcYesOddXFChApFT7hvxLblUigDW40zRe6CYWx+s=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
@@ -32,6 +38,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python interface to Risco alarm systems through Risco Cloud";
     homepage = "https://github.com/OnFreund/pyrisco";
+    changelog = "https://github.com/OnFreund/pyrisco/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix b/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
index c0413ab53fd6..f6a185fc6dba 100644
--- a/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyroute2/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.7.11";
+  version = "0.7.12";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "svinota";
     repo = "pyroute2";
     rev = "refs/tags/${version}";
-    hash = "sha256-rX/aUmL9H4dSoRngxVVX1olfGtxK93g76E6Z0CYNr2M=";
+    hash = "sha256-zB792ZwDWd74YBYvQ5au0t2RWTIAqrWvNtQ/e+ZEk50=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index 6639be7e61c2..2810332d42bb 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.4.19";
+  version = "1.4.20";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "tenable";
     repo = "pyTenable";
     rev = "refs/tags/${version}";
-    hash = "sha256-UvnDpt0PrK2stO9eRXtqApJjlzXCIXmwMq7ewx+fQ/0=";
+    hash = "sha256-NiAv0zNITpKIQ2TarNoU4HwKuHm22LTu8pJUi0SDlfE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
index 3ac626a3f997..8a53bc17f12b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
@@ -45,7 +45,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     black
-    ruff
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
index bdf97e9c5c31..698b61ce058e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-testinfra";
-  version = "10.0.0";
+  version = "10.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-L7fQGFRYqbpmn/FNDdvsizkAxr3j+2+tmwlzdM5Kt30=";
+    hash = "sha256-93Qzm5R3Ws3zqMSjeTqOrS6N/HD/NLd4vhWquhQPoZ4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-textual-snapshot/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-textual-snapshot/default.nix
new file mode 100644
index 000000000000..d9b51373bcdf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-textual-snapshot/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, jinja2
+, pytest
+, rich
+, pythonOlder
+, syrupy
+, textual
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-textual-snapshot";
+  version = "0.4.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Textualize";
+    repo = "pytest-textual-snapshot";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-XkXeyodRdwWqCP63Onx82Z3IbNLDDR/Lvaw8xUY7fAg=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    jinja2
+    rich
+    syrupy
+    textual
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pytest_textual_snapshot"
+  ];
+
+  meta = with lib; {
+    description = "Snapshot testing for Textual applications";
+    homepage = "https://github.com/Textualize/pytest-textual-snapshot";
+    changelog = "https://github.com/Textualize/pytest-textual-snapshot/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-editor/default.nix b/nixpkgs/pkgs/development/python-modules/python-editor/default.nix
index 948076b5f276..40c86f3cf527 100644
--- a/nixpkgs/pkgs/development/python-modules/python-editor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-editor/default.nix
@@ -1,13 +1,18 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
 
-buildPythonPackage rec {
-  version = "1.0.4";
-  format = "setuptools";
+buildPythonPackage {
   pname = "python-editor";
+  version = "1.0.4-unstable-2023-10-11";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b";
+  src = fetchFromGitHub {
+    owner = "fmoo";
+    repo = "python-editor";
+    rev = "c6cd09069371781b2b9381839849a524d25db07f";
+    hash = "sha256-TjfY7ustZaNPmndHPVwmQ8zkYPmDs/C5SNJl1zXjprc=";
   };
 
   # No proper tests
diff --git a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index 59cd210a0a04..952893fec269 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.8.0";
+  version = "4.9.0";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-btXwx9GRLBcjtcGdgckb2Y/MxC0E/rKTWKgkP8olezo=";
+    hash = "sha256-FpPGIK5HVtTzDOpORo+WPhS1860P3dm1nJkvakpzsjE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
index f8e189f4bd8c..bf6ce265e016 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-socketio/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.10.0";
+  version = "5.11.1";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nlzTzIswMRjvJ9l9TOtVvRvbKlQPvNH0/P1NIbQCmy8=";
+    hash = "sha256-miIl/+3JtjtoQaS6Jy0M9lPQJQp3VlpvrO5Hqlrq5JM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-technove/default.nix b/nixpkgs/pkgs/development/python-modules/python-technove/default.nix
new file mode 100644
index 000000000000..795ddf5b1236
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-technove/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, aiohttp
+, aresponses
+, awesomeversion
+, backoff
+, buildPythonPackage
+, cachetools
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "python-technove";
+  version = "1.2.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "Moustachauve";
+    repo = "pytechnove";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-kc5jR0IM2OagvmtqhicnBbrwrdk3E/iJhRIgUtKoirI=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "--cov" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    awesomeversion
+    backoff
+    cachetools
+    yarl
+  ];
+
+  nativeCheckInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "technove"
+  ];
+
+  meta = with lib; {
+    description = "Python library to interact with TechnoVE local device API";
+    homepage = "https://github.com/Moustachauve/pytechnove";
+    changelog = "https://github.com/Moustachauve/pytechnove/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
index 7a0d04e979b0..62987a03bc43 100644
--- a/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
@@ -11,14 +11,14 @@
 }:
 buildPythonPackage rec {
   pname = "python-youtube";
-  version = "0.9.3";
+  version = "0.9.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "sns-sdks";
     repo = "python-youtube";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vd+cbESypc/q7eSrERqkMvGhVMIfKMsoxPblPJwPiUg=";
+    hash = "sha256-OesJfnXI1w2d5moJyqvrWU3sCxDaqnk1bAhtK6SPjFw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
index e26745e77566..c50def28bc11 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes-contrib-drivers/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "qcodes-contrib-drivers";
-  version = "0.18.0";
+  version = "0.21.0";
 
   disabled = pythonOlder "3.8";
   format = "pyproject";
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "QCoDeS";
     repo = "Qcodes_contrib_drivers";
-    rev = "v${version}";
-    sha256 = "sha256-hg3jSiuOkiuOInnUzzlKtBeoP5zkCDBQ3xP6KCwq+lU=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-7WkG6Bq4J4PU4eWX52RaupQ8cNzE+sJ7s3PoXFRxG2w=";
   };
 
   nativeBuildInputs = [ setuptools versioningit ];
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
index b8b7ca6a5eb9..740939959e76 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
-    owner = "QCoDeS";
+    owner = "microsoft";
     repo = "Qcodes";
     rev = "refs/tags/v${version}";
     hash = "sha256-AggAVq/yfJUZRwoQb29QoIbVIAdV3solKCjivqucLZk=";
@@ -119,6 +119,8 @@ buildPythonPackage rec {
     "-n"
     "$NIX_BUILD_CORES"
     # Follow upstream with settings
+    "-m 'not serial'"
+    "--hypothesis-profile ci"
     "--durations=20"
   ];
 
@@ -141,12 +143,22 @@ buildPythonPackage rec {
     "test_get_array_in_scalar_param_data"
     "test_get_parameter_data"
     "test_ramp_safely"
+
+    # more flaky tests
+    # https://github.com/microsoft/Qcodes/issues/5551
+    "test_query_close_once_at_init"
+    "test_step_ramp"
   ];
 
   pythonImportsCheck = [
     "qcodes"
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail 'default-version = "0.0"' 'default-version = "${version}"'
+  '';
+
   postInstall = ''
     export HOME="$TMPDIR"
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
index 60ed1433794a..6b542b7d04f0 100644
--- a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -6,7 +6,7 @@
 , httpx
 , iso8601
 , poetry-core
-, pydantic_1
+, pydantic
 , pyjwt
 , pytest-asyncio
 , pytestCheckHook
@@ -47,6 +47,7 @@ buildPythonPackage rec {
     "attrs"
     "httpx"
     "iso8601"
+    "pydantic"
   ];
 
   nativeBuildInputs = [
@@ -58,7 +59,7 @@ buildPythonPackage rec {
     attrs
     httpx
     iso8601
-    pydantic_1
+    pydantic
     pyjwt
     python-dateutil
     retrying
diff --git a/nixpkgs/pkgs/development/python-modules/rangeparser/default.nix b/nixpkgs/pkgs/development/python-modules/rangeparser/default.nix
new file mode 100644
index 000000000000..8cc4833975c0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rangeparser/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "rangeparser";
+  version = "0.1.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    pname = "RangeParser";
+    inherit version;
+    hash = "sha256-gjA7Iytg802Lv7/rLfhGE0yjz4e6FfOXbEoWNPjhCOY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "rangeparser"
+  ];
+
+  meta = with lib; {
+    description = "Parses ranges";
+    homepage = "https://pypi.org/project/RangeParser/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index f3ec2c4123a8..1e4b0299be29 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -31,16 +31,16 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "1.1.1";
-  format = "pyproject";
+  version = "1.2.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "requests-cache";
     repo = "requests-cache";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0KBx6nplD/l8GZfMbyUtgHj2e4/vH9EAgdyNFm+kPyM=";
+    hash = "sha256-w1ptKi/MH3kGZxLMUNq/Gs6btGx+n2fG4nfQUXCXmiY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests/default.nix b/nixpkgs/pkgs/development/python-modules/requests/default.nix
index 44733b2da0af..33749a992471 100644
--- a/nixpkgs/pkgs/development/python-modules/requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     hash = "sha256-lCxadY+Y15Dq7Ropy27vx/+w0c968Fw9J5Flbb1q0eE=";
   };
 
-  propagatedBuildInputs = [
+  dependencies = [
     brotlicffi
     certifi
     charset-normalizer
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  passthru.optional-dependencies = {
+  optional-dependencies = {
     security = [];
     socks = [
       pysocks
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     pytest-xdist
     pytestCheckHook
   ]
-  ++ passthru.optional-dependencies.socks;
+  ++ optional-dependencies.socks;
 
   disabledTests = [
     # Disable tests that require network access and use httpbin
diff --git a/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix b/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix
index bc6054ffad1b..e679937dbd4c 100644
--- a/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requirements-detector/default.nix
@@ -7,25 +7,31 @@
 , semver
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 , toml
 }:
 
 buildPythonPackage rec {
   pname = "requirements-detector";
   version = "1.2.2";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "landscapeio";
-    repo = pname;
+    repo = "requirements-detector";
     rev = "refs/tags/${version}";
     hash = "sha256-qmrHFQRypBJOI1N6W/Dtc5ss9JGqoPhFlbqrLHcb6vc=";
   };
 
+  pythonRelaxDeps = [
+    "astroid"
+  ];
+
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rerun-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/rerun-sdk/default.nix
new file mode 100644
index 000000000000..7c6c13be63a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rerun-sdk/default.nix
@@ -0,0 +1,70 @@
+{
+  buildPythonPackage,
+  lib,
+  rustPlatform,
+  stdenv,
+  attrs,
+  numpy,
+  pillow,
+  pyarrow,
+  rerun,
+  torch,
+  typing-extensions,
+  pytestCheckHook,
+  python,
+}:
+
+buildPythonPackage {
+  pname = "rerun-sdk";
+  inherit (rerun) version;
+  pyproject = true;
+
+  inherit (rerun) src;
+  inherit (rerun) cargoDeps;
+
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    numpy
+    pillow
+    pyarrow
+    typing-extensions
+  ];
+
+  buildAndTestSubdir = "rerun_py";
+
+  # https://github.com/NixOS/nixpkgs/issues/289340
+  #
+  # Alternatively, one could
+  # dontUsePythonImportsCheck = true;
+  # dontUsePytestCheck = true;
+  postInstall = ''
+    rm $out/${python.sitePackages}/rerun_sdk.pth
+    ln -s rerun_sdk/rerun $out/${python.sitePackages}/rerun
+  '';
+
+  pythonImportsCheck = [ "rerun" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    torch
+  ];
+
+  inherit (rerun) addBuildInputRunpathsPhase;
+  postPhases = lib.optionals stdenv.isLinux [ "addBuildInputRunpathsPhase" ];
+
+  disabledTestPaths = [
+    # "fixture 'benchmark' not found"
+    "tests/python/log_benchmark/test_log_benchmark.py"
+  ];
+
+  meta = {
+    description = "Python bindings for `rerun` (an interactive visualization tool for stream data)";
+    inherit (rerun.meta) changelog homepage license maintainers;
+    mainProgram = "rerun";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/resend/default.nix b/nixpkgs/pkgs/development/python-modules/resend/default.nix
new file mode 100644
index 000000000000..0fc371a76d2d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/resend/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+, pytestCheckHook
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "resend";
+  version = "0.7.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "resend";
+    repo = "resend-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3wX2xNz/6Erv97TlQCuF0Sha0fbJJX1LK9dx8xYG4M0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "resend"
+  ];
+
+  meta = with lib; {
+    description = "SDK for Resend";
+    homepage = "https://github.com/resend/resend-python";
+    changelog = "https://github.com/resend/resend-python/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rns/default.nix b/nixpkgs/pkgs/development/python-modules/rns/default.nix
index 3fc348be7561..e9641817a1eb 100644
--- a/nixpkgs/pkgs/development/python-modules/rns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rns/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.7.0";
+  version = "0.7.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-iwW52jPSCwelfByerKHxKgH4NbWwCJLPyHXyBeJPwaM=";
+    hash = "sha256-o4+wHkkH0jUzq6Co0bru7NwvVxiV6xrggfHlQsjsWso=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
index 00f710060cc7..f9f6bc5cf001 100644
--- a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.19.0";
+  version = "0.19.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = "refs/tags/${version}";
-    hash = "sha256-e7BY0Y2SdAtECKqOCUZfq7PcCR2bhQ4lESQD9jTaqpI=";
+    hash = "sha256-lBsfSiG1xSf+blNjQTLtTaG04ezE9eNVjqSAHVy57oY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index 6d0949a96e3f..e1423c9270e7 100644
--- a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.207.1";
+  version = "2.208.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nSFBx2s6vy5Ug2tBiPqNu4Q29LGW2LijoDKlC6m4CL4=";
+    hash = "sha256-9YcYRwwa5P31jZpDrsewBY+r2kjRmoGM8CkXqAMilvE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
index 72a3957723ea..9548f9136e8c 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
@@ -5,7 +5,6 @@
 , cryptography
 , cssselect
 , fetchPypi
-, fetchpatch
 , glibcLocales
 , installShellFiles
 , itemadapter
@@ -22,6 +21,7 @@
 , pythonOlder
 , queuelib
 , service-identity
+, setuptools
 , sybil
 , testfixtures
 , tldextract
@@ -32,31 +32,20 @@
 
 buildPythonPackage rec {
   pname = "scrapy";
-  version = "2.11.0";
-  format = "setuptools";
+  version = "2.11.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
     pname = "Scrapy";
-    hash = "sha256-PL3tzgw/DgSC1hvi10WGg758188UsO5q37rduA9bNqU=";
+    hash = "sha256-czoDnHQj5StpvygQtTMgk9TkKoSEYDWcB7Auz/j3Pr4=";
   };
 
-  patches = [
-    # Fix compatiblity with Twisted>=23.8. Remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/scrapy/scrapy/commit/aa95ada42cdf570f840f55c463375f8a81b303f8.patch";
-      hash = "sha256-LuhA5BqtjSUgkotplvUCtvGNYOTrl0MJRCXiSBMDFzY=";
-      excludes = [
-        "tests/CrawlerProcess/sleeping.py"
-        "tests/test_crawler.py"
-      ];
-    })
-  ];
-
   nativeBuildInputs = [
     installShellFiles
+    setuptools
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/securetar/default.nix b/nixpkgs/pkgs/development/python-modules/securetar/default.nix
index 6636bb50ae33..4104fa2dc499 100644
--- a/nixpkgs/pkgs/development/python-modules/securetar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/securetar/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "securetar";
-  version = "2023.12.0";
+  version = "2024.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pvizeli";
     repo = "securetar";
     rev = "refs/tags/${version}";
-    hash = "sha256-P8aq1RRlEmXhJ4n0TSLVjYx4dvkckuz2aDGkAvp7bfo=";
+    hash = "sha256-rYRbrpXo2oVW8SpddNsKb0FBdscovNUaGXLHy7WBiVU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index cee2e2fc599e..4d29391e8099 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -38,7 +38,7 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.40.3";
+  version = "1.40.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-durgUKpJ5H+xd4FBpNWVtfmMlreTbvQvUaTVPoJw5wQ=";
+    hash = "sha256-WyjyV1oBaRPDyawPckkgoA6JB974CNJG1h5YmmA10uo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/shap/default.nix b/nixpkgs/pkgs/development/python-modules/shap/default.nix
index cc042fcd4f52..cd51a145b67e 100644
--- a/nixpkgs/pkgs/development/python-modules/shap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shap/default.nix
@@ -116,6 +116,9 @@ buildPythonPackage rec {
     xgboost
   ];
 
+  # Test startup hangs with 0.43.0 and Hydra ends with a timeout
+  doCheck = false;
+
   disabledTestPaths = [
     # The resulting plots look sane, but does not match pixel-perfectly with the baseline.
     # Likely due to a matplotlib version mismatch, different backend, or due to missing fonts.
@@ -133,15 +136,6 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "shap"
-    "shap.explainers"
-    "shap.explainers.other"
-    "shap.plots"
-    "shap.plots.colors"
-    "shap.benchmark"
-    "shap.maskers"
-    "shap.utils"
-    "shap.actions"
-    "shap.models"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/skrl/default.nix b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
index 417c1c1fe351..143a86dff84e 100644
--- a/nixpkgs/pkgs/development/python-modules/skrl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "skrl";
-  version = "1.0.0";
+  version = "1.1.0";
   pyproject = true;
   disabled = pythonOlder "3.6";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Toni-SM";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-89OoJanmaB74SLF1qMI8WFBdN1czS7Yr7BmojaRdo4M=";
+    hash = "sha256-JsE8QQNOqvFQylrPuHEjejOTeQL652rM0EteAfLyeVI=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index 207390b050e6..af3dca512c62 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
@@ -13,6 +13,7 @@
 , psutil
 , pytest-asyncio
 , pytestCheckHook
+, setuptools
 , sqlalchemy
 , websocket-client
 , websockets
@@ -20,8 +21,8 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.26.2";
-  format = "setuptools";
+  version = "3.27.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -29,9 +30,18 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pvD86kbNOnuNT6+WTAKziJDUTx3ebJUq029UbSVuxdw=";
+    hash = "sha256-MA3pn6NQxzXYu/BBpOgfZWnS51dl7oXrAi43jenHhxI=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail ', "pytest-runner"' ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiodns
     aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/slowapi/default.nix b/nixpkgs/pkgs/development/python-modules/slowapi/default.nix
index 089d4d2743e9..c64a89d896df 100644
--- a/nixpkgs/pkgs/development/python-modules/slowapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slowapi/default.nix
@@ -10,37 +10,26 @@
 , pytestCheckHook
 , pythonAtLeast
 , pythonOlder
-, pythonRelaxDepsHook
 , redis
 , starlette
 }:
 
 buildPythonPackage rec {
   pname = "slowapi";
-  version = "0.1.8";
-  format = "pyproject";
+  version = "0.1.9";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "laurentS";
-    repo = pname;
+    repo = "slowapi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xgHz8b95SXf/GwzKPfQ/RHbUNJfCx6+7a2HB8+6hjsw=";
+    hash = "sha256-R/Mr+Qv22AN7HCDGmAUVh4efU8z4gMIyhC0AuKmxgdE=";
   };
 
-  pythonRelaxDeps = [
-    "limits"
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '["redis^3.4.1"]' '["redis"]'
-  '';
-
   nativeBuildInputs = [
     poetry-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/smtpdfix/default.nix b/nixpkgs/pkgs/development/python-modules/smtpdfix/default.nix
index f9d7d2931e5a..5d34cd6693bf 100644
--- a/nixpkgs/pkgs/development/python-modules/smtpdfix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smtpdfix/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonAtLeast
 , setuptools
 , pytest
 , portpicker
@@ -36,6 +37,11 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # https://github.com/bebleo/smtpdfix/issues/335
+    "test_missing_certs"
+  ];
+
   meta = with lib; {
     description = "An SMTP server for use as a pytest fixture for testing";
     homepage = "https://github.com/bebleo/smtpdfix";
diff --git a/nixpkgs/pkgs/development/python-modules/snakemake-interface-common/default.nix b/nixpkgs/pkgs/development/python-modules/snakemake-interface-common/default.nix
index 7b3cfd791219..740fd99013df 100644
--- a/nixpkgs/pkgs/development/python-modules/snakemake-interface-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snakemake-interface-common/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "snakemake-interface-common";
-  version = "1.15.3";
+  version = "1.17.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MiwdNr8+xX5oD1ilhDDhJcf4wWnfkayDMcnDyjYSWlo=";
+    hash = "sha256-1dvanwYCQE5usgXPhYCZfUpj4MyaLImQ5RskQvS6nJs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
index 3d37ec8471ec..31325c217864 100644
--- a/nixpkgs/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "snakemake-interface-storage-plugins";
-  version = "3.0.0";
+  version = "3.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MinqSMpBlp3pCgQxorkMdrJuO0GExJsO02kg2/mGsFw=";
+    hash = "sha256-S3+8u3U2o5FzUVSocR96zGbNL4Hof7yBqqSJIPdh3nQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/somajo/default.nix b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
index d7453d0955cf..02c716e0142a 100644
--- a/nixpkgs/pkgs/development/python-modules/somajo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "somajo";
-  version = "2.4.1";
+  version = "2.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "tsproisl";
     repo = "SoMaJo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-44avfokFgOQ62dswGpsNX+mywrtZLMTkMV4s+y0UusE=";
+    hash = "sha256-5rlgDnPYTtuVMincG5CgVwNh/IGmZk6ItvzdB/wHmgg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-book-theme/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-book-theme/default.nix
index bb96443d3183..7c951f697b8e 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-book-theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-book-theme/default.nix
@@ -9,18 +9,18 @@
 
 buildPythonPackage rec {
   pname = "sphinx-book-theme";
-  version = "1.1.0";
+  version = "1.1.2";
 
   format = "wheel";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit version format;
     dist = "py3";
     python = "py3";
     pname = "sphinx_book_theme";
-    hash = "sha256-CIvGnWX6uERq24aR7WFof3G/dQTJdAr2i8eM+TaiYRI=";
+    hash = "sha256-zudERm/eSPUDArhRKRsgiqZ+cmyjG3o7+5tuahRWY+A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
index 02abae52c4d1..639e6d2ab12b 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
@@ -27,6 +27,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     sphinx
+    # sphinxemoji.py imports pkg_resources directly
+    setuptools
    ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/stanio/default.nix b/nixpkgs/pkgs/development/python-modules/stanio/default.nix
index daf889dba688..ef4928e6e4f8 100644
--- a/nixpkgs/pkgs/development/python-modules/stanio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stanio/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "stanio";
-  version = "0.4.0";
+  version = "0.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i1hqwUs1zeGq0Yjb+FgkUVxoQtyVGitBHdE4+1w1/J8=";
+    hash = "sha256-3uQpMU2WXzkBga+o/3/4FERG7rWMwlR8zBCLpz5nROI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stem/default.nix b/nixpkgs/pkgs/development/python-modules/stem/default.nix
index a3ed8cb819a2..1dcaa22def4d 100644
--- a/nixpkgs/pkgs/development/python-modules/stem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stem/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "stem";
-  version = "1.8.3-unstable-2024-02-11";
+  version = "1.8.3-unstable-2024-02-13";
 
   disabled = pythonOlder "3.6";
 
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "torproject";
     repo = "stem";
-    rev = "9f1fa4ac53cf83a4cdd7155cc487212bf8bc08af";
-    hash = "sha256-AMyF4ir9Utb91dp1Swheyw1zQH6ZvgyW9kFp1g9JoQQ=";
+    rev = "9a9c7d43a7fdcde6d4a9cf95b831fb5e5923a160";
+    hash = "sha256-Oc73Jx31SLzuhT9Iym5HHszKfflKZ+3aky5flXudvmI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
index a87f18b929e4..8f9898657b65 100644
--- a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pint
-, pydantic_1 # use pydantic 2 on next release
+, pydantic
 , pythonOlder
 , pytz
 , requests
@@ -26,11 +26,6 @@ buildPythonPackage rec {
     hash = "sha256-U+QlSrijvT77/m+yjhFxbcVTQe51J+PR4Kc8N+qG+wI=";
   };
 
-  postPatch = ''
-    # Remove on next release
-    sed -i 's/pydantic==1.10.9/pydantic/' pyproject.toml
-  '';
-
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -39,7 +34,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     arrow
     pint
-    pydantic_1
+    pydantic
     pytz
     requests
     responses
@@ -58,5 +53,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/stravalib/stravalib/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ sikmir ];
+    broken = lib.versionAtLeast pydantic.version "2";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
index 98eb1cd188c9..3e1027913bd3 100644
--- a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.30.0";
+  version = "1.31.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kDM5FdnfjOOwbeMbilu6tR6M8JgtxsMtqdax8rSp+ng=";
+    hash = "sha256-38Q8qFtLTDHQl8J7mDuMzJYCIq2QeGKysvtN3wTFD9w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index 8714a77d8812..069b87b76f84 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
@@ -29,7 +29,7 @@
 , avx2Support  ? stdenv.hostPlatform.avx2Support
 , fmaSupport   ? stdenv.hostPlatform.fmaSupport
 # Darwin deps
-, Foundation, Security, cctools, llvmPackages_11
+, Foundation, Security, cctools, llvmPackages
 }:
 
 let
@@ -51,7 +51,7 @@ let
   # translation units, so the build fails at link time
   stdenv =
     if cudaSupport then cudaPackagesGoogle.backendStdenv
-    else if originalStdenv.isDarwin then llvmPackages_11.stdenv
+    else if originalStdenv.isDarwin then llvmPackages.stdenv
     else originalStdenv;
   inherit (cudaPackagesGoogle) cudatoolkit nccl;
   # use compatible cuDNN (https://www.tensorflow.org/install/source#gpu)
diff --git a/nixpkgs/pkgs/development/python-modules/tesla-fleet-api/default.nix b/nixpkgs/pkgs/development/python-modules/tesla-fleet-api/default.nix
index 9d498f37ecbc..18bfafa0ec8c 100644
--- a/nixpkgs/pkgs/development/python-modules/tesla-fleet-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tesla-fleet-api/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "tesla-fleet-api";
-  version = "0.4.1";
+  version = "0.4.3";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Teslemetry";
     repo = "python-tesla-fleet-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iKA2PuKEytF9ko4D+eHf+Nu+MzRDytz9Kc0zAPyOQ88=";
+    hash = "sha256-HsD7Q12Pa2gzEaRvZ2WEMiJDilgxgBHcHuptecJAZTI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix b/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
index 5f14accbaca7..b36ce6ed84e9 100644
--- a/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , hatchling
 , textual
 , universal-pathlib
@@ -10,12 +11,15 @@
 , paramiko
 , requests
 , s3fs
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "textual-universal-directorytree";
   version = "1.0.2";
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "juftin";
@@ -24,6 +28,15 @@ buildPythonPackage rec {
     hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo=";
   };
 
+  patches = [
+    # universal-pathlib upgrade, https://github.com/juftin/textual-universal-directorytree/pull/2
+    (fetchpatch {
+      name = "universal-pathlib-upgrade.patch";
+      url = "https://github.com/juftin/textual-universal-directorytree/commit/e445aff21ddf756e3f180c8308a75c41487667c3.patch";
+      hash = "sha256-Fftx8rrLPb6lQ+HBdB5Ai55LHMWEO6XftmFfZXbXIyk=";
+    })
+  ];
+
   nativeBuildInputs = [
     hatchling
   ];
@@ -44,7 +57,9 @@ buildPythonPackage rec {
     ];
   };
 
-  pythonImportsCheck = [ "textual_universal_directorytree" ];
+  pythonImportsCheck = [
+    "textual_universal_directorytree"
+  ];
 
   meta = with lib; {
     description = "Textual plugin for a DirectoryTree compatible with remote filesystems";
diff --git a/nixpkgs/pkgs/development/python-modules/torchio/default.nix b/nixpkgs/pkgs/development/python-modules/torchio/default.nix
index 66071011f2fb..3549664e15b9 100644
--- a/nixpkgs/pkgs/development/python-modules/torchio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchio/default.nix
@@ -19,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "torchio";
-  version = "0.19.1";
-  format = "pyproject";
+  version = "0.19.5";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fepegar";
-    repo = pname;
+    repo = "torchio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SNX558kSRCS9Eks00Kj2kFmo7hCUgV6saYLsnx/Kus0=";
+    hash = "sha256-RqKJStUZhnSmsifn3WjYLfmRkkme+GOe6dp0E0MW9tE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
index 5361e6bc49a3..19885c488c5e 100644
--- a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "torchmetrics";
-  version = "1.3.0.post";
+  version = "1.3.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -32,7 +32,7 @@ buildPythonPackage {
     owner = "Lightning-AI";
     repo = "torchmetrics";
     rev = "refs/tags/v${version}";
-    hash = "sha256-InwXOeQ/u7sdq/+gjm0CSCiuB/9YXP+rPVbvOSH16Dk=";
+    hash = "sha256-ZFpLoF4t1ld2c3exX9H8AYG0XQM7MKmWe/I8XZmdrZw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix b/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
index 4006c002d52c..d71d2c86194f 100644
--- a/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "tplink-omada-client";
-  version = "1.3.7";
-  format = "pyproject";
+  version = "1.3.11";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-iSCrFrcj6csslIkd8yt0wvvOSTCHRiMnsMOeUDcsE4U=";
+    hash = "sha256-/mH9VqdF1l89qtAhug+ii4PCRO0PxKDr7LzvevjuZgc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index d05cefe6ebe4..bf1de1ae4ab4 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "4.1.3";
+  version = "4.1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SIHIA6HKo3Ka6rmZrBZfSmN/sNfEjSImYUtbtQs3ozQ=";
+    hash = "sha256-JeURuw0YImIKRwi35tYWDa5CQqYfPZm+NJiap8Qo6mE=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/tuf/default.nix b/nixpkgs/pkgs/development/python-modules/tuf/default.nix
index b6965a7f42e2..2572c4ed8cd7 100644
--- a/nixpkgs/pkgs/development/python-modules/tuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tuf/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "tuf";
-  version = "3.1.0";
+  version = "3.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,12 +20,12 @@ buildPythonPackage rec {
     owner = "theupdateframework";
     repo = "python-tuf";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IGF/8RdX7Oxl6gdqPGN1w/6q4zaei+MnYXBZepB4KUA=";
+    hash = "sha256-HiF/b6aOhDhhQqYx/bjMXHABxmAJY4vkLlTheiL8zEo=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "hatchling==" "hatchling>="
+      --replace-fail "hatchling==" "hatchling>="
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
index c2eaf3889bf8..84648b20c1e5 100644
--- a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
@@ -1,7 +1,7 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
 , pythonOlder
-, lib
 , setuptools
 , setuptools-scm
 , pytestCheckHook
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   version = "4.1.5";
   format = "pyproject";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
@@ -51,6 +51,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "typeguard"
+  ];
+
   disabledTestPaths = [
     # mypy tests aren't passing with latest mypy
     "tests/mypy"
@@ -68,6 +72,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "This library provides run-time type checking for functions defined with argument type annotations";
     homepage = "https://github.com/agronholm/typeguard";
+    changelog = "https://github.com/agronholm/typeguard/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix b/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
index 17058a40a088..47f06b4741fe 100644
--- a/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
@@ -1,10 +1,11 @@
 { lib
-, buildPythonPackage
-, pythonOlder
 , aiobotocore
 , botocore
-, typing-extensions
+, buildPythonPackage
 , fetchPypi
+, pythonOlder
+, setuptools
+, typing-extensions
 }:
 let
   toUnderscore = str: builtins.replaceStrings [ "-" ] [ "_" ] str;
@@ -13,7 +14,7 @@ let
     buildPythonPackage rec {
       pname = "types-aiobotocore-${serviceName}";
       inherit version;
-      format = "setuptools";
+      pyproject = true;
 
       disabled = pythonOlder "3.7";
 
@@ -21,6 +22,10 @@ let
         inherit pname version hash;
       };
 
+      nativeBuildInputs = [
+        setuptools
+      ];
+
       propagatedBuildInputs = [
         aiobotocore
         botocore
@@ -44,709 +49,709 @@ let
     };
 in
 rec {
-  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.8.0" "sha256-7TmekyZVc2l2er1TIJURP7Qy0n7xRYnXt44FJr5XBWA=";
+  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.11.2" "sha256-hUS1ZTj9CbC74Aiinmeh2BEQ2KymcqxuYVSeD12s5xg";
 
-  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.8.0" "sha256-rVwj3gN9+U5m6xXwytQpE8mSVPTlezzeNIwNH2vgR4Y=";
+  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.11.2" "sha256-XtL7R0UrgI/9rSxfNYbA0Lez+DiVyB7R+rhn49Nxerc=";
 
-  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.8.0" "sha256-VzV8viXJpHfI1aD1UtCX+GSSZKhRSTzMX5dnkGhm+9Y=";
+  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.11.2" "sha256-vpE1GuvKFPsBf3rTk5V6B4ujFGaHE3wk9yN3j0sM0bo=";
 
-  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.8.0" "sha256-ib044RjF+1projrSoyiMdj9LkbT1BJrfObxs1ukSNHo=";
+  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.11.2" "sha256-g9a2ad5hZonlKWGnLQchfT5CAgwqsvseeQBQemCSCQw=";
 
-  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.11.0" "sha256-FF1VOkekfT4cSx2y61smPVMTD5k3FBIsnslOTnxy+5o=";
+  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.11.2" "sha256-XUzsO3dJmVEyAkwGcZ9BxNb8CceJALCNRIfs6/lFa8M=";
 
-  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.11.0" "sha256-PzA8ooo026gvNYL+xgjJ1EJomCC+lq1QDbY54k067BM=";
+  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.11.2" "sha256-hFZPPMjFeQ8YuDV27uuQudFkKaXPaOkEWEbGrEp7nsc=";
 
-  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.11.0" "sha256-RCC+fkQJMKYrv0TdAUGOXLyufeCJyV9luXKOXvjXc+s=";
+  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.11.2" "sha256-p11NN4Iohj0Rpx7ZWnLKHP64DAKzg5CfwQ5DV2UtRqk=";
 
-  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.11.0" "sha256-U5BemtvxVynvFaQ9gxiI3kFB5+HJjpFTZkXMLFaMeRE=";
+  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.11.2" "sha256-vG15+IbQZSoSeXPgZw2YgKFtu6vVLgwHrnvXbUOu7ow=";
 
-  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.11.0" "sha256-4oQMgEJD6RT8ukcdoDF7dWAnNj51gBWOYITKjzLGTBo=";
+  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.11.2" "sha256-WazM6zeqExvUzf6edTg79q5ghSbCFS+4emllnp2/nGs=";
 
-  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.11.0" "sha256-YGOdBuM5250bIoM2rJeJv51zF6kB1zvGYksmr56SW8g=";
+  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.11.2" "sha256-pb13E6ybvZrt1NfYFqPzkXYSxqFVUuE9Ka3LK6oLLB8=";
 
-  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.11.0" "sha256-LFI4IJyDQnPYKq0WHk9y56LjdtW6nHHUN2GLGk+ZdLs=";
+  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.11.2" "sha256-Zgv4BfnwMjZTWnnkvSIZx7jEcYDg088Po8wS3YNnscE=";
 
-  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.11.0" "sha256-3gJkB9xUtxHqGnl0BIt37bDpM5GJQhjtiHkwDVOWaP0=";
+  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.11.2" "sha256-kQIc0DS8mgBdBBncavFLo6gYoQbqNzgbhzfN7ZRmZU0=";
 
-  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.11.0" "sha256-zGtX4wRie1PtMZAHH187+tr7sBKKDGI0rtmobYbuOMg=";
+  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.11.2" "sha256-ufFeadCeUuzQlVZEoHKC2bdgsnCni4bUlOVII3P0ydQ=";
 
-  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.11.0" "sha256-yh1GVL7P6yRVE3o4mKBFFKhrXRN+7dO6PAAcdFENci0=";
+  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.11.2" "sha256-D6wk/D18H5DSv9rzu61GtO0b4sLUsAbAgDThxM/LXaw=";
 
-  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.11.0" "sha256-1HfybuUtT3ZPjOTgI2qOHZcXitlfzfVMFnHEvvpXYHI=";
+  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.11.2" "sha256-jvO9GCkF6HC7Y/Gallc0unmk0ZX5C6uZDGmxwiHAMCs=";
 
-  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.11.0" "sha256-7gCktOrsUm6y3KId+7i6rl7QA5vGhPletY6gKyJdG6k=";
+  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.11.2" "sha256-Kvu5+auFG7FDR1w/6xv7JWJkEwM+wuaXJHIDIUOgxsg=";
 
-  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.11.0" "sha256-NUmmtV2RcREzC030heh5Vq2LvHCfTv25NMefwIk6hfA=";
+  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.11.2" "sha256-nyJNZejMFYBgTJGjM+ylfHVilA/KrZJ9mJa1m4Ej/i0=";
 
-  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.11.0" "sha256-ag+5kqW+j0c9MC/Ua4yUPPW72Gbj1LbA1QWG9CwCC7U=";
+  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.11.2" "sha256-RrjOGf342giEftdtYrWN9nuHuxGIX7tC2lyi7kFVGZA=";
 
-  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.11.0" "sha256-pKLm6w1+j56QX+jxoywew8Polgeq4H2/xQpqQ71vQCA=";
+  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.11.2" "sha256-/CRUfLRLggcHpD+H6tsMrJf8kC23qqCtfRUf510MYs8=";
 
-  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.11.0" "sha256-BnIdJmvh76xDITk+iEkoxTHeEBa9FZDV84fn1uvWz6g=";
+  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.11.2" "sha256-uB+lXza3Zyj5ug/1tr5jxhIYDFmy0u/rbLdHQQW33zs=";
 
-  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.11.0" "sha256-8f0vxVqWWdm8UYl7rtHBSDR5PJGd8bAC6DTopPUbdwk=";
+  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.11.2" "sha256-ddng69ZZp8lEEKZAEK/9AMPHBaRpQRmbPVQVQgEpWQI=";
 
-  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.11.0" "sha256-uZtrlWm1Hc3RsgtAzYf+ZY9G/G56fhbgxq0Aqo0SmIU=";
+  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.11.2" "sha256-zn+wgfdLfNzrhmmWaQnnBJw6Mp6FUPSs1Aq4U+QEZZ4=";
 
-  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.11.0" "sha256-fI/BuF5aulwnH2IviGqp4PPcIInwGrBNyghiCu4AGzo=";
+  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.11.2" "sha256-97aTTprrNQ5fp1Ap2SgliVhz2FweNcWJxmOVf7NGznQ=";
 
-  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.11.0" "sha256-/eL7b7ZQp47BlLRGbxqwg6JnfYljXAtQOfRjnqWHndo=";
+  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.11.2" "sha256-1d4FgrbxzX5jMZEL7ghT4olTTmy18ZK1zaXDWcBoz3I=";
 
-  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.11.0" "sha256-WiWU20Yc3bWARmkbYnBA1Wy315vStIq16mLF4UHRksQ=";
+  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.11.2" "sha256-s9zX+TsBp4DSORJkxZG9VrVmeHuNfeNfv+vZsJXnfSE=";
 
-  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.11.0" "sha256-UtJadPx8k7JfoOXexAY/Sz6bfsrapCsdYtz0L0zIXxc=";
+  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.11.2" "sha256-MxbYsiBSryODm6ZuJpb0Jwmiw/k679yPxBIGYrFQFfQ=";
 
-  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.11.0" "sha256-Xe0Hn8XpfnmtObeKRtm0focC+s2eHLoTdERnDZmAs4g=";
+  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.11.2" "sha256-IErQ9xVFHfQKAT4WUvyummuUndVG6azLCflA4e8AcAI=";
 
-  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.11.0" "sha256-eJnuoN6ciE3k97/hLhr45ppWtq4jEpPcqpkZ2H+qd6Y=";
+  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.11.2" "sha256-UJxccq20Wy9A3xDDqpDGGs3KtP8uVFK/G8AFvlJblUs=";
 
-  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.11.0" "sha256-cESQHBGUvT8saQhqNsOqSpyO7gIZmnAb2jhGO0kt5AE=";
+  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.11.2" "sha256-0LzoSmxim0Ji1qVTKz5aaYNF2ZxSxkJPQsZgl6HBvXM=";
 
-  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.11.0" "sha256-+r02pZW1xLqPlt5kHKrLXKFRwdSiHKWxZAxuji9TFvg=";
+  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.11.2" "sha256-deC72vTE1w4K2vIQeQMb/38CEBHXhP/koEsVBUZQkxU=";
 
-  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.11.0" "sha256-dEqYpn7xF5JRzFgVANFeXw/ukeoduvI4LBOEwYwjLxg=";
+  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.11.2" "sha256-ggjy2SYEDZgqkvBi7N/mZbScwQNOxQR3Je+UsntPaKA=";
 
-  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.11.0" "sha256-65luTwPeI4SHfJUhWLR9YJQwbdcB6J1ON6EBhojok/k=";
+  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.11.2" "sha256-ZtC6TpfMQE48ih14/yMm9UVt/nCjVt6Jza0lakE/t0w=";
 
-  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.11.0" "sha256-A94x70FSnAUJSt5NM9yzhq4r7f2fsaHLx8oXeCq//PE=";
+  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.11.2" "sha256-DnZ7/CZ2af+DhHKp6LvsuCLfVu43yiwYFRxugEsMEok=";
 
-  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.11.0" "sha256-Ze1Bsuw4fDgGJ8nVsRtmGQPH0ZPfxE+OUb6T8Q5hrBI=";
+  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.11.2" "sha256-vURVxenciwH3Qwi6FLjsxVkHSVQJ5C63zzb5Npr+Kxo=";
 
-  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.11.0" "sha256-upNbHBQLQVlgHItd8NuFq1C7DkM/1F1BAxESQevmeZs=";
+  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.11.2" "sha256-rdH9EaCMApXDf+3ERvNNsvJBtCEqkjf6XpLHTRn4V4Y=";
 
-  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.11.0" "sha256-SKgVqVkHPX9ytLBR+yUpnVz82AGdxpJ+BLO7kBGJ3/k=";
+  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.11.2" "sha256-zaaeXhic5omexJMc5TVAK+ADqmJxkV9YJkasQCfAf/w=";
 
-  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.11.0" "sha256-th7HVQIlLgfwYgZ3GFlYU5Cg5jjfEJbulaOaLFnQbUk=";
+  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.11.2" "sha256-nlsx8TDLKC3bTcuHuqACgtgl4OvTjHHYiYXXlk7gbLE=";
 
-  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.11.0" "sha256-s3VHCPLNHFHNYNHBzp2mhToY45+2bua8Wwy38rvNmjM=";
+  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.11.2" "sha256-j+RmGyAMnf8a/OztACdfOr/6a16V+SGDPS+ETl0ZetM=";
 
-  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.11.0" "sha256-BJsXT1lVo/Qfwc37nCGmxIFSN4nGtvVZZxOfLWDXj8U=";
+  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.11.2" "sha256-5MtREitAmJ/5cSQDJeYj6SilLfspKWZFTmiTaCsv/a0=";
 
-  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.11.0" "sha256-n5OniJhfpUA2ieVsaJasxyzV79sGG4QGR+bsy0XxqnQ=";
+  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.11.2" "sha256-JFZ/ijE1FRCEWMF8wFZe5mA5UW1Y0Xh7A7kVAoG4QY0=";
 
-  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.11.0" "sha256-KjhknFjnVlZpdKQQ7ggBlcTPEB/C9PKvta90oD84yTE=";
+  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.11.2" "sha256-FB0X7wR4xvMT9GiyHkDX9lSVxBQVxWs1NG0/rwPpeyg=";
 
-  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.11.0" "sha256-gyvW6RoMv66Y7xIi1ak1f/9ivOFaNANQhgD08VlWGPM=";
+  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.11.2" "sha256-IMRhuNevxyg48ahyKSCJ6ytpX3BEZKPG37du+Vm+grk=";
 
-  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.11.0" "sha256-fK2BzOdlvbacOePr7OacTRd+XEFEAjq6fKXC4nOzZeo=";
+  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.11.2" "sha256-R18RGbDg393B37iuwi3NwEshVzDZ7iTaTX525MMgpoQ=";
 
-  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.11.0" "sha256-jri5DT8VP2J/mdsAR5uO+ZqZJdHexTiyER3tTAGLZd8=";
+  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.11.2" "sha256-AKjMZa6crhEuSl3aHo0op94hlPKKWqXG8w33ipcnuK4=";
 
-  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.11.0" "sha256-wh39UKjVcRoFpHZw6es7/iWMSqWr793WGJd1K0arxU4=";
+  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.11.2" "sha256-ru9I0dKqFsjaNUhAFLrXh+SPN1HaHCFL+2LRS16+pSI=";
 
-  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.11.0" "sha256-O0UvfR9zN7G5VLXn3o++xj9NgPfF4HJfD22OiXjFV8c=";
+  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.11.2" "sha256-LwgyZxkvTTFgYWsF2kkK/IxflGpyr2oq2CxCMWnMDpQ=";
 
-  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.11.0" "sha256-z97kNaW0Ku6kdWNfEpVUbQSMA1RBoX3ekiZ/IjcEzxs=";
+  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.11.2" "sha256-0G1EUlW2oDJI0DgsQjZ4NkHIQbKqnvlyMxxrkhj5q8M=";
 
-  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.11.0" "sha256-uIdbpjOfxxe0+LsrZAg/ygqzvCRNRbivyDMjoaEr7ew=";
+  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.11.2" "sha256-QFupRQ8DtSwddqrTVEUrUjLyKChguEnSmYqvicaJJA8=";
 
-  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.11.0" "sha256-1J4uH1XM3j7LgXQ8kmuGw0MMMPMh0sfIjGl5xlKbj6U=";
+  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.11.2" "sha256-n/cNWP73Qta8lkXnpvtEOU7vO6IR5n1khlY8G2gZHZ4=";
 
-  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.11.0" "sha256-NXW9PwF9skgzZ8nRUEqNw0RoO2p0f7PsSzwChG5hR80=";
+  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.11.2" "sha256-+CRJNZ5W5ZQB7HzlY6IF6fT5a3LF8ES7Cmmts5c8Xjc=";
 
-  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.11.0" "sha256-/fKdFf3u1C75HiLoKV29Ao67+504P+CduF4BNGJObiE=";
+  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.11.2" "sha256-RWoizNbfw+Nujlf2Y4vEgVyyyVqmxkBF3wu4Ox7EsG0=";
 
-  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.11.0" "sha256-yfHcWilKZbtxZcJmrOgDJxMybo+GxvFLaoXSW0IxNj4=";
+  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.11.2" "sha256-VncrELHOiw/z4oQ5JTiXQIR0CZdGtX5xQeei1/JdONY=";
 
-  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.11.0" "sha256-vxc4o8AG+y0rA5yqadgOE8K3vCOLMs9uN2G2Xcq2vv4=";
+  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.11.2" "sha256-Ei3/wp0zUE5CitvVf135GF4cW7KAbukDYtS8ZOJPwBg=";
 
-  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.11.0" "sha256-FgxQugrLHvORUMcIKJaOJ0/C30WOSRJ9gPbQO3nIQCo=";
+  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.11.2" "sha256-YEPoPUFRt+kiMbABD3fg7W2qYRKblmIG4YjbFTQpAdw=";
 
-  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.11.0" "sha256-jc3/f4g5qKpgMhQPetRlfDv1Evh4/JZvzJaHSGhdAZE=";
+  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.11.2" "sha256-3ZLYMHreAEA1j/mp3HJF5rLZ45Nnt5GdQrcFY3Sh434=";
 
-  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.11.0" "sha256-SUmy1ZUCcLMverR5FoyGowraVQ22xjPLc9P2fDFjIDI=";
+  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.11.2" "sha256-gvJyiNl7u79VejEK5eFhBuC1tYK4tMAhAbsnFEfNhYI=";
 
-  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.11.0" "sha256-h/BcvTSIOPSN+RdP84UcPNi9pqvL+ITrxDNvH7X7/Pc=";
+  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.11.2" "sha256-CUiHlJTgSYpYH/6aEyjtsXBbWxFKu4GqTdDn7hP7wHA=";
 
-  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.11.0" "sha256-QBleKtvFchbE6liuxlmCYm55VWLa0Eu38ydTl9AAPrg=";
+  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.11.2" "sha256-0gs1j3dJ94suVhfieHwNs6xDmUwN/2VAMUP8F9BQcaY=";
 
-  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.11.0" "sha256-OfmohOrk90MjqjmSu+0xiATJrh99myqaUbirDpMj/ag=";
+  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.11.2" "sha256-7GYiqcO1H1eVojfpfBUHmf7JvePZOAKLu8QSxqTKjH0=";
 
-  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.11.0" "sha256-gWLVnH0Rm3jlcDff0tUKjmrKqJswkXybn/BbyX1ogxA=";
+  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.11.2" "sha256-YHisggElD8iq1DTcrZnIzdFrnLAUWFULgGe7jdm3oWY=";
 
-  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.11.0" "sha256-AIh+hTvPCxsQ1wML574FXpa95QYmcDB61tAL2zepZPA=";
+  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.11.2" "sha256-dkyzpYzga1rjIiUAvAYqmvBotq7cbzgujsEdB1ViTZs=";
 
-  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.11.0" "sha256-QdYU6pjF9r7fWbqGwKgmsfkJw04Dwyq3zYM/Ffth6Is=";
+  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.11.2" "sha256-hBobZDb4rpMcVkXTWVVRvHTjz+O4num/tLdHc9K+pn0=";
 
-  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.11.0" "sha256-aQ0jJkHU7Unez+DsVae9ly7fBXC8VYaA+euec4zHvcg=";
+  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.11.2" "sha256-UjhVraSTdP6zQNKK7YF7CiR8Y0IglumyKWo4q4+lYEY=";
 
-  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.11.0" "sha256-Fh3+RnPI1DYqwRdiY5wphJ4/sa6phldf5Jw26EAy+yA=";
+  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.11.2" "sha256-A1MNRLeNmKFZWO9VPlYOPiYI1XfMvxau08eu0kt9XH8=";
 
-  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.11.0" "sha256-TqW+JQcWLUkH63lmTSgM2RBpxiUce8H4sYhuBsG/y3Q=";
+  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.11.2" "sha256-1agFA021Ng2yyGZeR6RfnNiajPwLV1hgGH9mnGi54V4=";
 
-  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.11.0" "sha256-SKowg/6Z+XkwRYvqLMVv2DNuqjYWDGxfAH9qDIfIYQs=";
+  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.11.2" "sha256-yBc09bY/svyht27FIcSYGkkLyUeHM97IYB4aVWo8CFE=";
 
-  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.11.0" "sha256-HKd/vW31qD4NxoP3tpCVrWhFxzUx3WFmpSNXR5MUGNU=";
+  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.11.2" "sha256-RSpNT70XrU8ZLRgTgpqiELV4e0WJTtWCTESdGA4mGQs=";
 
-  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.11.0" "sha256-mp0wBISY78Or4TniwKFXbR/fiu5JWhEkccKrz14WlUY=";
+  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.11.2" "sha256-5DiJoLCkRD5GL+uglCSYQAdrAPrHrk9Eoo0TUoFV6ms=";
 
-  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.11.0" "sha256-fSGb8vmEdIjvfnm60Ib6iQtLt3vhvGyFA+bhv1RLYt4=";
+  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.11.2" "sha256-yf1lZtCRru/n4lWW+8Js75azhW7o1q8dQ7vgwQQpOv0=";
 
-  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.11.0" "sha256-qK/97mzT5xbNHRBU1d7lbPPhAbmUZv4A12UxDO/NHOY=";
+  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.11.2" "sha256-GtrQuQBHzkglEMjkYSGoHrOm/LFAAYhKl2JTUpGCFaE=";
 
-  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.11.0" "sha256-KJiEL5qkQAsF1aW42M0WJNRkmY5kuz+y+x2zhPl++oI=";
+  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.11.2" "sha256-uh+LAEBYuKAK1BJPu6rJtSJcE4TpXV09d9jH20IevOk=";
 
-  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.11.0" "sha256-+4ZC5tDNqIVE/tpdjgq0OOxz8nP3nnXuChBn1vH+GmY=";
+  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.11.2" "sha256-w1FlANcEK/BIDeT+iSJU1FQDidor6bs1w5HNEa1Jj4k=";
 
-  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.11.0" "sha256-tgGh+wbiC5iUl89kqsPhW+ppYOa0el6D2aAF53e0OOU=";
+  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.11.2" "sha256-GqWg0H95Z0wNHaSt1R1GnVTGTyZ3Qki9Du4byRRGmcs=";
 
-  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.11.0" "sha256-SS7WVEni76ixWOMMGkuVpvBL46kzEtc+nZVXLgVR7qM=";
+  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.11.2" "sha256-7TK1QtWs6gVZQO8dTuVs9JG35xlP/4Sk0HCfEDL5cPU=";
 
-  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.11.0" "sha256-788nwZ08Yd7Jm9hbMtbikiekaCD5BJXGQizYA+C6v7s=";
+  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.11.2" "sha256-oBXLOS4TLGd/6cEVwySUNKXTigmEPFhM4vR+uWC/jCA=";
 
-  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.11.0" "sha256-/DHba3kzpgIfMOdWDo9EqDTGsx6qliHkTcOqRvyqVQs=";
+  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.11.2" "sha256-nRq8rHdQNHpY0O1ft/IOFgiZT+flDoJeYktoIR7azd0=";
 
-  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.11.0" "sha256-oB6joxqVfw+dcdA1Fp/V3VqHKTV3AzSF87WQliIjZOM=";
+  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.11.2" "sha256-kSSYE9sHHvWyXQD3+h4zwbmpVE4spdFsVajLrs8wQoY=";
 
-  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.11.0" "sha256-LKzrXJ3glGOLyZd+Cvt+S8d4kmqfJwDmWOpO8jVtZ/k=";
+  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.11.2" "sha256-8h5Uw5dRI0Iq88DKaEkp/QiqsxMpXqT1e0fSCnmeUeQ=";
 
-  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.11.0" "sha256-/A13kQO/qzO1vnslZiMRgB1QWgF8ap0mZDFQzowOpck=";
+  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.11.2" "sha256-iCunD1EYNwnwEVE5h83cO8DtgQrfqd2XsjmA6/LUyKk=";
 
-  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.11.0" "sha256-TY4kD0Fyb195X8vjFavszY4KIirBxdu5TsWdpcHvcqY=";
+  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.11.2" "sha256-3szxg0WTtha1txrfidQUwCnwQ+y6DmaFdyRASxNvyPM=";
 
-  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.11.0" "sha256-XQID3eh3curqT6wBJ//7giHl+ALEMtdIhM+Ns8Bm3i0=";
+  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.11.2" "sha256-Vnc1jV10ylYc1xyIAB05sc6F/mrenB/evzSxUXvksIo=";
 
-  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.11.0" "sha256-TiXil9jLCdO/pCFDUNIJpH2NC1TTdr9j+82Azgcdtfw=";
+  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.11.2" "sha256-GxnIgMuPdhButM1g0WhIY5aozxRVD9wisFI7vg0htkk=";
 
-  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.11.0" "sha256-M2hWm/UhFkEMaY/ZojmAgTHXYmwJUAqOyhn37WNwGWE=";
+  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.11.2" "sha256-32oCCsq7HRgfuQHxtC8To8YRPPkBYxP+wj8tTxJg74Y=";
 
-  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.11.0" "sha256-mH+/ZBD/wW5KRCmt5Fmg6Bmd6svZfQw8NZgB89A3oY0=";
+  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.11.2" "sha256-QezthhLSvyrCjlBDgQFJOLd3jdkvf3gYczusxWARUtM=";
 
-  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.11.0" "sha256-jykGzUF1W5pVg5mzAC4J3EkhYgMNnXyyj0VesOyJfh0=";
+  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.11.2" "sha256-GZaODMMW3citfIA0EDl8J+Z8T8euCx6pXmm24iL/g90=";
 
-  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.11.0" "sha256-XKdSE4yJdaoaHoER/9ktK0gmSco5RcZNi0oAuSh7zVc=";
+  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.11.2" "sha256-bkok6yFZG4DOXnweqa1fWxxX5lq4XVN6A/NSrQiAWNI=";
 
-  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.11.0" "sha256-t72a9Uy1pw/PgN80VR6aG7sgTE35EnLN1zToP9j9jcc=";
+  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.11.2" "sha256-lipzCM0iHpHfggorFc67IIRIA7zQkZOFSrNdkZNc1n0=";
 
-  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.11.0" "sha256-60GCMrXfcFO/mDm1ThuHZIajDhWheUXR/FGdkRNb8Oo=";
+  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.11.2" "sha256-cmtSKNzaKuDMKpT2e3FxxGAA3s6fXmnp27g8ZjiuW34=";
 
-  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.11.0" "sha256-HEGUGjXjiQd0jkPYFHQ29ZN4M12Gy/l9VEUHnu/G4RI=";
+  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.11.2" "sha256-+qeNgy9ZCpx2i7aSSBv6vHJAa11j+YqYbu1e5ebTOkY=";
 
-  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.11.0" "sha256-L8PKB1DfzGiKd5dEBT5EkxcR3a+P9wx5k4/J3yD2mSQ=";
+  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.11.2" "sha256-hJ8ajXMmlmUZmKBDYxkUX1RU/8C3xmjb403YzkVzm6E=";
 
-  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.11.0" "sha256-YtSwdniKZHpoOAfGy7w7QtkwdDuNtlUiiAxEraSMn6Y=";
+  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.11.2" "sha256-1ERoQL1dD2Ia1asRDjF/bl/tnKkaKUhd0JkXfsw9zXY=";
 
-  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.11.0" "sha256-Vglr/xHMsRHm5yKu98ufddszmFtT0LeBVxyJRbZXzEU=";
+  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.11.2" "sha256-EcaX5FjIweqW0hTbhgMm3XFVtnoY/fVt5pAjgm8L0+U=";
 
-  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.11.0" "sha256-wlZo+BFJ1MfwO2gF0jKRf/aUNlU9PGL8BmIXnRY8mzU=";
+  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.11.2" "sha256-ZOPuTLIH9Sqojs2jWiskjEqz7LBstS1KyjPCiSnW0Qo=";
 
-  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.11.0" "sha256-yehavKHvxjCDzDo8YB25tgKzmxAGjEtRQDxgHtaFxPo=";
+  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.11.2" "sha256-SfzmZe5x4I0TMdfwAu6DFkK2NDgqZrdiXfYzj6FV6/0=";
 
-  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.11.0" "sha256-BJXDtvCyJK/LDiVXzgOEH8rnK/EhsC1i/wF7f4bcAgY=";
+  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.11.2" "sha256-1ZEKq3hLceAxXAM7PncqWR/XEri75Moyno/yg0szG+E=";
 
-  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.11.0" "sha256-fMM1lBiBdBpiEX9LCOtK85QDgiduht3tu3xdv4Yu/DM=";
+  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.11.2" "sha256-sFS4uLPnOltigByAzretunrrS/jabDft6tTX68+uXnI=";
 
-  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.11.0" "sha256-VmQrMq6ia+qw2Fk1DxZsHgjTNccY9LnOo855YEmFNKw=";
+  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.11.2" "sha256-2Ay4Bx3txzhZMaOwFJRsTt7w3qCr2bS2KsoDg9Apxbk=";
 
-  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.11.0" "sha256-As0IUtS4mDeiGRDY1rsz3WLURzIuvyO0/dKNGC7UvqI=";
+  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.11.2" "sha256-j1tX8XGhYVRWw3XJosccmWRPLJRzjfoZpEsEWW8KrcU=";
 
-  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.11.0" "sha256-psuIC2nu/K6kLi0v1s5vhq0CCAqvuPy+E8J362qTLM8=";
+  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.11.2" "sha256-wUF8YcVlSop62Bqsr3yx7JnlLFOKZFY9ZOQPp+IArOY=";
 
-  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.11.0" "sha256-3ItFb+9nzA0hNEg62peBcYEPEFZVxR0Qa9z5vXfjkzc=";
+  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.11.2" "sha256-nBxKLHdId11mo/0P4LFgKRUoBXum2OHtJO7wjy0yK/o=";
 
-  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.11.0" "sha256-2Bwhic0Jag/dXemObH0WC5ZJR98VmE9lqLRKLOLyTZ8=";
+  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.11.2" "sha256-7/Yt+rhmXoJaTyXv/cApcI6GUE0bqYaIDaLlQr6/vlA=";
 
-  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.11.0" "sha256-/cu++CeWRlZ54fD6YRH/qRJLHI+nKzCIbjAKYFiM/Ak=";
+  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.11.2" "sha256-g4soKEa22SWyE8Sq7lemBWMEjzvS47Xp3ykQoccWg6A=";
 
-  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.11.0" "sha256-Hco3i5jPJAzAsgKxFQP+MNRNNeiYfJCGIG8l+C7gWnc=";
+  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.11.2" "sha256-QbLjyIptZJoKm79byEABhg5TWPjbHTmq2ReibuC22+s=";
 
-  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.11.0" "sha256-OhpF/CqFX3EkigzPqDIuIun2nr3F+gH0O+5hsB4jXWg=";
+  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.11.2" "sha256-pk6rOYhNMnCTxlDpRC+b2TlWCTfr9sVrV/OVaTV4Tzo=";
 
-  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.11.0" "sha256-Kw4ZzkV/dXvhOiPeFLJxdSJvMy1cTR+KpxTc56ejhQ8=";
+  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.11.2" "sha256-BJp+XxIXv1LM6nQLyjo7cPHxU02SQHcace2Y4rb14ro=";
 
-  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.11.0" "sha256-VE4bwmg1i9Nai6xGz9AK6gREkxSIBs3QiUCyR04O12g=";
+  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.11.2" "sha256-6rVdyPkUOsr6mpfr1jlsbGt9WN+vVsRyzxG/WrpelyQ=";
 
-  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.11.0" "sha256-A4KkWqtwvvDSBdHB3xBdwmaC033AdMvoVY9yloXz++M=";
+  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.11.2" "sha256-IvTlBjwLhphGUD/0uMkqePhEwStxj+YPVVMY12ElfvY=";
 
-  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.11.0" "sha256-tW4UvAdlX0edPquPSPxJU4ktMEXism8ghUtwZS6J/2g=";
+  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.11.2" "sha256-jov1KwnZWbuMUpL3OVqrI+EHIR6WResabp20owGIvGA=";
 
-  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.11.0" "sha256-CIsxmM4gJ5Ds6FyNRixuTOrn2iigVWVjfOhnySLIC8o=";
+  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.11.2" "sha256-qTA88Wux/Ns7dHfRPwG1ZFWNTtSUGTcw6L+Nake+YGg=";
 
-  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.11.0" "sha256-qY+Cr4xGjG2ULl+CTHwbH5ljGHJopNLfrbMdkuOI7IA=";
+  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.11.2" "sha256-POTPmu22698IeVAhpxh2kWk+OwTv2fBSm9KAhJ/MiQg=";
 
-  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.11.0" "sha256-MDGyOh+cwmUoNXs/bQNss5lgCzplAOVKcKC4djAGykw=";
+  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.11.2" "sha256-LC5g7bf5jAc4Llo6rukPb2WYf5KqvUweQ52u2zsXAQE=";
 
-  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.11.0" "sha256-gQcy3oD2JDa/yncQP8wb1xl+WNDbQphO8YBQEeJ4BHQ=";
+  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.11.2" "sha256-L3Pti+JnFCFGo+0v82sQK73aHKG5Lgbm6shPCvF4Wug=";
 
-  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.11.0" "sha256-8MNsjca7iVgs5t7v0zvIXV26vL6gKxXlGzFEONlKgHs=";
+  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.11.2" "sha256-PdWptyC6jP53Lv8JDPMbD+KE32nXltpOeXOXt+yBqZk=";
 
-  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.11.0" "sha256-XXf6dX4HXJGjmEvexMOTb8Pv+lF4bXJyKE44kXJwlig=";
+  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.11.2" "sha256-PzGkhg0Ole3nVSkPzLzGhCXR7O6tQXQI/fyG/xWF5NU=";
 
-  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.11.0" "sha256-oOPJPa6Tn9+BrlTENXFhmvN/KI+0w0BKrKnmYbu6x9Q=";
+  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.11.2" "sha256-pxf7oIi/KDjuAJPKA/blGpBTtSsbW6VQR2GIIG4Xg6I=";
 
-  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.11.0" "sha256-+xoCUWrwXEi8q+7Hm3b3kvEzXS/JymrP2fYJIPWLzRI=";
+  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.11.2" "sha256-nI1XjcxmEBZs63d9EO+rQfqyYQMOBJXOdLI+EaNZsgY=";
 
-  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.11.0" "sha256-F0hz9aHxAf/aHqhXsuA+mvHcFr/5pfVVKdsmmDW7rI4=";
+  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.11.2" "sha256-i37s9KpOUqbO8xAgFtU0tNlSZUqvxQjI6D2mMmjbTOs=";
 
-  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.11.0" "sha256-Ge3xhHySq3tXxe1JCj7hdaUjeAfzZkCncJb0Navz6Ic=";
+  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.11.2" "sha256-gaSCCHUbA5XqpXwls5f6LR9BfA/V4eECsRVfat+tLw0=";
 
-  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.11.0" "sha256-ey4rDsAWGsJrRECRbPousQb/NSGfwRRshWHqDrDBhqs=";
+  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.11.2" "sha256-sKRdHC1b4LhoHMo1ixwIEMFgKzn4oAMf7Hd4kPpAGNA=";
 
-  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.11.0" "sha256-6cDHUdWst+oatMZP9S13vySIyZUQ02GqRlfaOGUkPDQ=";
+  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.11.2" "sha256-2mSA+/Ad1gok69+r7E/euPzKOj82e38Qn+sXWTfvoPk=";
 
-  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.11.0" "sha256-OIZdgxxmfz7HXfZbRlzqK6x1aITXN9NXRp4LBxFmlM4=";
+  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.11.2" "sha256-tkrTtagj15JMTRSKD6qCqew4zo+i4IOl8KxBtgoREno=";
 
-  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.11.0" "sha256-1/YBIoqBgY1RPCrP/REd5iMYpqFXUXm3AFB6CfUo7F8=";
+  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.11.2" "sha256-Cj7UZddP4zWjKehjFL6S7c89hu6lZKe2muZ+vZQYLEA=";
 
-  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.11.0" "sha256-Zlv1GzIn79GTgvtOe+4loAHXwDaYX1BiQYG3Fg4y9c0=";
+  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.11.2" "sha256-nCFS8zPgut2AUT+e6ZKwa4mP2yUuSyWB4ouuqDZaJZY=";
 
-  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.11.0" "sha256-Zb5qmBxMqvuxczqOcwQCL7T4Ur4w9ESiWHAu+Wdq2zM=";
+  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.11.2" "sha256-5z1ek7Euei7r1XSygNM4qZEaDrGeC4XMFIeGvg9qJV0=";
 
-  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.11.0" "sha256-O5is88jjNqe02YEXhxQojonvzXFCUW+YPl9DM5GmKjQ=";
+  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.11.2" "sha256-ATPvNRegT/EjVJCGY7sl6ayiMC8+B0GMyfQEpOnWfyI=";
 
-  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.11.0" "sha256-Vmtl3JWRi38gMtA0XEPObaROjUKjzv9LToWWOANx1Ds=";
+  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.11.2" "sha256-PBRTNQeoBf8Sqd4zYQYJ4h/wZWHT1LY1LodceA4SzLU=";
 
-  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.11.0" "sha256-fIbCkSX6wG5J+IJQh2JXD6TtZOPTOIZQHXlHdVz1LcU=";
+  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.11.2" "sha256-83W6ys3ZBuC+RINAiqZZ9t9/pJVV6vSqW0w7B6cA9uw=";
 
-  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.11.0" "sha256-kISZKBx6dlTqXUZ6PO3nlZzccw8daR1EZpN0AaBpcbI=";
+  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.11.2" "sha256-nWsEp9VH2JsMnQrVRuALqc6EUjtfkge8E86XB6koHcE=";
 
-  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.11.0" "sha256-j9jlpZjefqX4sB5D0hnMTd0ZQ8ht+4rt9kJuAByBgGU=";
+  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.11.2" "sha256-Sne3DwWkPz0CqmOlbxLcR9ooSW4soLSuNPNfs9L9pAo=";
 
-  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.11.0" "sha256-DJN85JyJyhX3JDahAmFQbwoKbGR1oYvUs9VsPuiHcrY=";
+  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.11.2" "sha256-zQ50MEleTedxViEOOs2u5GJSs36zRw7crvMA3h7FLZU=";
 
-  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.11.0" "sha256-XCkjME0B8wKycmqHu+magBP6dtVdLRa9j4I9H7gwHKM=";
+  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.11.2" "sha256-VTjXUrEzhGuT2YjeTdY4IKxa/DxNmfnPEnZ7vQoAzKA=";
 
-  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.11.0" "sha256-xolmKH6/Ea0JGBF8ZnNGxG31SDFiGIP4+l2hq7CAwTo=";
+  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.11.2" "sha256-AgZvipboBZnhSlC7K0JRFpH8Z4pNPT2UfdXYjshxF8Y=";
 
-  types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.6.0" "sha256-9iV7bpGMnzz9TH+g1YpPjbKBSKY3rcL/OJvMOzwLC1M=";
+  types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.7.0" "sha256-oVbKtuLMPpCQcZYx/cH1Dqjv/t6/uXsveflfFVqfN+8=";
 
-  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.11.0" "sha256-K96KMoNKQuVzQMsBg8PC+Vp0tZCmkgjuWXHc//hlS84=";
+  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.11.2" "sha256-qDj9RSbqHPpJ5yU+AXPeA+umbbSrf2Ssu1g0aiLvnMw=";
 
-  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.11.0" "sha256-wneACGl4MR+jarW0rIqg15lHBFou/rnULzG2Jv8aI+k=";
+  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.11.2" "sha256-Ef+Ujeoc7gSrtjNbPEd4Y1F1eP4c4WKwRBIbbiCe/d8=";
 
-  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.11.0" "sha256-/RUFpcd1Jglx7Wxs74W7fFIPTbAVPhicCLfxl5Vtp8U=";
+  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.11.2" "sha256-CvNGo1MNUf4GONCR8cISV8eC/ZcTeI1hgqb5WB+aZnI=";
 
-  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.11.0" "sha256-Zat6MDfQ/rCSB5Ydn7FPO8LMKl2wRNYZCpVKoXLKrpo=";
+  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.11.2" "sha256-Nv4t50tCoOFp7GhVhNkUldUyQsTj7aY0QnfXzIl0BfY=";
 
-  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.11.0" "sha256-hxGI5jMrscgxIF9Mke6s7tM0CDllDM4EHU57Q/EdK4Y=";
+  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.11.2" "sha256-FvrpT2aOOD93rSy3c8VoUQAt9q0pgvoL1PaBccSCw00=";
 
-  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.11.0" "sha256-FiTsLALc/FvB4AsDWThiHfC2+M/J9mrS7GixrzqEv/M=";
+  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.11.2" "sha256-x9x7Hmrm6XTDrFKT2ZmMy3kaRFAu22TEe3Miv2F6H0g=";
 
-  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.11.0" "sha256-aOvnThGfSamrhxPypI7MKIwd8zEMuhw/o/UeGxZmmDU=";
+  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.11.2" "sha256-eds5ZF/JpTaZyEg91RkID5sjy6gBVnixvNOUkO/gStU=";
 
-  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.11.0" "sha256-N1EyD7esyQYNdEk3qWcekH+/kpebR9kCgkBtiBuTLBU=";
+  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.11.2" "sha256-zj0sU8OWIFHKD/A4fbGytLeNQhyfdEg/ANSfM74ySrk=";
 
-  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.11.0" "sha256-5P2n0Fgk2ESOm99uEdgZoe+Sba20vyCUsJdl0n5Aylk=";
+  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.11.2" "sha256-r+oyRLvZP0H5UOmW0UK9qRNDLCPhvsUQrsO2DGA01Lk=";
 
-  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.11.0" "sha256-Y8+aQARCeYuIfuxLU31gjY5NGbp4p6Hpamgn0XtyuM0=";
+  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.11.2" "sha256-gg4maW0abnPj+1+qJCykrjdS0c7Lb71H3zhQPMltZcQ=";
 
-  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.11.0" "sha256-E1L7Q11HLXscHOrxPss2fRNjEykdQRa28yKmGzvgIk4=";
+  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.11.2" "sha256-h+Mi42MOl8GHLdVJUu024Y5ICtQcHVY6odyxH/eAl1g=";
 
-  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.11.0" "sha256-/ukLk4kKSVtsJ8MNXw58bn6l+0mlAeDPVaO1EwiD9oA=";
+  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.11.2" "sha256-fXk5xj6lJPosnlUBTcPM0dwYv+TEf2OeXcZQEKrK2cY=";
 
-  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.11.0" "sha256-JSGf1XwnNTVEEQR2KyI2krBqSEgEFw84IR1gdrdPdi0=";
+  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.11.2" "sha256-T/91ZTr/RsNj2WcwvlC8QVbglJgH3yu0hTDh0kb3Euk=";
 
-  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.11.0" "sha256-fOVxWpaqJVa1sjhEm4ZzgfdnxIQlIxUeORbLG5a4A0A=";
+  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.11.2" "sha256-tZHFF9JmYUJ+0mFXuWBHNfi+kEhi46J3jjTnA17B9V0=";
 
-  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.11.0" "sha256-YVcmN00t47DMu1L9toL4D33rWPfqkQa190RZJ9KcEbM=";
+  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.11.2" "sha256-E2Roi3zEeim9R0fXXwgi+bEB9bDBC2Eev2lI/6Lfrmw=";
 
-  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.11.0" "sha256-8A93fS8hGK8DMZB4t5fK68PDKzxrYmVDa+UCkhhMUxA=";
+  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.11.2" "sha256-Isl+sNzDxiv3sTuBkL8MkcaZW1yB8O6j7kTXGPgcHW4=";
 
-  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.11.0" "sha256-PqoT60G1gxTFoIx5ro2Q0aCnE9wCXTz5nZO+CVNzUKM=";
+  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.11.2" "sha256-Nq2mUWIzziku4bcyjZQA9/luP8q0tyGOkNdHr1Rem80=";
 
-  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.11.0" "sha256-YbIqecsNgBdG0ruscwRiPhOQHmejIDopHVDG7RfeYxA=";
+  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.11.2" "sha256-g8CL+bL2P4STnx6937WNozQ1QL2EWjCMrTjS+jYTPCI=";
 
-  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.11.0" "sha256-XVJ6Te10TqF8y9+A7GN+fD751K4twpLvA4SmTSqc10I=";
+  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.11.2" "sha256-QKhDQUOfoFJTzJn5cG8USV2503MzPHE5jFlHqMKhn/A=";
 
-  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.11.0" "sha256-XG1i5KepPmHiuCVPBK7YeQCEIM8ZqgnvIqEtcI90xN4=";
+  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.11.2" "sha256-+UFQoQI1ZHQHryki1SZi6SRyEQHImAxmFsL9MHuY+Hk=";
 
-  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.11.0" "sha256-pPreUhwzaK65rZi/TjNX+HMFYF0pr53xKKrL7euxX84=";
+  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.11.2" "sha256-ZZyQXut8dYT2uTYrrugoHd4DPNDHz53uCbIcUc1ibD8=";
 
-  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.11.0" "sha256-p3SLJJSU/dwGtZxRacLBVIagJ0b52j+IL4Mni2E0pVo=";
+  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.11.2" "sha256-65n/QRMNxmXysRtdQajwAN2yX00MpcM6045M65k3fQ8=";
 
-  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.11.0" "sha256-cTPED/zwtypKNxX2s3ZkOsVhGNvCRs26REiL+1EpCgI=";
+  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.11.2" "sha256-n01JfOuAJa1M1lxV/IjM1w7kws8UpfI5/Wx5jxqrB9w=";
 
-  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.11.0" "sha256-vshDzMpLr67eVAXaQIFXk+EbLL9rnw0qTQDarvfXMk0=";
+  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.11.2" "sha256-8pX6X71farX+IXR/LSfEU1LNul2/T7qCnAXwsuGBZI4=";
 
-  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.11.0" "sha256-pH5VdrjZbMgaPIzDdG02aUvTzfuQAVHt++Bf7V5pn68=";
+  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.11.2" "sha256-JAUUApgPoSlv8ZJY+WX3+Aetey7SXIpqxWs3gbrgW3c=";
 
-  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.11.0" "sha256-fSlti+/6WF21b7wO24zK3PC4eftPnRvJM6MqFWMsnRU=";
+  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.11.2" "sha256-AieTPU2zw4m7cFITd3udE03Yq/wlZFuwOCVb9vy83vk=";
 
-  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.11.0" "sha256-Nrx27vWS8QFcWGQ0fE/gUwbwJ8mj3seWnuauTuJvVDY=";
+  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.11.2" "sha256-kLODxMyHr7oo9LruKVl2ncg5Fi8GkSEfKoe2VqmbEeI=";
 
-  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.11.0" "sha256-Rbw4qP/duKCSEvQMeGLMrT0dBiR9tTqzt9BOwgX0QYI=";
+  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.11.2" "sha256-uVsWsZy8xAISqNpPN7qctpxhfkaS4XXshG+iCpSqi58=";
 
-  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.11.0" "sha256-NNZk/u0xUBPZiWFtnwZRibnTVYVfHYFCBz4wZIsLOUM=";
+  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.11.2" "sha256-+mmy4nqLxHuQ1xxgztft0g3uyoNXd56C6wwL7aQ2ono=";
 
-  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.11.0" "sha256-x+dKJMb8cpGyFf3L2ErOrjt2xNEg9gasDbbdoVaTYSY=";
+  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.11.2" "sha256-57fg4yeNePHkyvFN1rrGn0zh576dPAFkqroSm+Tp7Tc=";
 
-  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.11.0" "sha256-r4uPC1GPoGvoIs9+lJW5rjhgKSI5hJiTKBd4lpCuVxk=";
+  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.11.2" "sha256-hvJs4KzaTK2ougi16IrVhD9kHnHl7HN4xLhUqVcDNQg=";
 
-  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.11.0" "sha256-NUH187B29S4bnOdiJHFUnpVPIZHuf/IJ2Ejy4yZW6r0=";
+  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.11.2" "sha256-qOfVU9YH1xYLORFeeSBAE8biTHvpiBcgzvvQXZYvtmI=";
 
-  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.11.0" "sha256-Pr5O3c/zjCwBNdw8t17Rt5yrfeJFW9O5HvUohh/Xza4=";
+  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.11.2" "sha256-XrLIkbqPoCOch+J8Gt9z4JP+4tyA7qkcqDMv+lF4Qe8=";
 
-  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.11.0" "sha256-NNd0gsoQzqZVUYYncNoqyP6OMl9J+ijBXKuApPiqkFY=";
+  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.11.2" "sha256-+C/oOZEJ/qqu3YhDgrr8evDEBN63QAT6P6nes3T7sSI=";
 
-  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.11.0" "sha256-RD48FPh2hh9A8Q2KdFkMGmqE8mzI5eKhhYFaOIo+tx4=";
+  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.11.2" "sha256-BTvtuBIj05XJLe2XXkxeZbddmevzXAoxylfpEE0L3PY=";
 
-  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.11.0" "sha256-IRhw8nWeCMzviscWn0ksaBcuW5K2Ha5S/zShZJ5RFw0=";
+  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.11.2" "sha256-dxovawH56iI3UmWpUTPl3utJOp1XGYk6AVGTTq03Aa4=";
 
-  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.11.0" "sha256-kfOtvZ/f5awN9x6Npbf6aMFcm5UlzlJiBewaeBsuRjo=";
+  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.11.2" "sha256-hYrdXBE0DQy0k0TM0WpuxSIvmnq5dF2nyy+RHt7q5QM=";
 
-  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.11.0" "sha256-w9RDhBEeUPI/w3ZdlVUR6MkUQnh8lyJB6k+5txpS7TU=";
+  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.11.2" "sha256-yRPTeOjvFUaU0Pt4IydYSHNZvf4egj0jNj9uF9Z3s3w=";
 
-  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.11.0" "sha256-gS3ehhl6Ff1py+SNktpEbfzCyZb0hYqpgI8IBr5zyug=";
+  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.11.2" "sha256-qcNqcSME1ihk5i0cjoe4XsEiM9oafjYNaESU8zxaNp8=";
 
-  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.11.0" "sha256-8mM82WjPweo68zoeDPG+oBPaukE7HdfqNAgzAXwgEmw=";
+  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.11.2" "sha256-gkPedqkyaElW78yq7xC0Afswcs2SAiAPgKuFMOqpr+A=";
 
-  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.11.0" "sha256-ux8BoOOyqSN9IQGapfJMrAF1hOKQ2VnXUQtjWsn6Rgg=";
+  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.11.2" "sha256-2Gqu/wamqCf8r7XQjMotNVesvlQQKFY+v2qhFGEq7Bs=";
 
-  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.11.0" "sha256-qqT07tPM/7SUrMCzjJ1LnF6/q09+MjjdpClU+GEWOPY=";
+  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.11.2" "sha256-TVhSsL/6ZZImHdwIi66UsS6WxnDb1ZSJO09QdZiazbI=";
 
-  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.11.0" "sha256-Q9j7pWVHEsO94u6YIEJxpjqgGsamHGiaVUMR2R6r2EE=";
+  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.11.2" "sha256-VTi7r0qB1O4zaS/VnZ+dItsOLbvZytEhzYO6yO5WoQg=";
 
-  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.11.0" "sha256-8cSzwbzat/TVgRGca3ASOM+BkxkztRKKWth5nWoXwyE=";
+  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.11.2" "sha256-yybY1DIO68QDlsFwly6tvdf7FfFTIVWYgSKYVfL2jxw=";
 
-  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.11.0" "sha256-yYVAiUmpQgeeBGHFsjAGK1VrbbjOsQe82uq9JYgYnds=";
+  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.11.2" "sha256-RV9DyGgCrTfP0f6MxJFyqzWlKDqyewB3M/EM/m9og/Q=";
 
-  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.11.0" "sha256-rdX7ZPvQBsmYDW/w6BD/e5O62FZ1RClg0icPnIlr8DU=";
+  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.11.2" "sha256-lV6aNCvVNULd5foNDHpIdR+9XshDlDPtM3YN4P0c4Q4=";
 
-  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.11.0" "sha256-Cs8FzA2hr4ZKLc5OVAtxIG46+yrYtSUwi8QHXAlkBD4=";
+  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.11.2" "sha256-KsKInDsGfipueDGMmPmQKoeG6DYK8e9FpgrrO7pPwNY=";
 
-  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.11.0" "sha256-TuhN5P8g8bFPeM3V6vqd5uikG5tDcmhxx28h5d/bb4I=";
+  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.11.2" "sha256-B3V1ho4oPas9UD6YCDpUl3if69dJlTRSxSLzHPa6Ias=";
 
-  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.11.0" "sha256-lBIa5TTvs10qxZX8v/Okkx2bNByYtJu+wqQmH6oPO4s=";
+  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.11.2" "sha256-32uEJswxpS4CptKIV7vBZD6DjzlSuhptNfULE9Fcikk=";
 
-  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.11.0" "sha256-U0XmJlt1SAA2gsOB8uPGYci6xUxRCEKYNkEubZo0sj4=";
+  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.11.2" "sha256-R/s7CD1hAlNsvmMe7PCzZL9xIV8O21lZgMXtzqib0IQ=";
 
-  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.11.0" "sha256-m0+AuxYJ4pkd4+vvIDbL00wky2+ni5ct7b1+G4TmorM=";
+  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.11.2" "sha256-nRRSzjYxQDFvfD4fuTWl+LfyPg5RoNHg8loGDxzVVrk=";
 
-  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.11.0" "sha256-4d/xpDpgi35aYBw01TKs2HBtQlTTYJVogLiL/o8b6dI=";
+  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.11.2" "sha256-e9y0ZjEzAr41xE2jSc5xCeftDK7EEg/SKqkgWkkMeRE=";
 
-  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.11.0" "sha256-v3ybODPtGQ6gYb21EDJhTY3z7y92lsk0oFzsr1KjSjQ=";
+  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.11.2" "sha256-XX3f+pw03ft13aRml7ublI72AjbVm8XlgcF4WLaT8UA=";
 
-  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.11.0" "sha256-Q9aPKenHsfsdak1rrJ67nnG6qqyr+sQBxLTYN0Hiccs=";
+  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.11.2" "sha256-b0QPtSWITrvIrQdpcFb7m5EEbgyyX1UaE36Ds2UzieY=";
 
-  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.11.0" "sha256-4H/KRmYnp41L4A2nU1h0DEmEDSZlxuciykDERYGjt70=";
+  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.11.2" "sha256-oLe70GFx6BJosKfgrFzde8G3gd3Tb9mLRKy45gx4s8U=";
 
-  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.11.0" "sha256-sfeUFQBySYHD8m21P6UtcRxQi5TqfSIYgRraz5pMXL4=";
+  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.11.2" "sha256-JfipFKHOk7w2iGmey0MxSGW1QFDdNY1ArptnNc4nR70=";
 
-  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.11.0" "sha256-ytU6H7PUtQXvxECRLYAc8VF344ttXAwmhCZyx+pPPLM=";
+  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.11.2" "sha256-sQ1liyCEjK8+QJYF5e3FFbPNWKfmGFV3QOv2lNZ4rR4=";
 
-  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.11.0" "sha256-BgGVEaDqaqQGZMMKNjlZ5AQvoQqjyTwrXh3DO47GKZo=";
+  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.11.2" "sha256-LV9yyj5NsgRCSs+jQ2sNaEWuUKluLB00dtuKfzR+Cn0=";
 
-  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.11.0" "sha256-SePLjtNFOw0io9+IF9TOAZ75mK5LTjFqTyu9zgMIXII=";
+  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.11.2" "sha256-9mNtD4FE3PQ6DNAhH8IcVSmlP9iDgswweWJ6m9sSxLo=";
 
-  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.11.0" "sha256-Nvngx57lLhCHJe1J2kW9giuVqVlDTWt2G0/V+F3qhbQ=";
+  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.11.2" "sha256-DmYp2EEdSip+CNQw2mF27NftTcl/RCStoJUIUE98kZ4=";
 
-  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.11.0" "sha256-sogBe6kjxz5m5pWuMyoDnxAV57W1sLPa2hGLpfSBrx8=";
+  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.11.2" "sha256-WWeTc1oPQc/BGve6ulckgoE6Un2VsEQO+jZ9Vn1YN1M=";
 
-  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.11.0" "sha256-qF/6aoOLZ6s9L+kemCc/F7+d0AgTRlfQws2YZAi3kVY=";
+  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.11.2" "sha256-o2DSZMBf7SUboQRa+j3w9XX97B1V+IrKe4lcYTTbKqU=";
 
-  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.11.0" "sha256-w5B+PvK4s+oQN79qTBCp0FXnPNT9WqFuUHQEzPAamCU=";
+  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.11.2" "sha256-2qLEPAx24yVox+WzM1F+TgrMHUICh/u52CrIkan4jKw=";
 
-  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.11.0" "sha256-D+loPH8h5FX9Hu47ITN10TleVofFJOHfid+GjdpL3mg=";
+  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.11.2" "sha256-kMT5kfYjkuEOYqEGgJSPrT2zA0SRwR7ozROrK/auyWI=";
 
-  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.11.0" "sha256-EJ3cdEwiwcSorBLVGol94HKFyD+ChDBhPjJ7mnA32e8=";
+  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.11.2" "sha256-tkgaimET3g+IYEPa07877wIkTRl6qg85ppcWttRunKU=";
 
-  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.11.0" "sha256-kuj4ZPqhtW3O7jpPEHwuAW5JsySJlyeno5P+azunwl4=";
+  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.11.2" "sha256-Ck43tu6SnKPtQW3+6WClcf8rLGF8jS7vg4N/VeeWcDM=";
 
-  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.11.0" "sha256-oz/Q5mpo1K9lX8M9JQ9vI6S1jxCpF/2MIZiecN46zAU=";
+  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.11.2" "sha256-0MOrWtTHMUf4HPbM/Fi8JtWSD+UqXFg3zQNwFbhmydI=";
 
-  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.11.0" "sha256-JIUQzdIxJHbzgELIy+EmYytNvv4efsi0YL7g44VAEk4=";
+  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.11.2" "sha256-q3oYdCaMzvZ/FYkldC0DbzAHscuAGTq8WyAQwZlCNso=";
 
-  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.11.0" "sha256-KPyxVo5foHyKEMpjT0Su3PzD45TUBEb9FhcG2k/YA2k=";
+  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.11.2" "sha256-CKCC7W5h6qKv3Zya/e+WcVoWdOtCqoWKRlJFHSTdxaI=";
 
-  types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.6.0" "sha256-gbl7jEgjk4twoxGM+WRg4MZ/nkGg7btiPOsPptR7yfw=";
+  types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.7.0" "sha256-hJJtGsK2b56nKX1ZhiarC+ffyjHYWRiC8II4oyDZWWw=";
 
-  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.11.0" "sha256-sCwedjPAwXdID4eCENDCbqqazrNFemM9OodgxaXqnas=";
+  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.11.2" "sha256-zg/QhW+4Chugyg6rG5HtrE1GAhbWUaveJpaJFemoN94=";
 
-  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.11.0" "sha256-njTF1fiVk8VezuzSRPNgA+HYZ089cXFTiGsci/yJ/RQ=";
+  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.11.2" "sha256-jGl4I2voUUW0+OuEiqmB/MEHaMMlaaKHkKzod2r4d+E=";
 
-  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.11.0" "sha256-reshSY32SwJFCMiT1lifRqQkxofXeDGwiEuVc+sA5jg=";
+  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.11.2" "sha256-E0jvEhS96gCpV8uIUySP4EmxsFBnS8A4DOM0rOEtNHs=";
 
-  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.11.0" "sha256-WM4dEyBqocZmCE3iG72SN6kR9u/InT3C2YY2PVl3drw=";
+  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.11.2" "sha256-ASsMuZQJlYkEFGwMByXHNlxyJVjjMWSkzOBG2l77AyA=";
 
-  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.11.0" "sha256-HG7VV4MGdVbqNuLqM/es1WoKURm16hEI6soGUcTEOHY=";
+  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.11.2" "sha256-AxS9uLbEut6+4PLuLBB9ddb/6aPWCzBQBG2XyJW6VRA=";
 
-  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.11.0" "sha256-FFe+imaR9rnLakPlGAZu/oSY4A7s/BO5InYKtkRx77A=";
+  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.11.2" "sha256-SgmAl7uy4YUqMwGWbt+vjjAhggfzzVXy14eZuowl8Q0=";
 
-  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.11.0" "sha256-UOJmvsLMvq2PlCvWstIGs3sE8JPTYSsFY13xFhyLIB8=";
+  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.11.2" "sha256-P+HWJ/nEkeccqTNk8AotPjSXvHW2gahfhfI5hDeXnOs=";
 
-  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.11.0" "sha256-a+t4nGBLASBOZfuadcF/VRMpekjOyfiZXl81vE/ZfO0=";
+  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.11.2" "sha256-Umk+VdPTQSp4VmEqfCdDwU1coJaMU/+tGgi/bjgb0xw=";
 
-  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.11.0" "sha256-/+T6CRjrWy7ZDRJrqXB0urITj55s6OeJD8+BM65dMMg=";
+  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.11.2" "sha256-/afargcEN7hB5DajP4EL+juei59/rLQp+XKm1N9QEbA=";
 
-  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.11.0" "sha256-BxuwoFU+HEZDzh+PjmVK8NTqeBDMIThibFN0EMFwfTY=";
+  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.11.2" "sha256-sAxc6wjEXz5zqq6iDatNbWH+cYQkP7RMMAgnTR35Hdg=";
 
-  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.11.0" "sha256-I9QfN8izkZyhtx5jlSCCKKUVtEqSXrTeXtmEvmLZU7o=";
+  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.11.2" "sha256-qjfONLIXIeXfZForb5PBEZBK1CpWAvkTMy2hqMJIZQA=";
 
-  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.11.0" "sha256-Z4QKqqeXtw1FihA9bJuUdbfah0bpUkuF80/MmMecgIo=";
+  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.11.2" "sha256-QBDIxGZ4ZP4CN9VpV0UhE0PYWnF2L+FRk61qLfLNDj4=";
 
-  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.11.0" "sha256-qpYMY/8FLidczmsGyurHHZT+gGq69GNmYzZOI1Qo33c=";
+  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.11.2" "sha256-jPWj2lyMNpEhJwWYosvYPA6g4b8RjHvLyCJ+545suKc=";
 
-  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.11.0" "sha256-b8wIvWFHwQPwoMD3rsuQ00nNPvtGK41zlqTEsnIK4WU=";
+  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.11.2" "sha256-dwEipFOs4xkkegGVtNysoTLsVfal7ysR2zAJ7ehXQYw=";
 
-  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.11.0" "sha256-l15NK1qBbxyTtSVIf6tafpn9ORXP++xIntIvfoJXMmw=";
+  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.11.2" "sha256-LF9iBh/e3Ac54ampStAudt5cqbarnhWupRR1+A300xc=";
 
-  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.11.0" "sha256-xauRwOuUy/b0NolFHz/ieBts6rNxfJKW7l/kap3XKKo=";
+  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.11.2" "sha256-aYViyNpTZ66Ow2Vymcqc/Fs6ESvl/U61eEpYmozaK+Q=";
 
-  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.11.0" "sha256-P0kuhYy6Eqfq2E4Zk1bJWIziNSdB42hQk4MnuGMyKNg=";
+  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.11.2" "sha256-EcqRC07VonREJAnEQAuM0D6pewJd1wPpIHQh/oEGICg=";
 
-  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.11.0" "sha256-GyF+vCtU16QqjNX2CYCIzFDnOCkjDpMBYNnBx7n5uvg=";
+  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.11.2" "sha256-B7Ls8R45clgh2OnBfLtYV49pzwCKs+tGVUPa298U51A=";
 
-  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.11.0" "sha256-eeXyYEsc8+Z50Fi5BPXQ655IWnRb7V2ztUz6Dg4Bfl8=";
+  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.11.2" "sha256-/6NysP2UP5gttr4CE0dr38ictulCYUnzbv/3owe/8Ww=";
 
-  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.11.0" "sha256-DosgEjRG1Yb0T8veRz4MhWtcNN7yeRAKWp5C81LKPJo=";
+  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.11.2" "sha256-sOHVNzltGlxz4FZR0DVoGJVo6Ga8+UMW4owsaubVCPA=";
 
-  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.11.0" "sha256-D2U7NuLrjBn1j0NOpITmocfx/YVdqNZoZpLYpfk/5Dg=";
+  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.11.2" "sha256-A8aLuBH4xtvpOjlLTBy5iPHiub9P1plbZWjCGke/WzA=";
 
-  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.11.0" "sha256-5xOjAO88phwD9WVgZBL9C3x9soNPN/45jtrqn51Fd2E=";
+  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.11.2" "sha256-spHl1upjr2r1a8DG5XBRnmaowpOYFtnpMLGtoEakwO8=";
 
-  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.11.0" "sha256-K5EXiQhluhNWYEnwom9E5I/rmrUv17CknO5ZVY5Dxig=";
+  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.11.2" "sha256-SgIGw/aiY0VGJtVdmg/b5FZhmhaSqUHJ4/BfqShnRDo=";
 
-  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.11.0" "sha256-uHg3yqEdNpjXLGPOX7JBDrYo/uxwc1M1pdBd46H/gDw=";
+  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.11.2" "sha256-DhuUTGNVKB0jHd+MJ3valcCQSL5sKJlMtUP56aVqkkk=";
 
-  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.11.0" "sha256-e5dVP8R6EsEygjpvPZnfcapj0kqJocsa5aL4olZZrEc=";
+  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.11.2" "sha256-fJp9LXYqauvrxIa6i0208JRm3CuTpzV4rvYmYTXH7os=";
 
-  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.11.0" "sha256-dV1OwwWzWauCnF52N4JtpE01HzYPlCxsTBAKgFu7Czc=";
+  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.11.2" "sha256-UtnqvuB42ZdW9Pl4dKDC8Y+OfXe1pULa2TGWPh2BvDM=";
 
-  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.11.0" "sha256-QLDpZcvPwW1OggflukTSnhgR+l1xTeeepLuwdzztMCk=";
+  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.11.2" "sha256-6+O/r6fNyT1jm/3088WnUmy/lLeoSUp3XzhvhqbD9Yo=";
 
-  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.11.0" "sha256-x7p23ZzGvdJn01XEGWTSjx+HX/QUicfLiqMGF0ZV8Lg=";
+  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.11.2" "sha256-nnvnvNlI0d9eY6BK+fM0HK9+cBDStuwl11AlK5lRw8g=";
 
-  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.11.0" "sha256-Wg12l88mDmZuXgxZ+UFsdBVbbt2I0Nxxfi/2AH3QARA=";
+  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.11.2" "sha256-1aFyIW+UZv6jxDRn8ry6gIrLMJbgaYKVKlkIOAGWRHE=";
 
-  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.11.0" "sha256-di9s15+U+nsgG9a5WTajYyucCNo86+8Bv2BI7OWGXQE=";
+  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.11.2" "sha256-MhxCre5EDkm9EOtNdPLqTckeazZJcTmbZ2r8soQA+Jc=";
 
-  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.11.0" "sha256-2sGnCprlQQ00g4WjSu2N1CuENwyfGt+P/i5NfKd4Feg=";
+  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.11.2" "sha256-6aVK9lzDYgLCqy0cwp0ORJn0BT9cSk4NEJayxOjF7ZI=";
 
-  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.11.0" "sha256-d4cjbqZRiK3VpLY7jxureug+nBtCTVQ2OUjXKQLufZw=";
+  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.11.2" "sha256-QbM+B7Tfvcs/ve35QzymZKVnWhtB7oFiwI6lloQLxVY=";
 
-  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.11.0" "sha256-lTKQ1xNAy9AqyPoRuk3ThwlMd4xlFjtm3jAcZjLmKCs=";
+  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.11.2" "sha256-lVM/HoERd7xawMrVIzHYUDnc+qymMSloqcFRh+u7mjU=";
 
-  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.11.0" "sha256-ZB3c29FJiopBwP3NcMGErMMJj45IcQ1KnDFWXePaI2Q=";
+  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.11.2" "sha256-r81zJzAsRFSpJRkZwWvN5hYj0S/JEuUFuCrNJO8kwlc=";
 
-  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.11.0" "sha256-hNs5/R/dSV1GaNj83OMIYRiqmEsTHQ1lVjGqFqvRPBo=";
+  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.11.2" "sha256-zFrWBgOmagE6CtdQfSOZTgoKAJHmCsa0tcOrGbO6T60=";
 
-  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.11.0" "sha256-aum5y7noTMkaTc7Diz2lzlkqLJaN7schCQAmau19vAc=";
+  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.11.2" "sha256-JrtkoMlkuM9KiJMWRxTyFw/9usEjOO2Z1qYc4SsDOtM=";
 
-  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.11.0" "sha256-QcLO5rG7Q+55XRszr2vNJsSkXamYvOEe3BTnsu8adzc=";
+  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.11.2" "sha256-z7kEjYPPi5CQ/cWIm06bOuwCf/0lU7/9Wv6FK5TxIDk=";
 
-  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.11.0" "sha256-t2K3hypn4E1sVoQn8JAIUuycQ2lizBXokpz4N+2XgH8=";
+  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.11.2" "sha256-34u790+vU+yqsAFh2P0lV6zASqCAl776l8a+a9iVucw=";
 
-  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.11.0" "sha256-fGyv3mf9POvGFB+JpHldbxMfi1kUiS2YNkpVabgrDIw=";
+  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.11.2" "sha256-coo7Pv1DaAh+d1594EK+kQV+Fm423zIYaotG+Te8JN8=";
 
-  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.11.0" "sha256-c6XSyeAa80f5TnoyMvsAmqESpqaq+y94sfRXF6cFpt8=";
+  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.11.2" "sha256-1pqghG7TZeT7FwT8nCQfQnKpiKgovfv4zpjAAgYnxeM=";
 
-  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.11.0" "sha256-cQNQz1xgCbLiKWR1i1sgDmc1unP+7IoF1c6ZwH1G7SI=";
+  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.11.2" "sha256-Rcz9n5/L5B/BPiUiJp2rsqfElU6o6n24d/ja+w+n1aY=";
 
-  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.11.0" "sha256-h4R5ErD7YDqOYLxRgNioB4dhL9b+OwiA38AM3EoXapE=";
+  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.11.2" "sha256-P3HlDSCLDzmdq9bEvcM0c7YDdZu0S6smXJejCkjSvF8=";
 
-  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.11.0" "sha256-VgJWOfWEdZI+9udvORUBl+cbAlBAb2YW3+rqyqOIGdk=";
+  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.11.2" "sha256-tHh5VCmz7dE5dOQPwQtwF1yrG7iPLO3LJCEXcxi1N4M=";
 
-  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.11.0" "sha256-6S/4awBPSegC+GeEysxFmne+5K4I6UlQdnnK6q/7kBE=";
+  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.11.2" "sha256-opL4WsHUD7VSMrFguX7LKD8rzuncTMnn9KU45AgYoKk=";
 
-  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.11.0" "sha256-k78zJdv3w79v1ocoem8d1VuBKTga7iPpPYUw0QyjHkU=";
+  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.11.2" "sha256-yv6GvZxxzKoquIqE3lu/xpfYxB9QvKEipmKk4YM2jec=";
 
-  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.11.0" "sha256-klAYYRH+DUBzs/JISvYAVNXedeje1yhyd80FASAOwzk=";
+  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.11.2" "sha256-Dc6z1uAWiVPyiN0ecX4br07bKdojmeo0MC7c3re1hyM=";
 
-  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.11.0" "sha256-HpVZnkJvQgK9Mz+J9ZmJfDGoj9REpZqFjJBkfkvI3Ww=";
+  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.11.2" "sha256-niY0fPGHHWpAPOffgjEWRttS43Kw4uxkcTy5xEmaPPc=";
 
-  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.11.0" "sha256-icSP1n2t7qcZAt0EK6/WK24T/JJfNzFzxmX3R8KMqYc=";
+  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.11.2" "sha256-I79oOBYzQ35mrD9ZkwZo9yFKkvOVg5MHg1/qsWBs1hA=";
 
-  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.11.0" "sha256-UNBJarFF4t5NjLKLqdYbr7d+LPqanzZz5HtO0zr/hzQ=";
+  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.11.2" "sha256-Id0RR3EWaGZIMMaA1CSKwtX4hPQNvYIo04lCjzGbLno=";
 
-  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.11.0" "sha256-bxmMClb6G0+/Sc1c8YrhmPpTlfM26KiFxfIiRXm3zwY=";
+  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.11.2" "sha256-TDRjuFHP/6MSNUwO0q9mgxXw4GAjYeEAEwcGf0a+q3U=";
 
-  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.11.0" "sha256-0DafiqdMAXbuxVXg8vz3uHuiiDANvOLAMnClSt6yglY=";
+  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.11.2" "sha256-GUDNq34JKrR6F1uzGvrINNEvZf75c6hrtcVJ4ishQ1E=";
 
-  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.11.0" "sha256-QRtJLMtoD7m7p+HPYzpPsaFapejDGjHPrZDFTbfAATc=";
+  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.11.2" "sha256-P59HWAaJrCKpwyY6kdyd4XHHRhmd2DxafY5Ytu5d8Ow=";
 
-  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.11.0" "sha256-S774aDCAbVL40vFcerr3IrO8jejU3oM5ECTO62PvK+8=";
+  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.11.2" "sha256-BBZWoO4sWWSSJOf1MnMF9KrtGKTc+h8yuIjlnx0iIBE=";
 
-  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.11.0" "sha256-h0MgZfxNlzEnqgN1AgX2mEbN45O+RToVEyEaM4SUrnA=";
+  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.11.2" "sha256-CrNLX+1TDawkCrBgmNqUbhJcbh208sKpfbSpS6dksPY=";
 
-  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.11.0" "sha256-EUXjUigF6Ntifj0QGvEo/i99lZlIujbxNAPAJTCJi40=";
+  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.11.2" "sha256-sbiwfFkB6GDwkw38mTbKFis7SOYcM7lrC/sOzjCHi0A=";
 
-  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.11.0" "sha256-mnAD4olYuQG1hIurWbfWj8yVZipellgH9werYLZCVHc=";
+  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.11.2" "sha256-fHGSVacmVC4/mOaeiMhgJwcMz+x7njlFm8EesZnxdd0=";
 
-  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.11.0" "sha256-MlK0fPBPZzHheJ/oaL4ficKVUhQnm+ERN3G7fuqmG6s=";
+  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.11.2" "sha256-4OlzYFr/xz603R6am4Mk4A2C/cGXOksSdxopm/2rhV4=";
 
-  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.11.0" "sha256-DqdxwO+VCX4eqcecT3kQSaUZa0XWJHICKeqE3CyuPOE=";
+  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.11.2" "sha256-4CvtgQH4KoYEUWzCYD/3aC1Ouo0XiOL8ByKCdFD+DPQ=";
 
-  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.11.0" "sha256-81KbDwWUcjY7frYXgpH2o+U8mi8fMxP1X0VzFUh7o3o=";
+  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.11.2" "sha256-ccTKJjTvCtPiK0Z+TLxFYOE+/zpLjkBaEcT7EtPw5IM=";
 
-  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.11.0" "sha256-riJj0umKScbQ9MCV88fNeHiuLcigzJqtWRgIhcuI3Ww=";
+  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.11.2" "sha256-Len2Z6UxFRlt4lzyNB7bMw3SO+mRqgBO5YHaz9N/4V4=";
 
-  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.11.0" "sha256-taaVPQtZfF1L9bCSL0ppyGy8YZE4pvJA2hK0YAcE2Oc=";
+  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.11.2" "sha256-CcMrlDc5sbbjK0NLOQB7+Y7qaODQWz1NTIB6yYZB7OE=";
 
-  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.11.0" "sha256-nm1s53U2rmuw4Ko21DOW11neknjfBAyq4S0dBzJQRPc=";
+  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.11.2" "sha256-/dvoqri/C9QzCddypXJXJYrhQCVHSn3S45VJBHeS+5k=";
 
-  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.11.0" "sha256-UlpkN8g+rBmf9hu0MrWTaH4S1SaNQK6mFeBw65hF4Nk=";
+  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.11.2" "sha256-qBj2alCz0Us1vUIlstWa++ePJgO7xYeE16Hlq2JRx1Q=";
 
-  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.11.0" "sha256-rxdvCAEeoUqduN/56yMNxZnfadedkTaPpg7+XJhcHGc=";
+  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.11.2" "sha256-Om3guoTpVeL7dvRt7D3p8B8ZkWjb3waQAeM89e0rpUQ=";
 
-  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.11.0" "sha256-AHUOMZn6kUKnY9BAteySrzFr8KC8kE3nolHEZ+gn+Tk=";
+  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.11.2" "sha256-b4hNZ77+lFUmFLqhowH/bOn4kSCuqvIxU18vj7jcFHI=";
 
-  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.11.0" "sha256-YsFxhXd2xxW4vT2zDCHRCzFOeINKL7JypENiTcoAJ+I=";
+  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.11.2" "sha256-J96w8/9UdtRzbcWqw4E0S/FrknEKnTTxOm59Tcu2jvM=";
 
-  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.11.0" "sha256-IuaCCYxuLrrg6JPQQD98EiW/VSxs9I0Aidiv+UDp/ow=";
+  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.11.2" "sha256-XdoXh+IE82wywcCDY1bA5tr8dJbSNvXB5gIY9nLoPWo=";
 
-  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.11.0" "sha256-9hVBbXOYT+qn6JwUJyJFIsMemvcQ7DyxxlbBKxtTyIU=";
+  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.11.2" "sha256-0ODtTavUgRNXUzK7bjVa86lYNoCn+iH64QAJN1cvc84=";
 
-  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.11.0" "sha256-rshRL2vH9hHEeYbWbFlnDkotiQezo9kLIjnK+Kioocs=";
+  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.11.2" "sha256-abgoq7erXikE8KNMdRBdItI0/Kzapgg0BcDVjRbjBYU=";
 
-  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.11.0" "sha256-yyoFe/7AqXu9H1hZs6yfTGt+d+peDu1GQEWQ6+G2gfE=";
+  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.11.2" "sha256-xXj60XZQMUiHXETJGQjvpzd+I6A3isV6KLOz3d5qpto=";
 
-  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.11.0" "sha256-v20pt5uv3Hj7xek3Xm8X2GLkRk+vRZpqZSENLOYx1hY=";
+  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.11.2" "sha256-lw4MR2UKLdWQhpaeMnu1/q6bZMF7sPenQfeErKfWGxM=";
 
-  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.11.0" "sha256-qCVYQmM2F2uYY7+LbyrUGaFFf0/s6wyYilwrHckyPag=";
+  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.11.2" "sha256-QpVVzSgMUTww9Llo1WG6mn4BruNDStXhy6kNoPZR3s8=";
 
-  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.11.0" "sha256-2s48UBjDJqtQ1iBr2yV6rvqoGNsLBpNaEP1WNsp+qPg=";
+  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.11.2" "sha256-RWKmf8SArQUMNYGF7e7dmYMkQIlpxuzKdZis4w/cKpg=";
 
-  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.11.0" "sha256-ci+uWwMNglRm2inRUzGtX8F27Bv2KaRZNNjHxMT+gnk=";
+  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.11.2" "sha256-M2FfcvPJenYY/WD8iH9foiVIRsFG9WKsMLOuPUnjs/U=";
 
-  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.11.0" "sha256-e4jmows4W8JjUbBr0LhteSRp/V8LBk/em2SYWFTHhfk=";
+  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.11.2" "sha256-wes4LEtLv5ybE51iXxHQg18qCAm5sZ+vZGiXj8bK3yk=";
 
-  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.11.0" "sha256-mK5CXukLRr3978LJBAHn/KWOxiIf8zpBZ1ETiXIC/9Y=";
+  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.11.2" "sha256-xcGxuzmb8ZG56tp352OVDRn81EjSjPySxDhcg/n0B3A=";
 
-  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.11.0" "sha256-ISNRJ5/A+/QzuIqWoRQEnPeld7INZGvTcuqfQWK1FJY=";
+  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.11.2" "sha256-z7IdwFRh8yaTv/1BMUdCOmUueSIilBB201OCiAFe+Kw=";
 
-  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.11.0" "sha256-TwXt40LBCATVrunDjm17phBbcpMHU8HkWQ7/avBozvo=";
+  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.11.2" "sha256-W1q61V0sPYF1XD109kf1uKgOLggvTEtbtDA7xaWDFB0=";
 
-  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.11.0" "sha256-kxLh2DKFccRxmD2uHTlrf62qasZ/FuRQOLjhzTa7nX4=";
+  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.11.2" "sha256-xeuBRVcg+Fn8/lYTOZA3Le7LbpB9jrCCB2H8nQIq+4A=";
 
-  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.11.0" "sha256-jCqxuCWdgTbV+ul+vtauiWaA/cjiIpbjlYRrfaV6zQY=";
+  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.11.2" "sha256-yn0pE63A8Pzgx3NhSVKqlTFIgKFMklw+XWHTxKybwc4=";
 
-  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.11.0" "sha256-/jG0DPAYhycTN0VKAO2i2EO4htRnLMbUHwLxND5SiDw=";
+  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.11.2" "sha256-uxY9FB+BVi7aC7reo2FsNEELX2bdgg+/IY6qxUz7U8c=";
 
-  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.11.0" "sha256-287Znbh373X2EgFilTvFjQMYI8ol+EHmMS0krMsCMIo=";
+  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.11.2" "sha256-n2hn56rUVBuS5qNep7junV5LGZWGLdBt4EVkSORg02s=";
 
-  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.11.0" "sha256-X//a8jbgKvgYb10yLsha5Ekw7JfBZ4ZJDpZtdj8DQy4=";
+  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.11.2" "sha256-PNo0W4KDRwUyzg+aSxoocYPqllG4cMAB5SEsj5mt3lk=";
 
-  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.11.0" "sha256-SZO4Xo3+xZjtHGKCWMgcV9VgRkFsLEEqzWq3uKul340=";
+  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.11.2" "sha256-hhqdwUHmEAPGQuPnhLJtDdHaIYb/sv/U6UCEg+CKkyA=";
 
-  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.11.0" "sha256-fOqlUtOyJR5EpBc24tJwRJakp8OpnoxIfQgdEFlFNjw=";
+  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.11.2" "sha256-O9TbCPu6aHsK0NAmYVCZjy4G71EhlgzX24behEGU7eI=";
 
-  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.11.0" "sha256-SCfymFM/imhxod2yTR4wWrm+bNQ4Ey+3GhXND1pigwk=";
+  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.11.2" "sha256-N1RAqfBhqqw4q8G8xJPlSQ69ww7Vaz3ySafwi2oBrB8=";
 
-  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.11.0" "sha256-vZd4RpmMnviYbcEwAff0DmMFsIcHiYV7to1K4bgP8D8=";
+  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.11.2" "sha256-dHZZF5L+bVPDYFLXWHxSJjNAfKus2E2sUQlOXLp0TPk=";
 
-  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.11.0" "sha256-+4g0HkfkBA2Vi7VHUJEWRyShCVool+21bEpn/t9QNUo=";
+  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.11.2" "sha256-nTfFkbwnKM2flJfCIU+An2eDDrMkyjrayJ7V1zAFVoE=";
 
-  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.11.0" "sha256-SP4nUssP7jYS/huBwNf9vVcBKBKSH4X0jJEjWXNC3Fc=";
+  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.11.2" "sha256-8LYpcjMnPEOX7qbQ6I8zbs3/UoIhKEnvNC5qasqsqcc=";
 
-  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.11.0" "sha256-e/NlinVQRHRIEqdN4MeK9yD2WkBMgIZazrGvfsXLiWk=";
+  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.11.2" "sha256-WM2MksGubVpLG73vK107MUh7tJcvBr0hiZ/669yPOq0=";
 
-  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.11.0" "sha256-a1yu68zlG6N+ezicX6aLH99A2kYLNCPV1cXMYEeI2ok=";
+  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.11.2" "sha256-/xKAA15x8xpMCh7kOi4kWuwaXulLRpMcnyzVPMH+Gh8=";
 
-  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.11.0" "sha256-Q3t3g2FiolXVGGlCAodY1dweI9WlNaYESvFLB7vzyCk=";
+  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.11.2" "sha256-he01wy13rhnE2xzXkJ3twOZsnQ/XfzMG74QP9Nyuj1o=";
 
-  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.11.0" "sha256-bLwQkmNKbuqUyKh8QlVDsDfx1pcgC78K7B2vumrJZNc=";
+  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.11.2" "sha256-U2zesi+tt47KzbpdI94/S3ypcUUSWFUZNQRUcHRHWWY=";
 
-  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.11.0" "sha256-giit/TrRCMiaT/qJzyvKFS8dGnJh9VrTw4CRv76rXVo=";
+  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.11.2" "sha256-o+l4pAMZDwmVFnpArvKHNRB6zUC/AYWqrRsNZBgrV7Y=";
 
-  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.11.0" "sha256-yZw/D6C+Cj/du6j2ii2muxXOp8lrpXfPgZp0xit7uyM=";
+  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.11.2" "sha256-IX8mZcFKSvfgCI+iXq6hByFwPBRRL8rqxr42XgPXZ8c=";
 
-  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.11.0" "sha256-5nj1I2OszOyuSvZtEnfrMlPBMmTrI4S5Qf2PK2aSesQ=";
+  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.11.2" "sha256-Op15jR7QepqLkWxFG7dMrre904OC3N9viwzChS2bNno=";
 
-  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.11.0" "sha256-UMEnin0Gc9CRacjlG1e3h3IWJCrp4EsewTzk1GFMjck=";
+  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.11.2" "sha256-Rgc7+yij/CyhxOK/2hOQIVzrLW4lmRa+0eGxlWiIf38=";
 
-  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.11.0" "sha256-vhu5PJX3NsaG2BXy39y930Bf+70zV7EfZpqlCbtZVhk=";
+  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.11.2" "sha256-Hv6L2fWR7dHjhU3Oqm/sI18a/12DYJzPsCcGKlXCm80=";
 
-  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.11.0" "sha256-AEb2dQnJ+QN0FAbDtjYfAwb7ZAeVqod+NIVE7iBVvBI=";
+  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.11.2" "sha256-k4Xsag9IM9/kyv7TM9EH360yTC9mChJgxLS5U8MHRA8=";
 
-  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.11.0" "sha256-tVSi4HLeb/QiKs3uLfp19Kzuwi7BspYOh8W8xa/yjVM=";
+  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.11.2" "sha256-8XfZoANc59/sIqKsSMjvk8T41/BW8xX17ACjf1pXxyA=";
 
-  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.11.0" "sha256-01wTzG20lsCat32U3ewxYNUxVbHEJzLAxnodJRIqGBI=";
+  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.11.2" "sha256-7sLVYb2ZzdiVsqUOytiPt/b8GiW9qA2un4n2LORy4gY=";
 
-  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.11.0" "sha256-kJ05BDT2EJBRNmWbm9PUY0yh5H/PHonvIvQQyHg6Nak=";
+  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.11.2" "sha256-k5jGzYtjbnV/ZaJMQE/lbgmhYxF5k9Quk7/QaTJDjrw=";
 
-  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.11.0" "sha256-a/BkGzBQLhgQmPdXQx90VSxLgrr7wVitI0zeefC14vA=";
+  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.11.2" "sha256-mJdB9fehiTA35dA766QlQyTkrvS4J4s8pCBq3cJcsxw=";
 
-  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.11.0" "sha256-vsEfls5Rf8vWb96jB1WTcAwAXP3GDIkmNwL+dEhBlJ8=";
+  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.11.2" "sha256-iMgv2U0XPdil6xt4/3j1ZZGJGylEz8qDYzzvTP4N6n4=";
 
-  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.11.0" "sha256-ZE1VA2mExcHfHwJ9pIJRlXeV0NDH5Lkvm9yOS+nDFoM=";
+  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.11.2" "sha256-2eN+bo1BWU63a6xCexpVCZvblcCRdPlGf35D8v6A3Xg=";
 
-  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.11.0" "sha256-MzlJ9CeaHiwEKd+miQO4TdIr9JG/u1XW4P1l/kGVgkI=";
+  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.11.2" "sha256-i5WHQ5wHvYdNpNJZWgAWAAD6mZPl/RPEOSh66l7PSCA=";
 
-  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.11.0" "sha256-k6rcuFumGuas7qOMa5vhp6rfxK+J5wWq47Gwfo54p30=";
+  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.11.2" "sha256-v1FG59Mjxefyp4PpeLGfgHlrzVrUGUquqBSyxEM1OiU=";
 
-  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.11.0" "sha256-l9jFLw3A6yIQ8JsRJO66CUetSeitYx3hE1fTTAPCKh0=";
+  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.11.2" "sha256-7UnTnGGGAfpPmU+m91R2n9AZinLoPFY/nqAjopnwhiU=";
 
-  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.11.0" "sha256-sUkTUxkwSClz09NZ3TxkKyLUWENJt1L0on4Nva2ZQ7U=";
+  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.11.2" "sha256-s/DbyfwPZ0qNvYaMWxuAwF9HqKihUjELdKPJ71DB1C4=";
 
-  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.11.0" "sha256-EMZGeA34sNVNqv3AJSabyz1HoMbic617CQPp8O2droY=";
+  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.11.2" "sha256-k0ujcxl1uupuVNDXDc53WTb3buAHziPHDG662LrP36s=";
 
-  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.11.0" "sha256-651JlGJYbt7VAdIkk57nxH0PWvi1voTruVzz8tC7rbc=";
+  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.11.2" "sha256-jCEaxTTobMmZBNAFauI0Oh0/gvhJZXyrbgvsIofmrKY=";
 
-  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.11.0" "sha256-Np8fPiIjW5F+co1s20R3hDZS/fb8U0pYoKNC1hzEQrU=";
+  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.11.2" "sha256-f5RZLaBzcikIZ77Ei1JZZQuaKy2M+RkRpeNhsswSunU=";
 
-  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.11.0" "sha256-EXqbUM4pYsmprvd04fDghy5Sy8u4jgP+OWSg7sWRr1c=";
+  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.11.2" "sha256-bja/dcxw3OOeCfFgpHK+6gnivYoqAzmqt2IetHLgzws=";
 
-  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.11.0" "sha256-POwMTLFUjTNa+nLi8Fxq8UihOkX0z1NuFaETuI6uLns=";
+  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.11.2" "sha256-9fVYF2qfjM5DYWZG2hbeg/XPz+K8tyGhzSxY8eW0mHI=";
 
-  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.11.0" "sha256-gEIBYw1ncrS8R6bSS5uMCpSGMpDvItAyeXuMJN6vsi4=";
+  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.11.2" "sha256-yztJVMvlWsZu9L+GzxTPdM2lzTKTW36T1OX0WmHgoBA=";
 
-  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.11.0" "sha256-6HCfXbZ7hO63x+N6n9jA48+UshaHgKHsvEGYgZh2qAY=";
+  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.11.2" "sha256-0o9kuyEE7rzzgA4Q75udMRUADKbW+rLgmvIGCVJpJhA=";
 
-  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.11.0" "sha256-mEVJMqWKv6u5Idw+stqcTcOB6RVOfExMXYnuuExEhNU=";
+  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.11.2" "sha256-89yICjzgxAlJ+ljpfRsCwf4RITWX9y+alCdtTBeLhkw=";
 
-  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.11.0" "sha256-m5l6ewMNnOnDUN9Y0h5rxjAyaO6OZK2BdzxXM4Vox3k=";
+  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.11.2" "sha256-slJsfHBHVv+vPSfqNu/C9zl45SDX5H7K9rn+YVCca5Q=";
 
-  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.11.0" "sha256-hv8XkRsnIgvLGr2XIjyYm2upv8Vj4i42UF8BpKil+S4=";
+  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.11.2" "sha256-ZAbFyBaGfQIRoMQkvnbViwShuvtIgTPmGZjScm1F7Bw=";
 
-  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.11.0" "sha256-m92lE8qaVgwKQFA/gv9saL6a7Zey7MtO9dzGbahVx5k=";
+  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.11.2" "sha256-DUOiPjmvmUL498QOrn4GBhnEw2GcFrOaj6YW5rh5i3M=";
 
-  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.11.0" "sha256-LPqXAPzwkTt0maMEyZE1JTYVYzxEeN/ST7+B6Fbw5dk=";
+  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.11.2" "sha256-RmyyuORVrE0Qwl8yna/JlOXIrHYtyBVJPVpU2g0DDxY=";
 
-  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.11.0" "sha256-t4Pdd0mLzw08rWQG55Sz5rHJJApuiVSBDyT5IejqlX0=";
+  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.11.2" "sha256-+w4WT5xRSShrvyKI9LpZlnBWwk52XZDM8EIx20DPfxk=";
 
-  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.11.0" "sha256-PXigzc5hHwKFKzGf4UHMUbX6Rh6DTdm+Rh74O+3SP+0=";
+  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.11.2" "sha256-H3tINfz/GO514kayygBZ8ucyeEDfCUxObyqqKJFDIrs=";
 
-  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.11.0" "sha256-JkWCjmi5SWKdwqnNUUW6t8iGwc8NjWoQQUQo1pCqeoY=";
+  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.11.2" "sha256-uzhkXmUdnXzHRTyUj+l6pskEJJGG/rSUtnK3GML7nCk=";
 
-  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.11.0" "sha256-/KrG8QIZkSKPGOEe4nJlCzdgvdChKU5Xrop2JnUkdGA=";
+  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.11.2" "sha256-i0rmU4YdFuZyuqyzFd2BCAKokXWMVVqOTN8Jm8cEvEc=";
 
-  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.11.0" "sha256-u2O7hDKAVfXcgX8JY+m0WgeEwoCyqfQbwp5xlfUSmCk=";
+  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.11.2" "sha256-Duti4k7lA0jovcu8q+kv6HQWaMeZtKxN2wGScqNw+hc=";
 
-  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.11.0" "sha256-/+7mljg9y9FMwwbJ8NYi9k7bs2fxsmhR9Vvin/Y2JJc=";
+  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.11.2" "sha256-g29BPcFbEGwBs7qUKmJOBrhgcI7iGOglr3SJQ/HHe54=";
 
-  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.11.0" "sha256-N0FrmOkrt8aLx4tfzAmuwRW6/oy3XHVRT96/IXtSUyY=";
+  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.11.2" "sha256-h1FCzj5+IplgFJ0SpsY5okNURSpuC4zy4qAlhUyt7sE=";
 
-  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.11.0" "sha256-c53Wqgux7PN4xV7c2/nsksQkDQ4wI9cXcF2QLajNqC8=";
+  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.11.2" "sha256-PzmzE1Mgka+bM2E4qwPS3N3lOz3ljYdI78KZ4flr6ac=";
 
-  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.11.0" "sha256-Sz2Q9OPDWeI5i3F4vWbcYqjoEsnclAYUu2I7jIJA4KI=";
+  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.11.2" "sha256-MK4YicO38uuJsHuEL6NZwh/qo6UANVK19sodjcJHNOs=";
 
-  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.11.0" "sha256-JUIL7o1dC8slMcUla3NFPsjSAy/D2RjTNcqJY/1a2VE=";
+  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.11.2" "sha256-UBp0FEr4ufUQ2WvMEg1Rv1OgRdtzk6VoKJ56VHlcAyo=";
 
-  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.11.0" "sha256-BiRk9QfVBLHQTfq3v6QdZAVewO8QZvTQl1ARcnEouao=";
+  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.11.2" "sha256-ZnTjfCvcvshwPK0bBD/Ck6lGiy8+9T5cvFqPv2BnHOc=";
 
-  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.11.0" "sha256-2UBVBsFZsk4Zo3JNo9WThqzY8SUaEecMYD0c05pd5Io=";
+  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.11.2" "sha256-GspypGik1nJBWksXZpID2uIP8zgiZnNidLC4uxWd4Uo=";
 
-  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.11.0" "sha256-c0GwHy3OHQrBMLhxyIaKPoHvtF79ySSL//NFOngfeL0=";
+  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.11.2" "sha256-wHO9PVHgTSDRiYbKxlkBCIhLB/gt1LtLWjXAG1eViEI=";
 
-  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.11.0" "sha256-MqggOwWPYz1wTDvGL+64dukGHNisK1S/ZJnkec9WOkc=";
+  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.11.2" "sha256-I1b0qD9Trk6Dx2lKr8ERD4cQA+VKvBsmdCRJeIGEqhs=";
 
-  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.11.0" "sha256-/+83iitPdMoKHY8sbYoBgN+KtMd3GjcBtiBdM0vnbbc=";
+  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.11.2" "sha256-JChel9RC22kon8uWBlJKMKuYuugbbsrZyjlrmg+fhgg=";
 
-  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.11.0" "sha256-iEy+2H7bRE/kbX3EMpdLWu4DYMNv4ksyfANaY/Tc6x0=";
+  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.11.2" "sha256-RT09v7dqVet6tAb0IA5NfmzMy4IX2DAofcy729nZZwA=";
 
-  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.11.0" "sha256-MSLS2rEhdAHWxjdU+ZRWVPR9ZtAeMcwyifULhx0CTno=";
+  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.11.2" "sha256-Rlr0tzi20v4XosIPW9zkNqKWHN2rNd8DZGiiy1Nb5f0=";
 
-  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.11.0" "sha256-A/YgoRKpFSfE5/eu2Gts1u0U/p4D+j2xLXa2fU+f1Kc=";
+  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.11.2" "sha256-JnvB33lVkfViHtEDLo7r11dv5U9Kztv/OW+4gjGDB28=";
 
-  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.11.0" "sha256-WTsE8VJc4EWTA5G/5B7mHje4VDZCSbBsFxwIDkExq2A=";
+  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.11.2" "sha256-Air8rMhqKgkO5TGqRojR+IYOnNXY+N7xNNqQPMn2jrc=";
 
-  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.11.0" "sha256-Zzr96zjueB5KT37r0feaTj18kd0IwVp9jXMjsIuWhCE=";
+  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.11.2" "sha256-b9S614sFcuX4E3W8EXz9Nbdx7sJmHfZz/6dyObuQV/w=";
 
-  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.11.0" "sha256-p/WikTCNYa/Bwv7PXOKzsHX5rBBtquKWf+RPD5fnbxE=";
+  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.11.2" "sha256-7HJ0WBfowqrWLwYvWgbDo+gftumeaepQSWpO5DqIJGE=";
 
-  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.11.0" "sha256-CqBfDmR5WUUTK0jH+ihiJpugjEZtY5zvL9hZ9Wk+Jy8=";
+  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.11.2" "sha256-Kaz1XfeiPzKTeUPC2GxY1mr2Xfs2rMmk8qoJXsP+o6Q=";
 
-  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.11.0" "sha256-XEbZfg7jxW9PwZdsQ9XzY3/i2DIV9yUBlaCbubDcFjU=";
+  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.11.2" "sha256-eSTETN2kjC/NgehPRXrSe+zZoFOS8Tuk+W51iT5iXt0=";
 
-  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.11.0" "sha256-nNQ7Dq1qENRdoIfzVULZZ3JDvc6EEMJF2yJO6iXCMVg=";
+  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.11.2" "sha256-0N9Va4wHn6SgCPBQ77VuHQgODlCaEgeoze+g//ZoQK8=";
 
-  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.11.0" "sha256-abkID9Xww52uDpNABuUI9v3fknUNBkZ+fMjAr9mWv+0=";
+  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.11.2" "sha256-N/eiwpmwBimzDy4VT+m7nbe9PK2QlCa1+z3LKDjzZZI=";
 
-  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.11.0" "sha256-57+QvrdJTJK9psRohrA4HfPuTVy1AKVK7YUWGHOX0jU=";
+  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.11.2" "sha256-+M5VV+1wtSpDz7b7CtfIRIwJFpRA8GLdWRne+RQ2EGM=";
 
-  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.11.0" "sha256-xs8/fAuglhlUQcHKC5m+tbkjYKvN5EEUQV7lzrnaFUc=";
+  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.11.2" "sha256-JXslg9nlK/7VwSaVW6No0p0SxRLufoFhmhl+y6Lvsek=";
 
-  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.11.0" "sha256-RvEVbetUhE54iLlEvloG5F+9tkmmSFCUgwoXVRSDfX0=";
+  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.11.2" "sha256-Z4tueuOfvtxD6PrWk3Tfq/ztXcE3UZkVn8J6OLA49N4=";
 
-  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.11.0" "sha256-COUTKrzFCLI8VSa/MBNPAeBkgGAlhBvOayyYqnYHaNQ=";
+  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.11.2" "sha256-vw6nBEHHtmhHSM/gusdLGT+qB92USaycyIw4f9/bSNA=";
 }
diff --git a/nixpkgs/pkgs/development/python-modules/types-aiobotocore/update.sh b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/update.sh
index 84fd0c612801..daded94309a6 100644
--- a/nixpkgs/pkgs/development/python-modules/types-aiobotocore/update.sh
+++ b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/update.sh
@@ -5,7 +5,7 @@ set -eu -o pipefail
 
 source_file=pkgs/development/python-modules/types-aiobotocore-packages/default.nix
 
-version="2.11.0"
+version="2.11.2"
 
 nix-update python311Packages.types-aiobotocore --commit --build
 
diff --git a/nixpkgs/pkgs/development/python-modules/types-html5lib/default.nix b/nixpkgs/pkgs/development/python-modules/types-html5lib/default.nix
index 7ce8ad6755b4..577782095ec5 100644
--- a/nixpkgs/pkgs/development/python-modules/types-html5lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-html5lib/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-html5lib";
-  version = "1.1.11.20240106";
+  version = "1.1.11.20240217";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/DobGOtgGz7q+SyQC9Z2dcCk+h3R0qKJPr20aSNUfuk=";
+    hash = "sha256-58YJ/Bz9M7ZmxRXRXKKJNjWcWlbQs41aYma/L1HK9Ow=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
index dcdc6d1575cf..c5515cf1f70f 100644
--- a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "types-redis";
-  version = "4.6.0.20240106";
+  version = "4.6.0.20240218";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ky+jp4+EVZYWJC0j+G3l9BMN/Ww7g/stjOMynlA/dW4=";
+    hash = "sha256-UQPX5pDlx0yXShYTF7LVmsIwPPi+8kF1sEwqTDSGyzk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
index 25538aa7c897..520927662c2b 100644
--- a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.31.0.20240125";
+  version = "2.31.0.20240218";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-A6KM4dfNVBmRSOBDsgec3e0i1nldGaLCpnkaSyteLrU=";
+    hash = "sha256-8XIduoOFlY9QSlOGJAuS3kc04EegikB1HBZU0awzScU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
index 0b7e0d91b2a6..cff06ebc62aa 100644
--- a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "69.0.0.20240115";
+  version = "69.1.0.20240215";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GpyGOJn0DL4gU9DNHQDd7wMwtJIzVGfQGPc8H+yUYqM=";
+    hash = "sha256-Kk/dOjymQ8VzWeWE2y3Stdt0gaguzCHqNovEMXv8BQU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uqbar/default.nix b/nixpkgs/pkgs/development/python-modules/uqbar/default.nix
index 3af7ba636e9e..c7c6e8e2eea6 100644
--- a/nixpkgs/pkgs/development/python-modules/uqbar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uqbar/default.nix
@@ -1,30 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, unidecode
-, sphinx
+, pytestCheckHook
 , pythonAtLeast
 , pythonOlder
-, pytestCheckHook
-, pytest-cov
+, setuptools
+, sphinx
+, unidecode
 }:
 
 buildPythonPackage rec {
   pname = "uqbar";
-  version = "0.7.0";
-  format = "pyproject";
+  version = "0.7.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cEhWXGtMSXVjT5QigDedjT/lwYQnVqPCE5vbctXWznk=";
+    hash = "sha256-9KQmLCsIiHcdiAu4GeEu+wa3lGwEZOO+oHWuhFNosR0=";
   };
 
   postPatch = ''
-    sed -i '/"black"/d' pyproject.toml
+    sed -i  pyproject.toml \
+    -e '/"black"/d' \
+    -e "/--cov/d"
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     unidecode
     sphinx
@@ -32,22 +38,10 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    pytest-cov
-  ];
-
-  pytestFlagsArray = [
-    "tests/"
-    "-vv"
-    "-rf"
-    "--cov-branch"
-    "--cov-report=html"
-    "--cov-report=term"
-    "--doctest-modules"
   ];
 
   disabledTests = [
-    # UnboundLocalError: local variable 'output_path' referenced before
-    # assignment
+    # UnboundLocalError: local variable 'output_path' referenced before assignment
     "test_01"
     # AssertionError: assert False
     "test_sphinx_book_html_cached"
@@ -56,18 +50,23 @@ buildPythonPackage rec {
     # assert not ["\x1b[91mWARNING: dot command 'dot' cannot be run (needed for
     # graphviz output), check the graphviz_dot setting\x1b[39;49;00m"]
     "test_sphinx_style_latex"
-  ]
-  # assert not '\x1b[91m/build/uqbar-0.7.0/tests/fake_package/enums.py:docstring
-  ++ lib.optional (pythonAtLeast "3.11") "test_sphinx_style";
+  ] ++ lib.optional (pythonAtLeast "3.11") [
+    # assert not '\x1b[91m/build/uqbar-0.7.0/tests/fake_package/enums.py:docstring
+    "test_sphinx_style"
+  ] ++ lib.optional (pythonAtLeast "3.12") [
+    # https://github.com/josiah-wolf-oberholtzer/uqbar/issues/93
+    "objects.get_vars"
+  ];
 
-  pythonImportsCheck = [ "uqbar" ];
+  pythonImportsCheck = [
+    "uqbar"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Tools for creating Sphinx and Graphviz documentation";
-    license = lib.licenses.mit;
     homepage = "https://github.com/josiah-wolf-oberholtzer/uqbar";
-    changelog =
-      "https://github.com/josiah-wolf-oberholtzer/uqbar/releases/tag/v${version}";
-    maintainers = [ lib.maintainers.davisrichard437 ];
+    changelog = "https://github.com/josiah-wolf-oberholtzer/uqbar/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ davisrichard437 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/urwid/default.nix b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
index cf42463c19b2..b59d7845b210 100644
--- a/nixpkgs/pkgs/development/python-modules/urwid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
@@ -13,11 +13,13 @@
 , tornado
 , trio
 , twisted
+, typing-extensions
+, wcwidth
 }:
 
 buildPythonPackage rec {
   pname = "urwid";
-  version = "2.4.3";
+  version = "2.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -26,7 +28,7 @@ buildPythonPackage rec {
     owner = "urwid";
     repo = "urwid";
     rev = "refs/tags/${version}";
-    hash = "sha256-raDsUZaXBC4s/48KNH8Thrpm8Bq8wj9+Rahk+LkxcDo=";
+    hash = "sha256-D/ZxN9hVVmAgHGdLGrSD2VAMSd4II8z6GzO1VDuyw9M=";
   };
 
   postPatch = ''
@@ -38,6 +40,11 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
+  propagatedBuildInputs = [
+    typing-extensions
+    wcwidth
+  ];
+
   passthru.optional-dependencies = {
     glib = [
       pygobject3
diff --git a/nixpkgs/pkgs/development/python-modules/urwidgets/default.nix b/nixpkgs/pkgs/development/python-modules/urwidgets/default.nix
index 9b6f33c0bd7c..82e4eee38379 100644
--- a/nixpkgs/pkgs/development/python-modules/urwidgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwidgets/default.nix
@@ -1,39 +1,41 @@
 { lib
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
+, pythonOlder
 , setuptools
 , urwid
-, wheel
 }:
 
 buildPythonPackage rec {
   pname = "urwidgets";
-  version = "0.1.1";
+  version = "0.2.0";
   pyproject = true;
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "AnonymouX47";
     repo = "urwidgets";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0aZLL0NutptPkuLHv3bTzR1/SNqLgMdUYWET6mLE0IU=";
+    hash = "sha256-ultlfNeCGFTqKaMeXu0+NihkN5/6NtMewk33YfIzhu8=";
   };
 
   nativeBuildInputs = [
     setuptools
-    wheel
   ];
 
   propagatedBuildInputs = [
     urwid
   ];
 
-  pythonImportsCheck = [ "urwidgets" ];
+  pythonImportsCheck = [
+    "urwidgets"
+  ];
 
   meta = with lib; {
     description = "A collection of widgets for urwid";
     homepage = "https://github.com/AnonymouX47/urwidgets";
+    changelog = "https://github.com/AnonymouX47/urwidgets/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ huyngo ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix b/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
index 82744984d007..f12f91906efa 100644
--- a/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwidtrees/default.nix
@@ -1,25 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, glibcLocales
-, urwid
 , fetchpatch
+, setuptools
+, urwid
 }:
 
 buildPythonPackage rec {
   pname = "urwidtrees";
-  format = "setuptools";
   version  = "1.0.3";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pazz";
     repo = "urwidtrees";
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-yGSjwagCd5TiwEFtF6ZhDuVqj4PTa5pVXhs8ebr2O/g=";
   };
 
-  propagatedBuildInputs = [ urwid ];
-
   patches = [
     (fetchpatch {
       url = "https://github.com/pazz/urwidtrees/commit/ed39dbc4fc67b0e0249bf108116a88cd18543aa9.patch";
@@ -27,13 +25,26 @@ buildPythonPackage rec {
     })
   ];
 
-  nativeCheckInputs = [ glibcLocales ];
-  LC_ALL="en_US.UTF-8";
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    urwid
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "urwidtrees"
+  ];
 
   meta = with lib; {
     description = "Tree widgets for urwid";
     homepage = "https://github.com/pazz/urwidtrees";
-    license = licenses.gpl3;
+    changelog = "https://github.com/pazz/urwidtrees/releases/tag/${version}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vallox-websocket-api/default.nix b/nixpkgs/pkgs/development/python-modules/vallox-websocket-api/default.nix
index 8d4aaea83371..1caf7ed4c5d9 100644
--- a/nixpkgs/pkgs/development/python-modules/vallox-websocket-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vallox-websocket-api/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "vallox-websocket-api";
-  version = "4.1.0";
+  version = "4.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "yozik04";
     repo = "vallox_websocket_api";
     rev = "refs/tags/${version}";
-    hash = "sha256-w2mke37hYfBCT1W2OUCH5AtrnV3RF4eAgNyUSQlSmcE=";
+    hash = "sha256-e05MP130okj8j20yMn8a7P6PYZ4PKwCOlAf0ZlUR5aI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vector/default.nix b/nixpkgs/pkgs/development/python-modules/vector/default.nix
index 1d8168467db5..11e20dfc1d56 100644
--- a/nixpkgs/pkgs/development/python-modules/vector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vector/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "vector";
-  version = "1.1.1.post1";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-elWuVJgW5fyg5S+rjMZtSw5Ls7d1OTPoW0FnZXlANys=";
+    hash = "sha256-I7esW9qyc7T5MGFn/YZmajd3pSgE0CgqVW2YkTDLV6Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vllm/default.nix b/nixpkgs/pkgs/development/python-modules/vllm/default.nix
new file mode 100644
index 000000000000..e8127c4caf8b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/vllm/default.nix
@@ -0,0 +1,139 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, which
+, ninja
+, packaging
+, setuptools
+, torch
+, wheel
+, psutil
+, ray
+, pandas
+, pyarrow
+, sentencepiece
+, numpy
+, transformers
+, xformers
+, fastapi
+, uvicorn
+, pydantic
+, aioprometheus
+, pynvml
+, cupy
+, writeShellScript
+
+, config
+
+, cudaSupport ? config.cudaSupport
+, cudaPackages ? {}
+
+, rocmSupport ? config.rocmSupport
+, rocmPackages ? {}
+, gpuTargets ? []
+}:
+
+buildPythonPackage rec {
+  pname = "vllm";
+  version = "0.3.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "vllm-project";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-hfd4ScU0mkZ7z4+w08BUA1K9bPXSiFThfiO+Ll2MTtg=";
+  };
+
+  # Otherwise it tries to enumerate host supported ROCM gfx archs, and that is not possible due to sandboxing.
+  PYTORCH_ROCM_ARCH = lib.optionalString rocmSupport (lib.strings.concatStringsSep ";" rocmPackages.clr.gpuTargets);
+
+  # xformers 0.0.23.post1 github release specifies its version as 0.0.24
+  #
+  # cupy-cuda12x is the same wheel as cupy, but built with cuda dependencies, we already have it set up
+  # like that in nixpkgs. Version upgrade is due to upstream shenanigans
+  # https://github.com/vllm-project/vllm/pull/2845/commits/34a0ad7f9bb7880c0daa2992d700df3e01e91363
+  #
+  # hipcc --version works badly on NixOS due to unresolved paths.
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "xformers == 0.0.23.post1" "xformers == 0.0.24"
+    substituteInPlace requirements.txt \
+      --replace "cupy-cuda12x == 12.1.0" "cupy == 12.3.0"
+    substituteInPlace requirements-build.txt \
+      --replace "torch==2.1.2" "torch == 2.2.0"
+    substituteInPlace pyproject.toml \
+      --replace "torch == 2.1.2" "torch == 2.2.0"
+    substituteInPlace requirements.txt \
+      --replace "torch == 2.1.2" "torch == 2.2.0"
+  '' + lib.optionalString rocmSupport ''
+    substituteInPlace setup.py \
+      --replace "'hipcc', '--version'" "'${writeShellScript "hipcc-version-stub" "echo HIP version: 0.0"}'"
+  '';
+
+  preBuild = lib.optionalString cudaSupport ''
+    export CUDA_HOME=${cudaPackages.cuda_nvcc}
+  ''
+  + lib.optionalString rocmSupport ''
+    export ROCM_HOME=${rocmPackages.clr}
+    export PATH=$PATH:${rocmPackages.hipcc}
+  '';
+
+  nativeBuildInputs = [
+    ninja
+    packaging
+    setuptools
+    torch
+    wheel
+    which
+  ] ++ lib.optionals rocmSupport [
+    rocmPackages.hipcc
+  ];
+
+  buildInputs = (lib.optionals cudaSupport (with cudaPackages; [
+    cuda_cudart # cuda_runtime.h, -lcudart
+    cuda_cccl.dev # <thrust/*>
+    libcusparse.dev # cusparse.h
+    libcublas.dev # cublas_v2.h
+    libcusolver # cusolverDn.h
+  ])) ++ (lib.optionals rocmSupport (with rocmPackages; [
+    clr
+    rocthrust
+    rocprim
+    hipsparse
+    hipblas
+  ]));
+
+  propagatedBuildInputs = [
+    psutil
+    ray
+    pandas
+    pyarrow
+    sentencepiece
+    numpy
+    torch
+    transformers
+    xformers
+    fastapi
+    uvicorn
+    pydantic
+    aioprometheus
+  ] ++ uvicorn.optional-dependencies.standard
+    ++ aioprometheus.optional-dependencies.starlette
+    ++ lib.optionals cudaSupport [
+      pynvml
+      cupy
+    ];
+
+  pythonImportsCheck = [ "vllm" ];
+
+  meta = with lib; {
+    description = "A high-throughput and memory-efficient inference and serving engine for LLMs";
+    changelog = "https://github.com/vllm-project/vllm/releases/tag/v${version}";
+    homepage = "https://github.com/vllm-project/vllm";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada lach ];
+    broken = !cudaSupport && !rocmSupport;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
index d90a71ca2582..14b6a094912a 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
@@ -12,11 +12,12 @@
 , pythonOlder
 , typing-extensions
 , wagtail
+, wagtail-modeladmin
 }:
 
 buildPythonPackage rec {
   pname = "wagtail-localize";
-  version = "1.7";
+  version = "1.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     repo = pname;
     owner = "wagtail";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Q29Nh/4Z3tYuwoodWKDl5FS+lfl9yDXN7RHn/RReCds=";
+    hash = "sha256-K4TOW4q8vD9vaNJzSEtmQBgO/dOxcWKKUp2FE3JLIbE=";
   };
 
   nativeBuildInputs = [
@@ -37,6 +38,7 @@ buildPythonPackage rec {
     wagtail
     polib
     typing-extensions
+    wagtail-modeladmin
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-modeladmin/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-modeladmin/default.nix
new file mode 100644
index 000000000000..cf5352238cab
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/wagtail-modeladmin/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, dj-database-url
+, django
+, django-rq
+, fetchFromGitHub
+, flit-core
+, freezegun
+, google-cloud-translate
+, polib
+, python
+, pythonOlder
+, typing-extensions
+, wagtail
+}:
+
+buildPythonPackage rec {
+  pname = "wagtail-modeladmin";
+  version = "2.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "wagtail-nest";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-J6ViGf7lqUvl5EV4/LbADVDp15foY9bUZygs1dSDlKw=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    wagtail
+  ];
+
+  nativeCheckInputs = [
+    dj-database-url
+  ];
+
+  pythonImportsCheck = [ "wagtail_modeladmin" ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} testmanage.py test
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Add any model in your project to the Wagtail admin. Formerly wagtail.contrib.modeladmin";
+    homepage = "https://github.com/wagtail-nest/wagtail-modeladmin";
+    changelog = "https://github.com/wagtail/wagtail-modeladmin/blob/v${version}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ sephi ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
index 679e19722f45..97efa00b972c 100644
--- a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -2,24 +2,27 @@
 , buildPythonPackage
 , fetchPypi
 , jupyter-packaging
-, notebook
 , ipywidgets
 }:
 
 buildPythonPackage rec {
   pname = "widgetsnbextension";
-  version = "4.0.9";
-  format = "setuptools";
+  version = "4.0.10";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PB9eRtwRZt/UCkLWhealE5b9NP+Hh0Kj5HxvDMSio4U=";
+    hash = "sha256-ZBlsX/O5qRg6jmmaQif7C3AC8lLIFAmOZsTRzQZEaI8=";
   };
 
   nativeBuildInputs = [
     jupyter-packaging
   ];
 
+  pythonImportsCheck = [
+    "widgetsnbextension"
+  ];
+
   # No tests in archive
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/xformers/default.nix b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
index c909559ca59a..e0e6e9569ef3 100644
--- a/nixpkgs/pkgs/development/python-modules/xformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
@@ -78,6 +78,10 @@ buildPythonPackage {
 
   pythonImportsCheck = [ "xformers" ];
 
+  # Has broken 0.03 version:
+  # https://github.com/NixOS/nixpkgs/pull/285495#issuecomment-1920730720
+  passthru.skipBulkUpdate = true;
+
   dontUseCmakeConfigure = true;
 
   # see commented out missing packages
diff --git a/nixpkgs/pkgs/development/python-modules/xiaomi-ble/default.nix b/nixpkgs/pkgs/development/python-modules/xiaomi-ble/default.nix
index 6e2ac49cc348..18de691f5398 100644
--- a/nixpkgs/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -17,21 +17,21 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.25.2";
-  format = "pyproject";
+  version = "0.26.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
-    repo = pname;
+    repo = "xiaomi-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-awztZiUgEMGR8m/aXhDBLdm4IXIKIAHgX922m+PTTfg=";
+    hash = "sha256-ENs+n8YgOSQpN+UpYU6CI1McWPyh8hKKMUjPDUYRWjI=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" ""
+      --replace-fail " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" ""
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xrootd/default.nix b/nixpkgs/pkgs/development/python-modules/xrootd/default.nix
new file mode 100644
index 000000000000..d17a56e2f914
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xrootd/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, cmake
+, setuptools
+, wheel
+, xrootd
+}:
+
+buildPythonPackage rec {
+  pname = "xrootd";
+  pyproject = true;
+
+  inherit (xrootd) version src;
+
+  sourceRoot = "${src.name}/bindings/python";
+
+  nativeBuildInputs = [
+    cmake
+    setuptools
+    wheel
+  ];
+
+  buildInputs = [
+    xrootd
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  pythonImportsCheck = [ "XRootD" ];
+
+  # Tests are only compatible with Python 2
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The XRootD central repository";
+    homepage = "https://github.com/xrootd/xrootd";
+    changelog = "https://github.com/xrootd/xrootd/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/yark/default.nix b/nixpkgs/pkgs/development/python-modules/yark/default.nix
index 83e1b909793e..7bbf5288cf26 100644
--- a/nixpkgs/pkgs/development/python-modules/yark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yark/default.nix
@@ -25,7 +25,9 @@ buildPythonPackage rec {
   };
 
   pythonRelaxDeps = [
+    "flask"
     "requests"
+    "yt-dlp"
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yasi/default.nix b/nixpkgs/pkgs/development/python-modules/yasi/default.nix
index 8759e499b639..08068ed6b6b4 100644
--- a/nixpkgs/pkgs/development/python-modules/yasi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yasi/default.nix
@@ -1,14 +1,15 @@
 { lib
-, buildPythonApplication
+, buildPythonPackage
 , colorama
 , fetchFromGitHub
 , pytestCheckHook
+, setuptools
 }:
 
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "yasi";
   version = "2.1.2";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nkmathew";
@@ -17,11 +18,15 @@ buildPythonApplication rec {
     hash = "sha256-xKhVTmh/vrtBkatxtk8R4yqbGroH0I+xTKNYUpuikt4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     colorama
   ];
 
-  nativeBuildInputs = [
+  nativeCheckInputs = [
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
index 721905fb17b8..930fcf0a7d2b 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.23.0";
+  version = "0.23.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-8U/3YzXyrQ6pOklvfuVFAk2r/mpcUM7HokfBJUhtyh4=";
+    hash = "sha256-10EyT3IGdAtF9OUbfZ5OtP+Ot35O0SfMDtsyw5FQ+/8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix b/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
index 38abffac75ac..6d3c6ad0a5ce 100644
--- a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "3.1";
+  version = "3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uewy5wbHuAi3mlOnrZZgkRfpQoN3K0AO52VSEHqrzBE=";
+    hash = "sha256-65wO44mzJmqo9BlFtiqZgV0mH2nR9Cl3FQkSqmeWqww=";
   };
 
   # fails..
diff --git a/nixpkgs/pkgs/development/r-modules/default.nix b/nixpkgs/pkgs/development/r-modules/default.nix
index d39d0c5b8441..2842dda19d5b 100644
--- a/nixpkgs/pkgs/development/r-modules/default.nix
+++ b/nixpkgs/pkgs/development/r-modules/default.nix
@@ -320,6 +320,7 @@ let
     bio3d = [ pkgs.zlib ];
     BiocCheck = [ pkgs.which ];
     Biostrings = [ pkgs.zlib ];
+    CellBarcode = [ pkgs.zlib ];
     bnpmr = [ pkgs.gsl ];
     cairoDevice = [ pkgs.gtk2.dev ];
     Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ];
@@ -327,6 +328,7 @@ let
     chebpol = [ pkgs.fftw.dev ];
     ChemmineOB = with pkgs; [ openbabel pkg-config ];
     curl = [ pkgs.curl.dev ];
+    CytoML = [ pkgs.libxml2.dev ];
     data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
     devEMF = with pkgs; [ xorg.libXft.dev ];
     diversitree = with pkgs; [ gsl fftw ];
@@ -341,6 +343,7 @@ let
     GLAD = [ pkgs.gsl ];
     glpkAPI = with pkgs; [ gmp glpk ];
     gmp = [ pkgs.gmp.dev ];
+    GPBayes = [ pkgs.gsl ];
     graphscan = [ pkgs.gsl ];
     gsl = [ pkgs.gsl ];
     gert = [ pkgs.libgit2 ];
@@ -424,7 +427,9 @@ let
     webp = [ pkgs.pkg-config ];
     seqminer = with pkgs; [ zlib.dev bzip2 ];
     sf = with pkgs; [ gdal proj geos libtiff curl ];
+    strawr = with pkgs; [ curl.dev ];
     terra = with pkgs; [ gdal proj geos ];
+    apcf = with pkgs; [ geos ];
     showtext = with pkgs; [ zlib libpng icu freetype.dev ];
     simplexreg = [ pkgs.gsl ];
     spate = [ pkgs.fftw.dev ];
@@ -524,6 +529,8 @@ let
     chebpol = [ pkgs.pkg-config ];
     fftw = [ pkgs.pkg-config ];
     gdtools = [ pkgs.pkg-config ];
+    archive = [ pkgs.libarchive];
+    SuperGauss = [ pkgs.pkg-config pkgs.fftw.dev];
     jqr = [ pkgs.jq.lib ];
     kza = [ pkgs.pkg-config ];
     lwgeom = with pkgs; [ pkg-config proj.dev sqlite.dev ];
@@ -542,6 +549,7 @@ let
     tesseract = [ pkgs.pkg-config ];
     Cairo = [ pkgs.pkg-config ];
     CLVTools = [ pkgs.gsl ];
+    excursions = [ pkgs.gsl ];
     JMcmprsk = [ pkgs.gsl ];
     mashr = [ pkgs.gsl ];
     hadron = [ pkgs.gsl ];
@@ -623,6 +631,7 @@ let
     redux = [ pkgs.hiredis ];
     RmecabKo = [ pkgs.mecab ];
     PoissonBinomial = [ pkgs.fftw.dev ];
+    PoissonMultinomial = [ pkgs.fftw.dev ];
     rrd = [ pkgs.rrdtool ];
     flowWorkspace = [ pkgs.zlib.dev ];
     RcppMeCab = [ pkgs.mecab ];
diff --git a/nixpkgs/pkgs/development/rocm-modules/5/clr/add-missing-operators.patch b/nixpkgs/pkgs/development/rocm-modules/5/clr/add-missing-operators.patch
new file mode 100644
index 000000000000..64ac0c081a02
--- /dev/null
+++ b/nixpkgs/pkgs/development/rocm-modules/5/clr/add-missing-operators.patch
@@ -0,0 +1,979 @@
+From 86bd518981b364c138f9901b28a529899d8654f3 Mon Sep 17 00:00:00 2001
+From: Jatin Chaudhary <JatinJaikishan.Chaudhary@amd.com>
+Date: Wed, 11 Oct 2023 23:19:29 +0100
+Subject: [PATCH] SWDEV-367537 - Add missing operators to __hip_bfloat16
+ implementation
+
+Add __host__ and __device__ to bunch of operator/function matching CUDA
+Fix some bugs seen in __hisinf
+
+Change-Id: I9e67e3e3eb2083b463158f3e250e5221c89b2896
+---
+ hipamd/include/hip/amd_detail/amd_hip_bf16.h | 533 ++++++++++++++++---
+ 1 file changed, 446 insertions(+), 87 deletions(-)
+
+diff --git a/hipamd/include/hip/amd_detail/amd_hip_bf16.h b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
+index 757cb7ada..b15ea3b65 100644
+--- a/hipamd/include/hip/amd_detail/amd_hip_bf16.h
++++ b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
+@@ -96,10 +96,20 @@
+ #if defined(__HIPCC_RTC__)
+ #define __HOST_DEVICE__ __device__
+ #else
++#include <algorithm>
+ #include <climits>
+-#define __HOST_DEVICE__ __host__ __device__
++#include <cmath>
++#define __HOST_DEVICE__ __host__ __device__ inline
+ #endif
+ 
++#define HIPRT_ONE_BF16 __float2bfloat16(1.0f)
++#define HIPRT_ZERO_BF16 __float2bfloat16(0.0f)
++#define HIPRT_INF_BF16 __ushort_as_bfloat16((unsigned short)0x7F80U)
++#define HIPRT_MAX_NORMAL_BF16 __ushort_as_bfloat16((unsigned short)0x7F7FU)
++#define HIPRT_MIN_DENORM_BF16 __ushort_as_bfloat16((unsigned short)0x0001U)
++#define HIPRT_NAN_BF16 __ushort_as_bfloat16((unsigned short)0x7FFFU)
++#define HIPRT_NEG_ZERO_BF16 __ushort_as_bfloat16((unsigned short)0x8000U)
++
+ // Since we are using unsigned short to represent data in bfloat16, it can be of different sizes on
+ // different machines. These naive checks should prevent some undefined behavior on systems which
+ // have different sizes for basic types.
+@@ -189,7 +199,7 @@ __HOST_DEVICE__ float2 __bfloat1622float2(const __hip_bfloat162 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Moves bfloat16 value to bfloat162
+  */
+-__device__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
++__HOST_DEVICE__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
+   return __hip_bfloat162{a, a};
+ }
+ 
+@@ -197,13 +207,13 @@ __device__ __hip_bfloat162 __bfloat162bfloat162(const __hip_bfloat16 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Reinterprets bits in a __hip_bfloat16 as a signed short integer
+  */
+-__device__ short int __bfloat16_as_short(const __hip_bfloat16 h) { return (short)h.data; }
++__HOST_DEVICE__ short int __bfloat16_as_short(const __hip_bfloat16 h) { return (short)h.data; }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Reinterprets bits in a __hip_bfloat16 as an unsigned signed short integer
+  */
+-__device__ unsigned short int __bfloat16_as_ushort(const __hip_bfloat16 h) { return h.data; }
++__HOST_DEVICE__ unsigned short int __bfloat16_as_ushort(const __hip_bfloat16 h) { return h.data; }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+@@ -225,7 +235,7 @@ __HOST_DEVICE__ __hip_bfloat162 __float22bfloat162_rn(const float2 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Combine two __hip_bfloat16 to __hip_bfloat162
+  */
+-__device__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __hip_bfloat162{a, b};
+ }
+ 
+@@ -233,13 +243,13 @@ __device__ __hip_bfloat162 __halves2bfloat162(const __hip_bfloat16 a, const __hi
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Returns high 16 bits of __hip_bfloat162
+  */
+-__device__ __hip_bfloat16 __high2bfloat16(const __hip_bfloat162 a) { return a.y; }
++__HOST_DEVICE__ __hip_bfloat16 __high2bfloat16(const __hip_bfloat162 a) { return a.y; }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Returns high 16 bits of __hip_bfloat162
+  */
+-__device__ __hip_bfloat162 __high2bfloat162(const __hip_bfloat162 a) {
++__HOST_DEVICE__ __hip_bfloat162 __high2bfloat162(const __hip_bfloat162 a) {
+   return __hip_bfloat162{a.y, a.y};
+ }
+ 
+@@ -253,7 +263,8 @@ __HOST_DEVICE__ float __high2float(const __hip_bfloat162 a) { return __bfloat162
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Extracts high 16 bits from each and combines them
+  */
+-__device__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a,
++                                                  const __hip_bfloat162 b) {
+   return __hip_bfloat162{a.y, b.y};
+ }
+ 
+@@ -261,13 +272,13 @@ __device__ __hip_bfloat162 __highs2bfloat162(const __hip_bfloat162 a, const __hi
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Returns low 16 bits of __hip_bfloat162
+  */
+-__device__ __hip_bfloat16 __low2bfloat16(const __hip_bfloat162 a) { return a.x; }
++__HOST_DEVICE__ __hip_bfloat16 __low2bfloat16(const __hip_bfloat162 a) { return a.x; }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Returns low 16 bits of __hip_bfloat162
+  */
+-__device__ __hip_bfloat162 __low2bfloat162(const __hip_bfloat162 a) {
++__HOST_DEVICE__ __hip_bfloat162 __low2bfloat162(const __hip_bfloat162 a) {
+   return __hip_bfloat162{a.x, a.x};
+ }
+ 
+@@ -281,7 +292,7 @@ __HOST_DEVICE__ float __low2float(const __hip_bfloat162 a) { return __bfloat162f
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Swaps both halves
+  */
+-__device__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
++__HOST_DEVICE__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
+   return __hip_bfloat162{a.y, a.x};
+ }
+ 
+@@ -289,7 +300,7 @@ __device__ __hip_bfloat162 __lowhigh2highlow(const __hip_bfloat162 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Extracts low 16 bits from each and combines them
+  */
+-__device__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hip_bfloat162{a.x, b.x};
+ }
+ 
+@@ -297,7 +308,7 @@ __device__ __hip_bfloat162 __lows2bfloat162(const __hip_bfloat162 a, const __hip
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Reinterprets short int into a bfloat16
+  */
+-__device__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
++__HOST_DEVICE__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
+   return __hip_bfloat16{(unsigned short)a};
+ }
+ 
+@@ -305,7 +316,7 @@ __device__ __hip_bfloat16 __short_as_bfloat16(const short int a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_CONV
+  * \brief Reinterprets unsigned short int into a bfloat16
+  */
+-__device__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
++__HOST_DEVICE__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
+   return __hip_bfloat16{a};
+ }
+ 
+@@ -314,7 +325,7 @@ __device__ __hip_bfloat16 __ushort_as_bfloat16(const unsigned short int a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Adds two bfloat16 values
+  */
+-__device__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __float2bfloat16(__bfloat162float(a) + __bfloat162float(b));
+ }
+ 
+@@ -322,7 +333,7 @@ __device__ __hip_bfloat16 __hadd(const __hip_bfloat16 a, const __hip_bfloat16 b)
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Subtracts two bfloat16 values
+  */
+-__device__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __float2bfloat16(__bfloat162float(a) - __bfloat162float(b));
+ }
+ 
+@@ -330,7 +341,7 @@ __device__ __hip_bfloat16 __hsub(const __hip_bfloat16 a, const __hip_bfloat16 b)
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Divides two bfloat16 values
+  */
+-__device__ __hip_bfloat16 __hdiv(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hdiv(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __float2bfloat16(__bfloat162float(a) / __bfloat162float(b));
+ }
+ 
+@@ -348,7 +359,7 @@ __device__ __hip_bfloat16 __hfma(const __hip_bfloat16 a, const __hip_bfloat16 b,
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Multiplies two bfloat16 values
+  */
+-__device__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __float2bfloat16(__bfloat162float(a) * __bfloat162float(b));
+ }
+ 
+@@ -356,7 +367,7 @@ __device__ __hip_bfloat16 __hmul(const __hip_bfloat16 a, const __hip_bfloat16 b)
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Negate a bfloat16 value
+  */
+-__device__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
++__HOST_DEVICE__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
+   auto ret = a;
+   ret.data ^= 0x8000;
+   return ret;
+@@ -366,7 +377,7 @@ __device__ __hip_bfloat16 __hneg(const __hip_bfloat16 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
+  * \brief Returns absolute of a bfloat16
+  */
+-__device__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
++__HOST_DEVICE__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
+   auto ret = a;
+   ret.data &= 0x7FFF;
+   return ret;
+@@ -376,7 +387,7 @@ __device__ __hip_bfloat16 __habs(const __hip_bfloat16 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Divides bfloat162 values
+  */
+-__device__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hip_bfloat162{__float2bfloat16(__bfloat162float(a.x) / __bfloat162float(b.x)),
+                          __float2bfloat16(__bfloat162float(a.y) / __bfloat162float(b.y))};
+ }
+@@ -385,7 +396,7 @@ __device__ __hip_bfloat162 __h2div(const __hip_bfloat162 a, const __hip_bfloat16
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Returns absolute of a bfloat162
+  */
+-__device__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
++__HOST_DEVICE__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
+   return __hip_bfloat162{__habs(a.x), __habs(a.y)};
+ }
+ 
+@@ -393,7 +404,7 @@ __device__ __hip_bfloat162 __habs2(const __hip_bfloat162 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Adds two bfloat162 values
+  */
+-__device__ __hip_bfloat162 __hadd2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __hadd2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hip_bfloat162{__hadd(a.x, b.x), __hadd(a.y, b.y)};
+ }
+ 
+@@ -410,7 +421,7 @@ __device__ __hip_bfloat162 __hfma2(const __hip_bfloat162 a, const __hip_bfloat16
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Multiplies two bfloat162 values
+  */
+-__device__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hip_bfloat162{__hmul(a.x, b.x), __hmul(a.y, b.y)};
+ }
+ 
+@@ -418,7 +429,7 @@ __device__ __hip_bfloat162 __hmul2(const __hip_bfloat162 a, const __hip_bfloat16
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Converts a bfloat162 into negative
+  */
+-__device__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
++__HOST_DEVICE__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
+   return __hip_bfloat162{__hneg(a.x), __hneg(a.y)};
+ }
+ 
+@@ -426,15 +437,251 @@ __device__ __hip_bfloat162 __hneg2(const __hip_bfloat162 a) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
+  * \brief Subtracts two bfloat162 values
+  */
+-__device__ __hip_bfloat162 __hsub2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ __hip_bfloat162 __hsub2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hip_bfloat162{__hsub(a.x, b.x), __hsub(a.y, b.y)};
+ }
+ 
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to multiply two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator*(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hmul(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to multiply-assign two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator*=(__hip_bfloat16& l, const __hip_bfloat16& r) {
++  l = __hmul(l, r);
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to unary+ on a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator+(const __hip_bfloat16& l) { return l; }
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to add two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator+(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hadd(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to negate a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator-(const __hip_bfloat16& l) { return __hneg(l); }
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to subtract two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator-(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hsub(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to post increment a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator++(__hip_bfloat16& l, const int) {
++  auto ret = l;
++  l = __hadd(l, HIPRT_ONE_BF16);
++  return ret;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to pre increment a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16& operator++(__hip_bfloat16& l) {
++  l = __hadd(l, HIPRT_ONE_BF16);
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to post decrement a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator--(__hip_bfloat16& l, const int) {
++  auto ret = l;
++  l = __hsub(l, HIPRT_ONE_BF16);
++  return ret;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to pre decrement a __hip_bfloat16 number
++ */
++__HOST_DEVICE__ __hip_bfloat16& operator--(__hip_bfloat16& l) {
++  l = __hsub(l, HIPRT_ONE_BF16);
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to add-assign two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16& operator+=(__hip_bfloat16& l, const __hip_bfloat16& r) {
++  l = l + r;
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to subtract-assign two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16& operator-=(__hip_bfloat16& l, const __hip_bfloat16& r) {
++  l = l - r;
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to divide two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16 operator/(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hdiv(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_ARITH
++ * \brief Operator to divide-assign two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat16& operator/=(__hip_bfloat16& l, const __hip_bfloat16& r) {
++  l = l / r;
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to multiply two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator*(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hmul2(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to multiply-assign two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator*=(__hip_bfloat162& l, const __hip_bfloat162& r) {
++  l = __hmul2(l, r);
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to unary+ on a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator+(const __hip_bfloat162& l) { return l; }
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to add two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator+(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hadd2(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to negate a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator-(const __hip_bfloat162& l) { return __hneg2(l); }
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to subtract two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator-(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hsub2(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to post increment a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator++(__hip_bfloat162& l, const int) {
++  auto ret = l;
++  l = __hadd2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
++  return ret;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to pre increment a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162& operator++(__hip_bfloat162& l) {
++  l = __hadd2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to post decrement a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator--(__hip_bfloat162& l, const int) {
++  auto ret = l;
++  l = __hsub2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
++  return ret;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to pre decrement a __hip_bfloat162 number
++ */
++__HOST_DEVICE__ __hip_bfloat162& operator--(__hip_bfloat162& l) {
++  l = __hsub2(l, {HIPRT_ONE_BF16, HIPRT_ONE_BF16});
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to add-assign two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162& operator+=(__hip_bfloat162& l, const __hip_bfloat162& r) {
++  l = l + r;
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to subtract-assign two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162& operator-=(__hip_bfloat162& l, const __hip_bfloat162& r) {
++  l = l - r;
++  return l;
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to divide two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162 operator/(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __h2div(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_ARITH
++ * \brief Operator to divide-assign two __hip_bfloat162 numbers
++ */
++__HOST_DEVICE__ __hip_bfloat162& operator/=(__hip_bfloat162& l, const __hip_bfloat162& r) {
++  l = l / r;
++  return l;
++}
++
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values
+  */
+-__device__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) == __bfloat162float(b);
+ }
+ 
+@@ -442,7 +689,7 @@ __device__ bool __heq(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered equal
+  */
+-__device__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) < __bfloat162float(b)) &&
+       !(__bfloat162float(a) > __bfloat162float(b));
+ }
+@@ -451,7 +698,7 @@ __device__ bool __hequ(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - greater than
+  */
+-__device__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) > __bfloat162float(b);
+ }
+ 
+@@ -459,7 +706,7 @@ __device__ bool __hgt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered greater than
+  */
+-__device__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) <= __bfloat162float(b));
+ }
+ 
+@@ -467,7 +714,7 @@ __device__ bool __hgtu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - greater than equal
+  */
+-__device__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) >= __bfloat162float(b);
+ }
+ 
+@@ -475,7 +722,7 @@ __device__ bool __hge(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered greater than equal
+  */
+-__device__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) < __bfloat162float(b));
+ }
+ 
+@@ -483,7 +730,7 @@ __device__ bool __hgeu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - not equal
+  */
+-__device__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) != __bfloat162float(b);
+ }
+ 
+@@ -491,7 +738,7 @@ __device__ bool __hne(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered not equal
+  */
+-__device__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) == __bfloat162float(b));
+ }
+ 
+@@ -499,23 +746,31 @@ __device__ bool __hneu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - return max
+  */
+-__device__ __hip_bfloat16 __hmax(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hmax(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++#if __HIP_DEVICE_COMPILE__
+   return __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a), __bfloat162float(b)));
++#else
++  return __float2bfloat16(std::max(__bfloat162float(a), __bfloat162float(b)));
++#endif
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - return min
+  */
+-__device__ __hip_bfloat16 __hmin(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ __hip_bfloat16 __hmin(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++#if __HIP_DEVICE_COMPILE__
+   return __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a), __bfloat162float(b)));
++#else
++  return __float2bfloat16(std::min(__bfloat162float(a), __bfloat162float(b)));
++#endif
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - less than operator
+  */
+-__device__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) < __bfloat162float(b);
+ }
+ 
+@@ -523,15 +778,15 @@ __device__ bool __hlt(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered less than
+  */
+-__device__ bool __hltu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hltu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) >= __bfloat162float(b));
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+- * \brief Compare two bfloat162 values - less than
++ * \brief Compare two bfloat162 values - less than equal
+  */
+-__device__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return __bfloat162float(a) <= __bfloat162float(b);
+ }
+ 
+@@ -539,7 +794,7 @@ __device__ bool __hle(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Compare two bfloat162 values - unordered less than equal
+  */
+-__device__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
++__HOST_DEVICE__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+   return !(__bfloat162float(a) > __bfloat162float(b));
+ }
+ 
+@@ -547,19 +802,33 @@ __device__ bool __hleu(const __hip_bfloat16 a, const __hip_bfloat16 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Checks if number is inf
+  */
+-__device__ int __hisinf(const __hip_bfloat16 a) { return __ocml_isinf_f32(__bfloat162float(a)); }
++__HOST_DEVICE__ int __hisinf(const __hip_bfloat16 a) {
++  unsigned short sign = a.data & 0x8000U;
++#if __HIP_DEVICE_COMPILE__
++  int res = __ocml_isinf_f32(__bfloat162float(a));
++#else
++  int res = std::isinf(__bfloat162float(a)) ? 1 : 0;
++#endif
++  return (res == 0) ? res : ((sign != 0U) ? -res : res);
++}
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
+  * \brief Checks if number is nan
+  */
+-__device__ bool __hisnan(const __hip_bfloat16 a) { return __ocml_isnan_f32(__bfloat162float(a)); }
++__HOST_DEVICE__ bool __hisnan(const __hip_bfloat16 a) {
++#if __HIP_DEVICE_COMPILE__
++  return __ocml_isnan_f32(__bfloat162float(a));
++#else
++  return std::isnan(__bfloat162float(a));
++#endif
++}
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Checks if two numbers are equal
+  */
+-__device__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __heq(a.x, b.x) && __heq(a.y, b.y);
+ }
+ 
+@@ -567,7 +836,7 @@ __device__ bool __hbeq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Checks if two numbers are equal - unordered
+  */
+-__device__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hequ(a.x, b.x) && __hequ(a.y, b.y);
+ }
+ 
+@@ -575,7 +844,7 @@ __device__ bool __hbequ2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a >= b
+  */
+-__device__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hge(a.x, b.x) && __hge(a.y, b.y);
+ }
+ 
+@@ -583,7 +852,7 @@ __device__ bool __hbge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a >= b - unordered
+  */
+-__device__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hgeu(a.x, b.x) && __hgeu(a.y, b.y);
+ }
+ 
+@@ -591,7 +860,7 @@ __device__ bool __hbgeu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a > b
+  */
+-__device__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hgt(a.x, b.x) && __hgt(a.y, b.y);
+ }
+ 
+@@ -599,7 +868,7 @@ __device__ bool __hbgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a > b - unordered
+  */
+-__device__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hgtu(a.x, b.x) && __hgtu(a.y, b.y);
+ }
+ 
+@@ -607,7 +876,7 @@ __device__ bool __hbgtu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a <= b
+  */
+-__device__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hle(a.x, b.x) && __hle(a.y, b.y);
+ }
+ 
+@@ -615,7 +884,7 @@ __device__ bool __hble2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a <= b - unordered
+  */
+-__device__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hleu(a.x, b.x) && __hleu(a.y, b.y);
+ }
+ 
+@@ -623,7 +892,7 @@ __device__ bool __hbleu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a < b
+  */
+-__device__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hlt(a.x, b.x) && __hlt(a.y, b.y);
+ }
+ 
+@@ -631,7 +900,7 @@ __device__ bool __hblt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a < b - unordered
+  */
+-__device__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hltu(a.x, b.x) && __hltu(a.y, b.y);
+ }
+ 
+@@ -639,7 +908,7 @@ __device__ bool __hbltu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a != b
+  */
+-__device__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hne(a.x, b.x) && __hne(a.y, b.y);
+ }
+ 
+@@ -647,7 +916,7 @@ __device__ bool __hbne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a != b
+  */
+-__device__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++__HOST_DEVICE__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+   return __hneu(a.x, b.x) && __hneu(a.y, b.y);
+ }
+ 
+@@ -655,84 +924,175 @@ __device__ bool __hbneu2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a != b, returns 1.0 if equal, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __heq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__heq(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__heq(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __heq2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__heq(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__heq(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a >= b, returns 1.0 if greater than equal, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __hge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__hge(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__hge(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hge2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__hge(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hge(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a > b, returns 1.0 if greater than equal, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __hgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__hgt(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__hgt(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hgt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__hgt(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hgt(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ONE_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a is NaN, returns 1.0 if NaN, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __hisnan2(const __hip_bfloat162 a) {
+-  return __hip_bfloat162{
+-      {__ocml_isnan_f32(__bfloat162float(a.x)) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-      {__ocml_isnan_f32(__bfloat162float(a.y)) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hisnan2(const __hip_bfloat162 a) {
++  return __hip_bfloat162{{__hisnan(a.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hisnan(a.y) ? HIPRT_ONE_BF16 : HIPRT_ONE_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a <= b, returns 1.0 if greater than equal, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __hle2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__hle(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__hle(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hle2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__hle(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hle(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Check for a < b, returns 1.0 if greater than equal, otherwise 0.0
+  */
+-__device__ __hip_bfloat162 __hlt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__hlt(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__hlt(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hlt2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__hlt(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hlt(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Returns max of two elements
+  */
+-__device__ __hip_bfloat162 __hmax2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{
+-      __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a.x), __bfloat162float(b.x))),
+-      __float2bfloat16(__ocml_fmax_f32(__bfloat162float(a.y), __bfloat162float(b.y)))};
++__HOST_DEVICE__ __hip_bfloat162 __hmax2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{__hmax(a.x, b.x), __hmax(a.y, b.y)};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Returns min of two elements
+  */
+-__device__ __hip_bfloat162 __hmin2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{
+-      __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a.x), __bfloat162float(b.x))),
+-      __float2bfloat16(__ocml_fmin_f32(__bfloat162float(a.y), __bfloat162float(b.y)))};
++__HOST_DEVICE__ __hip_bfloat162 __hmin2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{__hmin(a.x, b.x), __hmin(a.y, b.y)};
+ }
+ 
+ /**
+  * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
+  * \brief Checks for not equal to
+  */
+-__device__ __hip_bfloat162 __hne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
+-  return __hip_bfloat162{{__hne(a.x, b.x) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)},
+-                         {__hne(a.y, b.y) ? __float2bfloat16(1.0f) : __float2bfloat16(0.0f)}};
++__HOST_DEVICE__ __hip_bfloat162 __hne2(const __hip_bfloat162 a, const __hip_bfloat162 b) {
++  return __hip_bfloat162{{__hne(a.x, b.x) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16},
++                         {__hne(a.y, b.y) ? HIPRT_ONE_BF16 : HIPRT_ZERO_BF16}};
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform an equal compare on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator==(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __heq(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a not equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator!=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hne(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a less than on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator<(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hlt(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a less than equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator<=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hle(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a greater than on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator>(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hgt(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a greater than equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator>=(const __hip_bfloat16& l, const __hip_bfloat16& r) {
++  return __hge(l, r);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
++ * \brief Operator to perform an equal compare on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator==(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __heq(l.x, r.x) && __heq(l.y, r.y);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
++ * \brief Operator to perform a not equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator!=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hne(l.x, r.x) || __hne(l.y, r.y);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
++ * \brief Operator to perform a less than on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator<(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hlt(l.x, r.x) && __hlt(l.y, r.y);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
++ * \brief Operator to perform a less than equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator<=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hle(l.x, r.x) && __hle(l.y, r.y);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT162_COMP
++ * \brief Operator to perform a greater than on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator>(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hgt(l.x, r.x) && __hgt(l.y, r.y);
++}
++
++/**
++ * \ingroup HIP_INTRINSIC_BFLOAT16_COMP
++ * \brief Operator to perform a greater than equal on two __hip_bfloat16 numbers
++ */
++__HOST_DEVICE__ bool operator>=(const __hip_bfloat162& l, const __hip_bfloat162& r) {
++  return __hge(l.x, r.x) && __hge(l.y, r.y);
+ }
+ 
+ /**
+@@ -974,5 +1334,4 @@ __device__ __hip_bfloat162 h2sqrt(const __hip_bfloat162 h) {
+ __device__ __hip_bfloat162 h2trunc(const __hip_bfloat162 h) {
+   return __hip_bfloat162{htrunc(h.x), htrunc(h.y)};
+ }
+-
+ #endif
diff --git a/nixpkgs/pkgs/development/rocm-modules/5/clr/default.nix b/nixpkgs/pkgs/development/rocm-modules/5/clr/default.nix
index 1a72a8d7c3fb..3fcd551cd423 100644
--- a/nixpkgs/pkgs/development/rocm-modules/5/clr/default.nix
+++ b/nixpkgs/pkgs/development/rocm-modules/5/clr/default.nix
@@ -88,6 +88,11 @@ in stdenv.mkDerivation (finalAttrs: {
     "-DCMAKE_INSTALL_LIBDIR=lib"
   ];
 
+  patches = [
+    ./add-missing-operators.patch
+    ./static-functions.patch
+  ];
+
   postPatch = ''
     patchShebangs hipamd/src
 
diff --git a/nixpkgs/pkgs/development/rocm-modules/5/clr/static-functions.patch b/nixpkgs/pkgs/development/rocm-modules/5/clr/static-functions.patch
new file mode 100644
index 000000000000..87d9528691ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/rocm-modules/5/clr/static-functions.patch
@@ -0,0 +1,31 @@
+From 77c581a3ebd47b5e2908973b70adea66891159ee Mon Sep 17 00:00:00 2001
+From: Jatin Chaudhary <JatinJaikishan.Chaudhary@amd.com>
+Date: Mon, 4 Dec 2023 17:21:39 +0000
+Subject: [PATCH] SWDEV-435702 - the functions in bf16 header need to be static
+
+If the compiler decides not to inline these functions, we might break ODR (one definition rule) due to this file being included in multiple files and being linked together
+
+Change-Id: Iacbfdabb53f5b4e5db8c690b23f3730ec9af16c0
+---
+ hipamd/include/hip/amd_detail/amd_hip_bf16.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hipamd/include/hip/amd_detail/amd_hip_bf16.h b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
+index 836e090eb..204269a84 100644
+--- a/hipamd/include/hip/amd_detail/amd_hip_bf16.h
++++ b/hipamd/include/hip/amd_detail/amd_hip_bf16.h
+@@ -94,12 +94,12 @@
+ #include "math_fwd.h"              // ocml device functions
+ 
+ #if defined(__HIPCC_RTC__)
+-#define __HOST_DEVICE__ __device__
++#define __HOST_DEVICE__ __device__ static
+ #else
+ #include <algorithm>
+ #include <climits>
+ #include <cmath>
+-#define __HOST_DEVICE__ __host__ __device__ inline
++#define __HOST_DEVICE__ __host__ __device__ static inline
+ #endif
+ 
+ #define HIPRT_ONE_BF16 __float2bfloat16(1.0f)
diff --git a/nixpkgs/pkgs/development/tools/analysis/brakeman/Gemfile.lock b/nixpkgs/pkgs/development/tools/analysis/brakeman/Gemfile.lock
index dcc9920bd534..3a2065935c38 100644
--- a/nixpkgs/pkgs/development/tools/analysis/brakeman/Gemfile.lock
+++ b/nixpkgs/pkgs/development/tools/analysis/brakeman/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    brakeman (6.1.1)
+    brakeman (6.1.2)
       racc
     racc (1.7.3)
 
@@ -12,4 +12,4 @@ DEPENDENCIES
   brakeman
 
 BUNDLED WITH
-   2.5.3
+   2.5.5
diff --git a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
index 72c4b1fbc3e3..86311a268662 100644
--- a/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/brakeman/default.nix
@@ -14,5 +14,6 @@ bundlerApp rec {
     license = [ licenses.unfreeRedistributable ];
     platforms = ruby.meta.platforms;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "brakeman";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/analysis/brakeman/gemset.nix b/nixpkgs/pkgs/development/tools/analysis/brakeman/gemset.nix
index fdee80a9ff75..d7d2908f7427 100644
--- a/nixpkgs/pkgs/development/tools/analysis/brakeman/gemset.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/brakeman/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ahkss5xpdw7vwykyd5kba74cs4r987fcn7ad5qvzhzhqdariqvy";
+      sha256 = "1lylig4vgnw9l1ybwgxdi9nw9q2bc5dcplklg8nsbi7j32f7c5kp";
       type = "gem";
     };
-    version = "6.1.1";
+    version = "6.1.2";
   };
   racc = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
index 10634622fe5e..ea256fa59508 100644
--- a/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.16.1";
+  version = "2.16.2";
 
   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";
-    hash = "sha256-y9tSG/SxCeyFdWF6gKuPSBgfG5H2uB/XRmQkfMBdKQU=";
+    hash = "sha256-Zz0j3N1E7KnWigG+PadB7NSTLCAqhLWy5Eg163Q8OFM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
index 0582c1d6e89a..0da5fcc9efbb 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "cppcheck";
-  version = "2.13.3";
+  version = "2.13.4";
 
   outputs = [ "out" "man" ];
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "danmar";
     repo = "cppcheck";
     rev = finalAttrs.version;
-    hash = "sha256-JTasjK9EkdGCTGL5Qx9uU3UBFlQzVdpTJ/v1IfzXCLE=";
+    hash = "sha256-Bz8ACCsxKfN1Y8TpS+oD/6lixLItL1TQR0Ud4gj1txk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/cvehound/default.nix b/nixpkgs/pkgs/development/tools/analysis/cvehound/default.nix
index d6b08fb06153..96f9b47d17bc 100644
--- a/nixpkgs/pkgs/development/tools/analysis/cvehound/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/cvehound/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cvehound";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "evdenis";
     repo = "cvehound";
     rev = "refs/tags/${version}";
-    hash = "sha256-4+0Virpsq4mwOIpostS87VYTX8hsumXEL1w8FiOrNtA=";
+    hash = "sha256-DnrFlDFJT74irvrNs/j7zwO76DYjTOuY0t+mu5c8gpk=";
   };
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index 21811bd668c7..fa5dee6b161e 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.228.0";
+  version = "0.229.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    hash = "sha256-JUmDnpa9hvaGBcZR+OOD9R4P06x94zAdXW1SotXlcMc=";
+    hash = "sha256-V2U53zby0XfAlKqfqUE7f6zvuwWFU2CCOy34KguZqLc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix b/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
index 3112e438da05..9f8524e68995 100644
--- a/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/rizin/default.nix
@@ -1,6 +1,7 @@
 { lib
 , pkgs # for passthru.plugins
 , stdenv
+, fetchpatch
 , fetchurl
 , pkg-config
 , libusb-compat-0_1
@@ -47,12 +48,21 @@ let rizin = stdenv.mkDerivation rec {
     "-Dportable=true"
   ];
 
-  # Normally, Rizin only looks for files in the install prefix. With
-  # portable=true, it instead looks for files in relation to the parent
-  # of the directory of the binary file specified in /proc/self/exe,
-  # caching it. This patch replaces the entire logic to only look at
-  # the env var NIX_RZ_PREFIX
-  patches = [ ./librz-wrapper-support.patch ];
+  patches = [
+    # Normally, Rizin only looks for files in the install prefix. With
+    # portable=true, it instead looks for files in relation to the parent
+    # of the directory of the binary file specified in /proc/self/exe,
+    # caching it. This patch replaces the entire logic to only look at
+    # the env var NIX_RZ_PREFIX
+    ./librz-wrapper-support.patch
+    # Fix tree-sitter 0.20.9 build failure: https://github.com/rizinorg/rizin/pull/4165
+    (fetchpatch {
+      name = "tree-sitter-0.20.9.patch";
+      url = "https://github.com/rizinorg/rizin/commit/1bb08712dbc9e062bb439a65dcebeb4221ded699.patch";
+      hash = "sha256-mE0eQAFhyxX5bwrz+S1IVl6HNV9ITQ+tRRvGLLif5VI=";
+    })
+  ];
+
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/development/tools/api-linter/default.nix b/nixpkgs/pkgs/development/tools/api-linter/default.nix
index 97bda5410596..9b477e5c37a8 100644
--- a/nixpkgs/pkgs/development/tools/api-linter/default.nix
+++ b/nixpkgs/pkgs/development/tools/api-linter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.63.3";
+  version = "1.63.4";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-mcmp3M9KhZp3j18jh+3v5fwPPLRs2hkrRUN3RM/zCmo=";
+    hash = "sha256-u/UgcNkVOfFb/m9Fmrc6kwwiyENvSf9f6rmT5WxMEKA=";
   };
 
-  vendorHash = "sha256-/z2FqMyZnn2A5aajimTS2zw3A1v5v0uYZY81acuQOnw=";
+  vendorHash = "sha256-MCgntQXZfQ6MgLs1i/5u+ZjCV+bY70JQj5onB9p45+4=";
 
   subPackages = [ "cmd/api-linter" ];
 
diff --git a/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix b/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
index 441496ed4352..08e56de7335b 100644
--- a/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
+++ b/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   pname = "StaticSitesClient-${versionFlavor}";
   version = flavor.buildId;
 
-  src = sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform");
+  src = sources.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   nativeBuildInputs = [
     autoPatchelfHook
diff --git a/nixpkgs/pkgs/development/tools/b4/default.nix b/nixpkgs/pkgs/development/tools/b4/default.nix
index 8999d3f4b62a..a4de4f93ce55 100644
--- a/nixpkgs/pkgs/development/tools/b4/default.nix
+++ b/nixpkgs/pkgs/development/tools/b4/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "b4";
-  version = "0.12.4";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-n3mLtthtTN1uAmsmM6dX+Nc7iEo5KzzHiH8iAJmV/Q0=";
+    hash = "sha256-gsok5aDi5oYJPMXVv3MFAehyKZ5hHBtvwf7z6Ut4dBQ=";
   };
 
   # tests make dns requests and fails
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
index 3646c7e15bfa..fc9d8b7e034b 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/MODULE.bazel.lock
@@ -2158,7 +2158,7 @@
   "moduleExtensions": {
     "//:extensions.bzl%bazel_android_deps": {
       "general": {
-        "bzlTransitiveDigest": "PjK+f/kxkhda9tRFlKVdGfNszPoXs7CDXZUi+ZGWGYU=",
+        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2177,9 +2177,9 @@
     },
     "//:extensions.bzl%bazel_build_deps": {
       "general": {
-        "bzlTransitiveDigest": "PjK+f/kxkhda9tRFlKVdGfNszPoXs7CDXZUi+ZGWGYU=",
+        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
         "accumulatedFileDigests": {
-          "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "10b96bd3c1eb194b0efe3a13fd06f2051abf36efb33414ad92048883ba471c7f",
+          "@@//src/test/tools/bzlmod:MODULE.bazel.lock": "4e2a1386686aae6d7be071ef615438178fdb93104b5b84cf8a372b6a944b27cd",
           "@@//:MODULE.bazel": "63625ac7809ba5bc83e0814e16f223ac28a98df884897ddd5bfbd69fd4e3ddbf"
         },
         "envVariables": {},
@@ -2428,7 +2428,7 @@
     },
     "//:extensions.bzl%bazel_test_deps": {
       "general": {
-        "bzlTransitiveDigest": "PjK+f/kxkhda9tRFlKVdGfNszPoXs7CDXZUi+ZGWGYU=",
+        "bzlTransitiveDigest": "rjB9TSLGt3ZwbECWtF/HMgfqMsfEnDLK6fGIe65ZyfE=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2478,7 +2478,7 @@
     },
     "//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "iz3RFYDcsjupaT10sdSPAhA44WL3eDYkTEnYThllj1w=",
+        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2505,7 +2505,7 @@
     },
     "//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "cizrA62cv8WUgb0cCmx5B6PRijtr/I4TAWxg/4caNGU=",
+        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
index 95f59a45f857..8fa5a39777a0 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/cpp-test-MODULE.bazel.lock
@@ -1,6 +1,6 @@
 {
   "lockFileVersion": 3,
-  "moduleFileHash": "88511df1b260515dce141aec0a1990a64de221731dfb656746b7ae1395acf57f",
+  "moduleFileHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
   "flags": {
     "cmdRegistries": [
       "https://bcr.bazel.build/"
@@ -13,7 +13,7 @@
     "compatibilityMode": "ERROR"
   },
   "localOverrideHashes": {
-    "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787"
+    "bazel_tools": "f30da6d09c13487d5a03131bccc244a528e780a477b9c4830c12e10f26d0a64f"
   },
   "moduleDepGraph": {
     "<root>": {
@@ -152,12 +152,12 @@
       ],
       "deps": {
         "rules_cc": "rules_cc@0.0.9",
-        "rules_java": "rules_java@7.1.0",
+        "rules_java": "rules_java@7.3.2",
         "rules_license": "rules_license@0.0.7",
-        "rules_proto": "rules_proto@4.0.0",
-        "rules_python": "rules_python@0.4.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_python": "rules_python@0.22.1",
         "platforms": "platforms@0.0.7",
-        "com_google_protobuf": "protobuf@3.19.6",
+        "com_google_protobuf": "protobuf@21.7",
         "zlib": "zlib@1.3",
         "build_bazel_apple_support": "apple_support@1.5.0",
         "local_config_platform": "local_config_platform@_"
@@ -226,10 +226,10 @@
         }
       }
     },
-    "rules_java@7.1.0": {
+    "rules_java@7.3.2": {
       "name": "rules_java",
-      "version": "7.1.0",
-      "key": "rules_java@7.1.0",
+      "version": "7.3.2",
+      "key": "rules_java@7.3.2",
       "repoName": "rules_java",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -262,9 +262,9 @@
         {
           "extensionBzlFile": "@rules_java//java:extensions.bzl",
           "extensionName": "toolchains",
-          "usingModule": "rules_java@7.1.0",
+          "usingModule": "rules_java@7.3.2",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel",
+            "file": "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel",
             "line": 19,
             "column": 27
           },
@@ -307,7 +307,7 @@
         "platforms": "platforms@0.0.7",
         "rules_cc": "rules_cc@0.0.9",
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "rules_proto": "rules_proto@4.0.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
         "rules_license": "rules_license@0.0.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -316,11 +316,11 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_java~7.1.0",
+          "name": "rules_java~7.3.2",
           "urls": [
-            "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz"
+            "https://github.com/bazelbuild/rules_java/releases/download/7.3.2/rules_java-7.3.2.tar.gz"
           ],
-          "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=",
+          "integrity": "sha256-MSGgBYixWBvXwfm1UFmWKeWtzBG6nGX0grvVz+R/3zA=",
           "strip_prefix": "",
           "remote_patches": {},
           "remote_patch_strip": 0
@@ -354,16 +354,17 @@
         }
       }
     },
-    "rules_proto@4.0.0": {
+    "rules_proto@5.3.0-21.7": {
       "name": "rules_proto",
-      "version": "4.0.0",
-      "key": "rules_proto@4.0.0",
+      "version": "5.3.0-21.7",
+      "key": "rules_proto@5.3.0-21.7",
       "repoName": "rules_proto",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [],
       "extensionUsages": [],
       "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
+        "com_google_protobuf": "protobuf@21.7",
         "rules_cc": "rules_cc@0.0.9",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
@@ -372,23 +373,21 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_proto~4.0.0",
+          "name": "rules_proto~5.3.0-21.7",
           "urls": [
-            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0.zip"
+            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz"
           ],
-          "integrity": "sha256-Lr5z6xyuRA19pNtRYMGjKaynwQpck4H/lwYyVjyhoq4=",
-          "strip_prefix": "rules_proto-4.0.0",
-          "remote_patches": {
-            "https://bcr.bazel.build/modules/rules_proto/4.0.0/patches/module_dot_bazel.patch": "sha256-MclJO7tIAM2ElDAmscNId9pKTpOuDGHgVlW/9VBOIp0="
-          },
+          "integrity": "sha256-3D+yBqLLNEG0heseQjFlsjEjWh6psDG0Qzz3vB+kYN0=",
+          "strip_prefix": "rules_proto-5.3.0-21.7",
+          "remote_patches": {},
           "remote_patch_strip": 0
         }
       }
     },
-    "rules_python@0.4.0": {
+    "rules_python@0.22.1": {
       "name": "rules_python",
-      "version": "0.4.0",
-      "key": "rules_python@0.4.0",
+      "version": "0.22.1",
+      "key": "rules_python@0.22.1",
       "repoName": "rules_python",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [
@@ -396,21 +395,72 @@
       ],
       "extensionUsages": [
         {
-          "extensionBzlFile": "@rules_python//bzlmod:extensions.bzl",
-          "extensionName": "pip_install",
-          "usingModule": "rules_python@0.4.0",
+          "extensionBzlFile": "@rules_python//python/extensions/private:internal_deps.bzl",
+          "extensionName": "internal_deps",
+          "usingModule": "rules_python@0.22.1",
           "location": {
-            "file": "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel",
-            "line": 7,
-            "column": 28
+            "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+            "line": 14,
+            "column": 30
           },
           "imports": {
+            "pypi__build": "pypi__build",
             "pypi__click": "pypi__click",
+            "pypi__colorama": "pypi__colorama",
+            "pypi__importlib_metadata": "pypi__importlib_metadata",
+            "pypi__installer": "pypi__installer",
+            "pypi__more_itertools": "pypi__more_itertools",
+            "pypi__packaging": "pypi__packaging",
+            "pypi__pep517": "pypi__pep517",
             "pypi__pip": "pypi__pip",
             "pypi__pip_tools": "pypi__pip_tools",
-            "pypi__pkginfo": "pypi__pkginfo",
             "pypi__setuptools": "pypi__setuptools",
-            "pypi__wheel": "pypi__wheel"
+            "pypi__tomli": "pypi__tomli",
+            "pypi__wheel": "pypi__wheel",
+            "pypi__zipp": "pypi__zipp",
+            "pypi__coverage_cp310_aarch64-apple-darwin": "pypi__coverage_cp310_aarch64-apple-darwin",
+            "pypi__coverage_cp310_aarch64-unknown-linux-gnu": "pypi__coverage_cp310_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp310_x86_64-apple-darwin": "pypi__coverage_cp310_x86_64-apple-darwin",
+            "pypi__coverage_cp310_x86_64-unknown-linux-gnu": "pypi__coverage_cp310_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp311_aarch64-unknown-linux-gnu": "pypi__coverage_cp311_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp311_x86_64-apple-darwin": "pypi__coverage_cp311_x86_64-apple-darwin",
+            "pypi__coverage_cp311_x86_64-unknown-linux-gnu": "pypi__coverage_cp311_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp38_aarch64-apple-darwin": "pypi__coverage_cp38_aarch64-apple-darwin",
+            "pypi__coverage_cp38_aarch64-unknown-linux-gnu": "pypi__coverage_cp38_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp38_x86_64-apple-darwin": "pypi__coverage_cp38_x86_64-apple-darwin",
+            "pypi__coverage_cp38_x86_64-unknown-linux-gnu": "pypi__coverage_cp38_x86_64-unknown-linux-gnu",
+            "pypi__coverage_cp39_aarch64-apple-darwin": "pypi__coverage_cp39_aarch64-apple-darwin",
+            "pypi__coverage_cp39_aarch64-unknown-linux-gnu": "pypi__coverage_cp39_aarch64-unknown-linux-gnu",
+            "pypi__coverage_cp39_x86_64-apple-darwin": "pypi__coverage_cp39_x86_64-apple-darwin",
+            "pypi__coverage_cp39_x86_64-unknown-linux-gnu": "pypi__coverage_cp39_x86_64-unknown-linux-gnu"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {},
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+                "line": 15,
+                "column": 22
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@rules_python//python/extensions:python.bzl",
+          "extensionName": "python",
+          "usingModule": "rules_python@0.22.1",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel",
+            "line": 50,
+            "column": 23
+          },
+          "imports": {
+            "pythons_hub": "pythons_hub"
           },
           "devImports": [],
           "tags": [],
@@ -419,6 +469,10 @@
         }
       ],
       "deps": {
+        "platforms": "platforms@0.0.7",
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "com_google_protobuf": "protobuf@21.7",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -426,15 +480,14 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "rules_python~0.4.0",
+          "name": "rules_python~0.22.1",
           "urls": [
-            "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz"
+            "https://github.com/bazelbuild/rules_python/releases/download/0.22.1/rules_python-0.22.1.tar.gz"
           ],
-          "integrity": "sha256-lUqom0kb5KCDMEosuDgBnIuMNyCnq7nEy4GseiQjDOo=",
-          "strip_prefix": "",
+          "integrity": "sha256-pWQP3dS+sD6MH95e1xYMC6a9R359BIZhwwwGk2om/WM=",
+          "strip_prefix": "rules_python-0.22.1",
           "remote_patches": {
-            "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/propagate_pip_install_dependencies.patch": "sha256-v7S/dem/mixg63MF4KoRGDA4KEol9ab/tIVp+6Xq0D0=",
-            "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/module_dot_bazel.patch": "sha256-kG4VIfWxQazzTuh50mvsx6pmyoRVA4lfH5rkto/Oq+Y="
+            "https://bcr.bazel.build/modules/rules_python/0.22.1/patches/module_dot_bazel_version.patch": "sha256-3+VLDH9gYDzNI4eOW7mABC/LKxh1xqF6NhacLbNTucs="
           },
           "remote_patch_strip": 1
         }
@@ -468,21 +521,68 @@
         }
       }
     },
-    "protobuf@3.19.6": {
+    "protobuf@21.7": {
       "name": "protobuf",
-      "version": "3.19.6",
-      "key": "protobuf@3.19.6",
+      "version": "21.7",
+      "key": "protobuf@21.7",
       "repoName": "protobuf",
       "executionPlatformsToRegister": [],
       "toolchainsToRegister": [],
-      "extensionUsages": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
+          "extensionName": "maven",
+          "usingModule": "protobuf@21.7",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+            "line": 22,
+            "column": 22
+          },
+          "imports": {
+            "maven": "maven"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {
+                "name": "maven",
+                "artifacts": [
+                  "com.google.code.findbugs:jsr305:3.0.2",
+                  "com.google.code.gson:gson:2.8.9",
+                  "com.google.errorprone:error_prone_annotations:2.3.2",
+                  "com.google.j2objc:j2objc-annotations:1.3",
+                  "com.google.guava:guava:31.1-jre",
+                  "com.google.guava:guava-testlib:31.1-jre",
+                  "com.google.truth:truth:1.1.2",
+                  "junit:junit:4.13.2",
+                  "org.mockito:mockito-core:4.3.1"
+                ]
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel",
+                "line": 24,
+                "column": 14
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
       "deps": {
         "bazel_skylib": "bazel_skylib@1.3.0",
-        "zlib": "zlib@1.3",
-        "rules_python": "rules_python@0.4.0",
+        "rules_python": "rules_python@0.22.1",
         "rules_cc": "rules_cc@0.0.9",
-        "rules_proto": "rules_proto@4.0.0",
-        "rules_java": "rules_java@7.1.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "rules_java": "rules_java@7.3.2",
+        "rules_pkg": "rules_pkg@0.7.0",
+        "com_google_abseil": "abseil-cpp@20211102.0",
+        "zlib": "zlib@1.3",
+        "upb": "upb@0.0.0-20220923-a547704",
+        "rules_jvm_external": "rules_jvm_external@4.4.2",
+        "com_google_googletest": "googletest@1.11.0",
         "bazel_tools": "bazel_tools@_",
         "local_config_platform": "local_config_platform@_"
       },
@@ -490,17 +590,17 @@
         "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
         "ruleClassName": "http_archive",
         "attributes": {
-          "name": "protobuf~3.19.6",
+          "name": "protobuf~21.7",
           "urls": [
-            "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.19.6.zip"
+            "https://github.com/protocolbuffers/protobuf/releases/download/v21.7/protobuf-all-21.7.zip"
           ],
-          "integrity": "sha256-OH4sVZuyx8G8N5jE5s/wFTgaebJ1hpavy/johzC0c4k=",
-          "strip_prefix": "protobuf-3.19.6",
+          "integrity": "sha256-VJOiH17T/FAuZv7GuUScBqVRztYwAvpIkDxA36jeeko=",
+          "strip_prefix": "protobuf-21.7",
           "remote_patches": {
-            "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/relative_repo_names.patch": "sha256-w/5gw/zGv8NFId+669hcdw1Uus2lxgYpulATHIwIByI=",
-            "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/remove_dependency_on_rules_jvm_external.patch": "sha256-THUTnVgEBmjA0W7fKzIyZOVG58DnW9HQTkr4D2zKUUc=",
-            "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/add_module_dot_bazel_for_examples.patch": "sha256-s/b1gi3baK3LsXefI2rQilhmkb2R5jVJdnT6zEcdfHY=",
-            "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/module_dot_bazel.patch": "sha256-S0DEni8zgx7rHscW3z/rCEubQnYec0XhNet640cw0h4="
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel.patch": "sha256-q3V2+eq0v2XF0z8z+V+QF4cynD6JvHI1y3kI/+rzl5s=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_module_dot_bazel_for_examples.patch": "sha256-O7YP6s3lo/1opUiO0jqXYORNHdZ/2q3hjz1QGy8QdIU=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/relative_repo_names.patch": "sha256-RK9RjW8T5UJNG7flIrnFiNE9vKwWB+8uWWtJqXYT0w4=",
+            "https://bcr.bazel.build/modules/protobuf/21.7/patches/add_missing_files.patch": "sha256-Hyne4DG2u5bXcWHNxNMirA2QFAe/2Cl8oMm1XJdkQIY="
           },
           "remote_patch_strip": 1
         }
@@ -618,6 +718,251 @@
           "remote_patch_strip": 0
         }
       }
+    },
+    "rules_pkg@0.7.0": {
+      "name": "rules_pkg",
+      "version": "0.7.0",
+      "key": "rules_pkg@0.7.0",
+      "repoName": "rules_pkg",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "rules_python": "rules_python@0.22.1",
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_license": "rules_license@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "rules_pkg~0.7.0",
+          "urls": [
+            "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"
+          ],
+          "integrity": "sha256-iimOgydi7aGDBZfWT+fbWBeKqEzVkm121bdE1lWJQcI=",
+          "strip_prefix": "",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/rules_pkg/0.7.0/patches/module_dot_bazel.patch": "sha256-4OaEPZwYF6iC71ZTDg6MJ7LLqX7ZA0/kK4mT+4xKqiE="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "abseil-cpp@20211102.0": {
+      "name": "abseil-cpp",
+      "version": "20211102.0",
+      "key": "abseil-cpp@20211102.0",
+      "repoName": "abseil-cpp",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "rules_cc": "rules_cc@0.0.9",
+        "platforms": "platforms@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "abseil-cpp~20211102.0",
+          "urls": [
+            "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
+          ],
+          "integrity": "sha256-3PcbnLqNwMqZQMSzFqDHlr6Pq0KwcLtrfKtitI8OZsQ=",
+          "strip_prefix": "abseil-cpp-20211102.0",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/patches/module_dot_bazel.patch": "sha256-4izqopgGCey4jVZzl/w3M2GVPNohjh2B5TmbThZNvPY="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "upb@0.0.0-20220923-a547704": {
+      "name": "upb",
+      "version": "0.0.0-20220923-a547704",
+      "key": "upb@0.0.0-20220923-a547704",
+      "repoName": "upb",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_proto": "rules_proto@5.3.0-21.7",
+        "com_google_protobuf": "protobuf@21.7",
+        "com_google_absl": "abseil-cpp@20211102.0",
+        "platforms": "platforms@0.0.7",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "upb~0.0.0-20220923-a547704",
+          "urls": [
+            "https://github.com/protocolbuffers/upb/archive/a5477045acaa34586420942098f5fecd3570f577.tar.gz"
+          ],
+          "integrity": "sha256-z39x6v+QskwaKLSWRan/A6mmwecTQpHOcJActj5zZLU=",
+          "strip_prefix": "upb-a5477045acaa34586420942098f5fecd3570f577",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/patches/module_dot_bazel.patch": "sha256-wH4mNS6ZYy+8uC0HoAft/c7SDsq2Kxf+J8dUakXhaB0="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "rules_jvm_external@4.4.2": {
+      "name": "rules_jvm_external",
+      "version": "4.4.2",
+      "key": "rules_jvm_external@4.4.2",
+      "repoName": "rules_jvm_external",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [
+        {
+          "extensionBzlFile": "@rules_jvm_external//:non-module-deps.bzl",
+          "extensionName": "non_module_deps",
+          "usingModule": "rules_jvm_external@4.4.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel",
+            "line": 9,
+            "column": 32
+          },
+          "imports": {
+            "io_bazel_rules_kotlin": "io_bazel_rules_kotlin"
+          },
+          "devImports": [],
+          "tags": [],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        },
+        {
+          "extensionBzlFile": "@rules_jvm_external//:extensions.bzl",
+          "extensionName": "maven",
+          "usingModule": "rules_jvm_external@4.4.2",
+          "location": {
+            "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel",
+            "line": 16,
+            "column": 22
+          },
+          "imports": {
+            "rules_jvm_external_deps": "rules_jvm_external_deps"
+          },
+          "devImports": [],
+          "tags": [
+            {
+              "tagName": "install",
+              "attributeValues": {
+                "name": "rules_jvm_external_deps",
+                "artifacts": [
+                  "com.google.cloud:google-cloud-core:1.93.10",
+                  "com.google.cloud:google-cloud-storage:1.113.4",
+                  "com.google.code.gson:gson:2.9.0",
+                  "org.apache.maven:maven-artifact:3.8.6",
+                  "software.amazon.awssdk:s3:2.17.183"
+                ],
+                "lock_file": "@rules_jvm_external//:rules_jvm_external_deps_install.json"
+              },
+              "devDependency": false,
+              "location": {
+                "file": "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel",
+                "line": 18,
+                "column": 14
+              }
+            }
+          ],
+          "hasDevUseExtension": false,
+          "hasNonDevUseExtension": true
+        }
+      ],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "io_bazel_stardoc": "stardoc@0.5.1",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "rules_jvm_external~4.4.2",
+          "urls": [
+            "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/4.4.2.zip"
+          ],
+          "integrity": "sha256-c1YC9QgT6y6pPKP15DsZWb2AshO4NqB6YqKddXZwt3s=",
+          "strip_prefix": "rules_jvm_external-4.4.2",
+          "remote_patches": {},
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "googletest@1.11.0": {
+      "name": "googletest",
+      "version": "1.11.0",
+      "key": "googletest@1.11.0",
+      "repoName": "googletest",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "com_google_absl": "abseil-cpp@20211102.0",
+        "platforms": "platforms@0.0.7",
+        "rules_cc": "rules_cc@0.0.9",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "googletest~1.11.0",
+          "urls": [
+            "https://github.com/google/googletest/archive/refs/tags/release-1.11.0.tar.gz"
+          ],
+          "integrity": "sha256-tIcL8SH/d5W6INILzdhie44Ijy0dqymaAxwQNO3ck9U=",
+          "strip_prefix": "googletest-release-1.11.0",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/googletest/1.11.0/patches/module_dot_bazel.patch": "sha256-HuahEdI/n8KCI071sN3CEziX+7qP/Ec77IWayYunLP0="
+          },
+          "remote_patch_strip": 0
+        }
+      }
+    },
+    "stardoc@0.5.1": {
+      "name": "stardoc",
+      "version": "0.5.1",
+      "key": "stardoc@0.5.1",
+      "repoName": "stardoc",
+      "executionPlatformsToRegister": [],
+      "toolchainsToRegister": [],
+      "extensionUsages": [],
+      "deps": {
+        "bazel_skylib": "bazel_skylib@1.3.0",
+        "rules_java": "rules_java@7.3.2",
+        "bazel_tools": "bazel_tools@_",
+        "local_config_platform": "local_config_platform@_"
+      },
+      "repoSpec": {
+        "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl",
+        "ruleClassName": "http_archive",
+        "attributes": {
+          "name": "stardoc~0.5.1",
+          "urls": [
+            "https://github.com/bazelbuild/stardoc/releases/download/0.5.1/stardoc-0.5.1.tar.gz"
+          ],
+          "integrity": "sha256-qoFNrgrEALurLoiB+ZFcb0fElmS/CHxAmhX5BDjSwj4=",
+          "strip_prefix": "",
+          "remote_patches": {
+            "https://bcr.bazel.build/modules/stardoc/0.5.1/patches/module_dot_bazel.patch": "sha256-UAULCuTpJE7SG0YrR9XLjMfxMRmbP+za3uW9ONZ5rjI="
+          },
+          "remote_patch_strip": 0
+        }
+      }
     }
   },
   "moduleExtensions": {
@@ -641,12 +986,19 @@
               "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "apple_support~1.5.0",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "iz3RFYDcsjupaT10sdSPAhA44WL3eDYkTEnYThllj1w=",
+        "bzlTransitiveDigest": "vsrPPBNf8OgywAYLMcIL1oNm2R8WtbCIL9wgQBUecpA=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -664,16 +1016,17 @@
             "ruleClassName": "http_jar",
             "attributes": {
               "name": "bazel_tools~remote_android_tools_extensions~android_gmaven_r8",
-              "sha256": "57a696749695a09381a87bc2f08c3a8ed06a717a5caa3ef878a3077e0d3af19d",
-              "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
+              "sha256": "a1d7f902d56cfa8d1e8cd64aa250e63549359fcd096eb793286787b1a1e76db1",
+              "url": "https://maven.google.com/com/android/tools/r8/8.2.42/r8-8.2.42.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "O9sf6ilKWU9Veed02jG9o2HM/xgV/UAyciuFBuxrFRY=",
+        "bzlTransitiveDigest": "2LC5INJ/KSraqEsbNl9rSibnM7ApBho21h1gyUQbjPg=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -691,7 +1044,14 @@
               "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
@@ -709,7 +1069,8 @@
               "remote_xcode": ""
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
@@ -725,12 +1086,13 @@
               "name": "bazel_tools~sh_configure_extension~local_config_sh"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "cizrA62cv8WUgb0cCmx5B6PRijtr/I4TAWxg/4caNGU=",
+        "bzlTransitiveDigest": "AL+K5m+GCP3XRzLPqpKAq4GsjIVDXgUveWm8nih4ju0=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -745,52 +1107,53 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
-    "@@rules_java~7.1.0//java:extensions.bzl%toolchains": {
+    "@@rules_java~7.3.2//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "iUIRqCK7tkhvcDJCAfPPqSd06IHG0a8HQD0xeQyVAqw=",
+        "bzlTransitiveDigest": "Bm4ulErUcJjZtKeAt2etkB6sGO8evCgHQxbw4Px8q60=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
           "remotejdk21_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk21_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -798,7 +1161,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "2a7a99a3ea263dbd8d32a67d1e6e363ba8b25c645c826f5e167a02bbafaff1fa",
               "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_aarch64",
@@ -809,10 +1172,10 @@
             }
           },
           "remotejdk17_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux//:jdk\",\n)\n"
             }
           },
@@ -820,7 +1183,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "314b04568ec0ae9b36ba03c9cbd42adc9e1265f74678923b19297d66eb84dcca",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_aarch64",
@@ -834,11 +1197,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_windows",
-              "sha256": "c5c70c214a350f12cbf52da8270fa43ba629b795f3dd328028a38f8f0d39c2a1",
+              "name": "rules_java~7.3.2~toolchains~remote_java_tools_windows",
+              "sha256": "8fc29a5e34e91c74815c4089ed0f481a7d728a5e886c4e5e3b9bcd79711fee3d",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_windows-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_windows-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_windows-v13.3.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_windows-v13.3.zip"
               ]
             }
           },
@@ -846,7 +1209,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "43408193ce2fa0862819495b5ae8541085b95660153f2adcf91a52d3a1710e83",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-win_x64",
@@ -857,10 +1220,10 @@
             }
           },
           "remotejdk11_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win//:jdk\",\n)\n"
             }
           },
@@ -868,7 +1231,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "54174439f2b3fddd11f1048c397fe7bb45d4c9d66d452d6889b013d04d21c4de",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_aarch64",
@@ -882,7 +1245,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "b9482f2304a1a68a614dfacddcf29569a72f0fac32e6c74f83dc1b9a157b8340",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_x64",
@@ -893,18 +1256,18 @@
             }
           },
           "remotejdk11_linux_s390x_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_s390x_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:s390x\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_s390x//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux//:jdk\",\n)\n"
             }
           },
@@ -912,7 +1275,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "bcaab11cfe586fae7583c6d9d311c64384354fb2638eb9a012eca4c3f1a1d9fd",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_x64",
@@ -926,7 +1289,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "b8a28e6e767d90acf793ea6f5bed0bb595ba0ba5ebdf8b99f395266161e53ec2",
               "strip_prefix": "jdk-11.0.13+8",
@@ -939,7 +1302,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "640453e8afe8ffe0fb4dceb4535fb50db9c283c64665eebb0ba68b19e65f4b1f",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-macosx_x64",
@@ -953,7 +1316,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "9639b87db586d0c89f7a9892ae47f421e442c64b97baebdff31788fbe23265bd",
               "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-macosx_x64",
@@ -964,18 +1327,18 @@
             }
           },
           "remotejdk21_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_macos_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_macos_aarch64//:jdk\",\n)\n"
             }
           },
@@ -983,7 +1346,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "192f2afca57701de6ec496234f7e45d971bf623ff66b8ee4a5c81582054e5637",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_x64",
@@ -994,18 +1357,18 @@
             }
           },
           "remotejdk11_macos_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1013,7 +1376,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "0c0eadfbdc47a7ca64aeab51b9c061f71b6e4d25d2d87674512e9b6387e9e3a6",
               "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_x64",
@@ -1027,11 +1390,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_linux",
-              "sha256": "d134da9b04c9023fb6e56a5d4bffccee73f7bc9572ddc4e747778dacccd7a5a7",
+              "name": "rules_java~7.3.2~toolchains~remote_java_tools_linux",
+              "sha256": "a781eb28bb28d1fd9eee129272f7f2eaf93cd272f974a5b3f6385889538d3408",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_linux-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_linux-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_linux-v13.3.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_linux-v13.3.zip"
               ]
             }
           },
@@ -1039,7 +1402,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_win",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "e9959d500a0d9a7694ac243baf657761479da132f0f94720cbffd092150bd802",
               "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-win_x64",
@@ -1053,7 +1416,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 21,\n)\n",
               "sha256": "1fb64b8036c5d463d8ab59af06bf5b6b006811e6012e3b0eb6bccf57f1c55835",
               "strip_prefix": "zulu21.28.85-ca-jdk21.0.0-linux_aarch64",
@@ -1064,10 +1427,10 @@
             }
           },
           "remotejdk11_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_linux_aarch64//:jdk\",\n)\n"
             }
           },
@@ -1075,7 +1438,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_s390x",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a58fc0361966af0a5d5a31a2d8a208e3c9bb0f54f345596fd80b99ea9a39788b",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1089,7 +1452,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6531cef61e416d5a7b691555c8cf2bdff689201b8a001ff45ab6740062b44313",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-linux_aarch64",
@@ -1100,10 +1463,10 @@
             }
           },
           "remotejdk17_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win_arm64//:jdk\",\n)\n"
             }
           },
@@ -1111,7 +1474,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a34b404f87a08a61148b38e1416d837189e1df7a040d949e743633daf4695a3c",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-linux_x64",
@@ -1122,18 +1485,18 @@
             }
           },
           "remotejdk11_macos_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_macos//:jdk\",\n)\n"
             }
           },
           "remotejdk17_linux_ppc64le_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_ppc64le_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:ppc\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_linux_ppc64le//:jdk\",\n)\n"
             }
           },
@@ -1141,7 +1504,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_arm64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_arm64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "6802c99eae0d788e21f52d03cab2e2b3bf42bc334ca03cbf19f71eb70ee19f85",
               "strip_prefix": "zulu17.44.53-ca-jdk17.0.8.1-win_aarch64",
@@ -1155,11 +1518,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_arm64",
-              "sha256": "dab5bb87ec43e980faea6e1cec14bafb217b8e2f5346f53aa784fd715929a930",
+              "name": "rules_java~7.3.2~toolchains~remote_java_tools_darwin_arm64",
+              "sha256": "276bb552ee03341f93c0c218343295f60241fe1d32dccd97df89319c510c19a1",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_arm64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_arm64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_darwin_arm64-v13.3.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_darwin_arm64-v13.3.zip"
               ]
             }
           },
@@ -1167,7 +1530,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_ppc64le",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "00a4c07603d0218cd678461b5b3b7e25b3253102da4022d31fc35907f21a2efd",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1178,26 +1541,26 @@
             }
           },
           "remotejdk21_linux_aarch64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_linux_aarch64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:linux\", \"@platforms//cpu:aarch64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_linux_aarch64//:jdk\",\n)\n"
             }
           },
           "remotejdk11_win_arm64_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_win_arm64_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_11\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"11\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:arm64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk11_win_arm64//:jdk\",\n)\n"
             }
           },
           "local_jdk": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:local_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:local_java_repository.bzl",
             "ruleClassName": "_local_java_repository_rule",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~local_jdk",
+              "name": "rules_java~7.3.2~toolchains~local_jdk",
               "java_home": "",
               "version": "",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = {RUNTIME_VERSION},\n)\n"
@@ -1207,11 +1570,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools_darwin_x86_64",
-              "sha256": "0db40d8505a2b65ef0ed46e4256757807db8162f7acff16225be57c1d5726dbc",
+              "name": "rules_java~7.3.2~toolchains~remote_java_tools_darwin_x86_64",
+              "sha256": "55bd36bf2fad897d9107145f81e20a549a37e4d9d4c447b6915634984aa9f576",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools_darwin_x86_64-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools_darwin_x86_64-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools_darwin_x86_64-v13.3.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools_darwin_x86_64-v13.3.zip"
               ]
             }
           },
@@ -1219,11 +1582,11 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remote_java_tools",
-              "sha256": "286bdbbd66e616fc4ed3f90101418729a73baa7e8c23a98ffbef558f74c0ad14",
+              "name": "rules_java~7.3.2~toolchains~remote_java_tools",
+              "sha256": "30a7d845bec3dd054ac45b5546c2fdf1922c0b1040b2a13b261fcc2e2d63a2f4",
               "urls": [
-                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.1/java_tools-v13.1.zip",
-                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.1/java_tools-v13.1.zip"
+                "https://mirror.bazel.build/bazel_java_tools/releases/java/v13.3/java_tools-v13.3.zip",
+                "https://github.com/bazelbuild/java_tools/releases/download/java_v13.3/java_tools-v13.3.zip"
               ]
             }
           },
@@ -1231,7 +1594,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_linux_s390x",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_linux_s390x",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 17,\n)\n",
               "sha256": "ffacba69c6843d7ca70d572489d6cc7ab7ae52c60f0852cedf4cf0d248b6fc37",
               "strip_prefix": "jdk-17.0.8.1+1",
@@ -1242,10 +1605,10 @@
             }
           },
           "remotejdk17_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk17_win_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk17_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_17\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"17\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk17_win//:jdk\",\n)\n"
             }
           },
@@ -1253,7 +1616,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_linux_ppc64le",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_linux_ppc64le",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
               "strip_prefix": "jdk-11.0.15+10",
@@ -1267,7 +1630,7 @@
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk11_macos_aarch64",
+              "name": "rules_java~7.3.2~toolchains~remotejdk11_macos_aarch64",
               "build_file_content": "load(\"@rules_java//java:defs.bzl\", \"java_runtime\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files([\"WORKSPACE\", \"BUILD.bazel\"])\n\nfilegroup(\n    name = \"jre\",\n    srcs = glob(\n        [\n            \"jre/bin/**\",\n            \"jre/lib/**\",\n        ],\n        allow_empty = True,\n        # In some configurations, Java browser plugin is considered harmful and\n        # common antivirus software blocks access to npjp2.dll interfering with Bazel,\n        # so do not include it in JRE on Windows.\n        exclude = [\"jre/bin/plugin2/**\"],\n    ),\n)\n\nfilegroup(\n    name = \"jdk-bin\",\n    srcs = glob(\n        [\"bin/**\"],\n        # The JDK on Windows sometimes contains a directory called\n        # \"%systemroot%\", which is not a valid label.\n        exclude = [\"**/*%*/**\"],\n    ),\n)\n\n# This folder holds security policies.\nfilegroup(\n    name = \"jdk-conf\",\n    srcs = glob(\n        [\"conf/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-include\",\n    srcs = glob(\n        [\"include/**\"],\n        allow_empty = True,\n    ),\n)\n\nfilegroup(\n    name = \"jdk-lib\",\n    srcs = glob(\n        [\"lib/**\", \"release\"],\n        allow_empty = True,\n        exclude = [\n            \"lib/missioncontrol/**\",\n            \"lib/visualvm/**\",\n        ],\n    ),\n)\n\njava_runtime(\n    name = \"jdk\",\n    srcs = [\n        \":jdk-bin\",\n        \":jdk-conf\",\n        \":jdk-include\",\n        \":jdk-lib\",\n        \":jre\",\n    ],\n    # Provide the 'java` binary explicitly so that the correct path is used by\n    # Bazel even when the host platform differs from the execution platform.\n    # Exactly one of the two globs will be empty depending on the host platform.\n    # When --incompatible_disallow_empty_glob is enabled, each individual empty\n    # glob will fail without allow_empty = True, even if the overall result is\n    # non-empty.\n    java = glob([\"bin/java.exe\", \"bin/java\"], allow_empty = True)[0],\n    version = 11,\n)\n",
               "sha256": "7632bc29f8a4b7d492b93f3bc75a7b61630894db85d136456035ab2a24d38885",
               "strip_prefix": "zulu11.66.15-ca-jdk11.0.20-macosx_aarch64",
@@ -1278,89 +1641,1646 @@
             }
           },
           "remotejdk21_win_toolchain_config_repo": {
-            "bzlFile": "@@rules_java~7.1.0//toolchains:remote_java_repository.bzl",
+            "bzlFile": "@@rules_java~7.3.2//toolchains:remote_java_repository.bzl",
             "ruleClassName": "_toolchain_config",
             "attributes": {
-              "name": "rules_java~7.1.0~toolchains~remotejdk21_win_toolchain_config_repo",
+              "name": "rules_java~7.3.2~toolchains~remotejdk21_win_toolchain_config_repo",
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_java~7.3.2",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_java~7.3.2",
+            "remote_java_tools",
+            "rules_java~7.3.2~toolchains~remote_java_tools"
+          ]
+        ]
       }
     },
-    "@@rules_python~0.4.0//bzlmod:extensions.bzl%pip_install": {
+    "@@rules_jvm_external~4.4.2//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "rTru6D/C8vlaQDk4HOKyx4U/l6PCnj3Aq/gLraAqHgQ=",
+        "bzlTransitiveDigest": "yXprMX4LqzJwuZlbtT9WNeu7p2iEYw7j4R1NP9pc4Ow=",
+        "accumulatedFileDigests": {
+          "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
+        },
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "org_slf4j_slf4j_api_1_7_30": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_slf4j_slf4j_api_1_7_30",
+              "sha256": "cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
+                "https://maven.google.com/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar"
+            }
+          },
+          "com_google_api_grpc_proto_google_common_protos_2_0_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_common_protos_2_0_1",
+              "sha256": "5ce71656118618731e34a5d4c61aa3a031be23446dc7de8b5a5e77b66ebcd6ef",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar",
+                "https://maven.google.com/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/2.0.1/proto-google-common-protos-2.0.1.jar"
+            }
+          },
+          "com_google_api_gax_1_60_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_1_60_0",
+              "sha256": "02f37d4ff1a7b8d71dff8064cf9568aa4f4b61bcc4485085d16130f32afa5a79",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar",
+                "https://maven.google.com/com/google/api/gax/1.60.0/gax-1.60.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/gax/1.60.0/gax-1.60.0.jar"
+            }
+          },
+          "com_google_guava_failureaccess_1_0_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_failureaccess_1_0_1",
+              "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+                "https://maven.google.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+            }
+          },
+          "commons_logging_commons_logging_1_2": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~commons_logging_commons_logging_1_2",
+              "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
+              "urls": [
+                "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+                "https://maven.google.com/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"
+            }
+          },
+          "com_google_http_client_google_http_client_appengine_1_38_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_appengine_1_38_0",
+              "sha256": "f97b495fd97ac3a3d59099eb2b55025f4948230da15a076f189b9cff37c6b4d2",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar",
+                "https://maven.google.com/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine/1.38.0/google-http-client-appengine-1.38.0.jar"
+            }
+          },
+          "com_google_cloud_google_cloud_storage_1_113_4": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_storage_1_113_4",
+              "sha256": "796833e9bdab80c40bbc820e65087eb8f28c6bfbca194d2e3e00d98cb5bc55d6",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar",
+                "https://maven.google.com/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/1.113.4/google-cloud-storage-1.113.4.jar"
+            }
+          },
+          "io_grpc_grpc_context_1_33_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_grpc_grpc_context_1_33_1",
+              "sha256": "99b8aea2b614fe0e61c3676e681259dc43c2de7f64620998e1a8435eb2976496",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar",
+                "https://maven.google.com/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-context/1.33.1/grpc-context-1.33.1.jar"
+            }
+          },
+          "com_google_api_grpc_proto_google_iam_v1_1_0_3": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_grpc_proto_google_iam_v1_1_0_3",
+              "sha256": "64cee7383a97e846da8d8e160e6c8fe30561e507260552c59e6ccfc81301fdc8",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar",
+                "https://maven.google.com/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/grpc/proto-google-iam-v1/1.0.3/proto-google-iam-v1-1.0.3.jar"
+            }
+          },
+          "com_google_api_api_common_1_10_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_api_common_1_10_1",
+              "sha256": "2a033f24bb620383eda440ad307cb8077cfec1c7eadc684d65216123a1b9613a",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar",
+                "https://maven.google.com/com/google/api/api-common/1.10.1/api-common-1.10.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/api-common/1.10.1/api-common-1.10.1.jar"
+            }
+          },
+          "com_google_auth_google_auth_library_oauth2_http_0_22_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_oauth2_http_0_22_0",
+              "sha256": "1722d895c42dc42ea1d1f392ddbec1fbb28f7a979022c3a6c29acc39cc777ad1",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar",
+                "https://maven.google.com/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.22.0/google-auth-library-oauth2-http-0.22.0.jar"
+            }
+          },
+          "com_typesafe_netty_netty_reactive_streams_2_0_5": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_2_0_5",
+              "sha256": "f949849fc8ee75fde468ba3a35df2e04577fa31a2940b83b2a7dc9d14dac13d6",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar",
+                "https://maven.google.com/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams/2.0.5/netty-reactive-streams-2.0.5.jar"
+            }
+          },
+          "com_typesafe_netty_netty_reactive_streams_http_2_0_5": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_typesafe_netty_netty_reactive_streams_http_2_0_5",
+              "sha256": "b39224751ad936758176e9d994230380ade5e9079e7c8ad778e3995779bcf303",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar",
+                "https://maven.google.com/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http/2.0.5/netty-reactive-streams-http-2.0.5.jar"
+            }
+          },
+          "javax_annotation_javax_annotation_api_1_3_2": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~javax_annotation_javax_annotation_api_1_3_2",
+              "sha256": "e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b",
+              "urls": [
+                "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar",
+                "https://maven.google.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar"
+            }
+          },
+          "com_google_j2objc_j2objc_annotations_1_3": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_j2objc_j2objc_annotations_1_3",
+              "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+                "https://maven.google.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
+            }
+          },
+          "software_amazon_awssdk_metrics_spi_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_metrics_spi_2_17_183",
+              "sha256": "08a11dc8c4ba464beafbcc7ac05b8c724c1ccb93da99482e82a68540ac704e4a",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/2.17.183/metrics-spi-2.17.183.jar"
+            }
+          },
+          "org_reactivestreams_reactive_streams_1_0_3": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_reactivestreams_reactive_streams_1_0_3",
+              "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar",
+                "https://maven.google.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar"
+            }
+          },
+          "com_google_http_client_google_http_client_jackson2_1_38_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_jackson2_1_38_0",
+              "sha256": "e6504a82425fcc2168a4ca4175138ddcc085168daed8cdedb86d8f6fdc296e1e",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar",
+                "https://maven.google.com/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.38.0/google-http-client-jackson2-1.38.0.jar"
+            }
+          },
+          "io_netty_netty_transport_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_4_1_72_Final",
+              "sha256": "c5fb68e9a65b6e8a516adfcb9fa323479ee7b4d9449d8a529d2ecab3d3711d5a",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.jar"
+            }
+          },
+          "io_netty_netty_codec_http2_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http2_4_1_72_Final",
+              "sha256": "c89a70500f59e8563e720aaa808263a514bd9e2bd91ba84eab8c2ccb45f234b2",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.72.Final/netty-codec-http2-4.1.72.Final.jar"
+            }
+          },
+          "io_opencensus_opencensus_api_0_24_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_api_0_24_0",
+              "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
+                "https://maven.google.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar"
+            }
+          },
+          "rules_jvm_external_deps": {
+            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "ruleClassName": "pinned_coursier_fetch",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~rules_jvm_external_deps",
+              "repositories": [
+                "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
+              ],
+              "artifacts": [
+                "{\"artifact\":\"google-cloud-core\",\"group\":\"com.google.cloud\",\"version\":\"1.93.10\"}",
+                "{\"artifact\":\"google-cloud-storage\",\"group\":\"com.google.cloud\",\"version\":\"1.113.4\"}",
+                "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.9.0\"}",
+                "{\"artifact\":\"maven-artifact\",\"group\":\"org.apache.maven\",\"version\":\"3.8.6\"}",
+                "{\"artifact\":\"s3\",\"group\":\"software.amazon.awssdk\",\"version\":\"2.17.183\"}"
+              ],
+              "fetch_sources": true,
+              "fetch_javadoc": false,
+              "generate_compat_repositories": false,
+              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "override_targets": {},
+              "strict_visibility": false,
+              "strict_visibility_value": [
+                "@@//visibility:private"
+              ],
+              "jetify": false,
+              "jetify_include_list": [
+                "*"
+              ],
+              "additional_netrc_lines": [],
+              "fail_if_repin_required": false,
+              "use_starlark_android_rules": false,
+              "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl",
+              "duplicate_version_warning": "warn"
+            }
+          },
+          "org_threeten_threetenbp_1_5_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_threeten_threetenbp_1_5_0",
+              "sha256": "dcf9c0f940739f2a825cd8626ff27113459a2f6eb18797c7152f93fff69c264f",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar",
+                "https://maven.google.com/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/threeten/threetenbp/1.5.0/threetenbp-1.5.0.jar"
+            }
+          },
+          "software_amazon_awssdk_http_client_spi_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_http_client_spi_2_17_183",
+              "sha256": "fe7120f175df9e47ebcc5d946d7f40110faf2ba0a30364f3b935d5b8a5a6c3c6",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/2.17.183/http-client-spi-2.17.183.jar"
+            }
+          },
+          "software_amazon_awssdk_third_party_jackson_core_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_third_party_jackson_core_2_17_183",
+              "sha256": "1bc27c9960993c20e1ab058012dd1ae04c875eec9f0f08f2b2ca41e578dee9a4",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/2.17.183/third-party-jackson-core-2.17.183.jar"
+            }
+          },
+          "software_amazon_eventstream_eventstream_1_0_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_eventstream_eventstream_1_0_1",
+              "sha256": "0c37d8e696117f02c302191b8110b0d0eb20fa412fce34c3a269ec73c16ce822",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar",
+                "https://maven.google.com/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/eventstream/eventstream/1.0.1/eventstream-1.0.1.jar"
+            }
+          },
+          "com_google_oauth_client_google_oauth_client_1_31_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_oauth_client_google_oauth_client_1_31_1",
+              "sha256": "4ed4e2948251dbda66ce251bd7f3b32cd8570055e5cdb165a3c7aea8f43da0ff",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar",
+                "https://maven.google.com/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client/1.31.1/google-oauth-client-1.31.1.jar"
+            }
+          },
+          "maven": {
+            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "ruleClassName": "coursier_fetch",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~maven",
+              "repositories": [
+                "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
+              ],
+              "artifacts": [
+                "{\"artifact\":\"jsr305\",\"group\":\"com.google.code.findbugs\",\"version\":\"3.0.2\"}",
+                "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.8.9\"}",
+                "{\"artifact\":\"error_prone_annotations\",\"group\":\"com.google.errorprone\",\"version\":\"2.3.2\"}",
+                "{\"artifact\":\"j2objc-annotations\",\"group\":\"com.google.j2objc\",\"version\":\"1.3\"}",
+                "{\"artifact\":\"guava\",\"group\":\"com.google.guava\",\"version\":\"31.1-jre\"}",
+                "{\"artifact\":\"guava-testlib\",\"group\":\"com.google.guava\",\"version\":\"31.1-jre\"}",
+                "{\"artifact\":\"truth\",\"group\":\"com.google.truth\",\"version\":\"1.1.2\"}",
+                "{\"artifact\":\"junit\",\"group\":\"junit\",\"version\":\"4.13.2\"}",
+                "{\"artifact\":\"mockito-core\",\"group\":\"org.mockito\",\"version\":\"4.3.1\"}"
+              ],
+              "fail_on_missing_checksum": true,
+              "fetch_sources": true,
+              "fetch_javadoc": false,
+              "use_unsafe_shared_cache": false,
+              "excluded_artifacts": [],
+              "generate_compat_repositories": false,
+              "version_conflict_policy": "default",
+              "override_targets": {},
+              "strict_visibility": false,
+              "strict_visibility_value": [
+                "@@//visibility:private"
+              ],
+              "resolve_timeout": 600,
+              "jetify": false,
+              "jetify_include_list": [
+                "*"
+              ],
+              "use_starlark_android_rules": false,
+              "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl",
+              "duplicate_version_warning": "warn"
+            }
+          },
+          "software_amazon_awssdk_aws_xml_protocol_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_xml_protocol_2_17_183",
+              "sha256": "566bba05d49256fa6994efd68fa625ae05a62ea45ee74bb9130d20ea20988363",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/2.17.183/aws-xml-protocol-2.17.183.jar"
+            }
+          },
+          "software_amazon_awssdk_annotations_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_annotations_2_17_183",
+              "sha256": "8e4d72361ca805a0bd8bbd9017cd7ff77c8d170f2dd469c7d52d5653330bb3fd",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/annotations/2.17.183/annotations-2.17.183.jar"
+            }
+          },
+          "software_amazon_awssdk_netty_nio_client_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_netty_nio_client_2_17_183",
+              "sha256": "a6d356f364c56d7b90006b0b7e503b8630010993a5587ce42e74b10b8dca2238",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/2.17.183/netty-nio-client-2.17.183.jar"
+            }
+          },
+          "com_google_auto_value_auto_value_annotations_1_7_4": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_auto_value_auto_value_annotations_1_7_4",
+              "sha256": "fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar",
+                "https://maven.google.com/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.4/auto-value-annotations-1.7.4.jar"
+            }
+          },
+          "io_netty_netty_transport_native_unix_common_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_native_unix_common_4_1_72_Final",
+              "sha256": "6f8f1cc29b5a234eeee9439a63eb3f03a5994aa540ff555cb0b2c88cefaf6877",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.72.Final/netty-transport-native-unix-common-4.1.72.Final.jar"
+            }
+          },
+          "io_opencensus_opencensus_contrib_http_util_0_24_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_opencensus_opencensus_contrib_http_util_0_24_0",
+              "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
+                "https://maven.google.com/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar"
+            }
+          },
+          "com_fasterxml_jackson_core_jackson_core_2_11_3": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_fasterxml_jackson_core_jackson_core_2_11_3",
+              "sha256": "78cd0a6b936232e06dd3e38da8a0345348a09cd1ff9c4d844c6ee72c75cfc402",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar",
+                "https://maven.google.com/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.3/jackson-core-2.11.3.jar"
+            }
+          },
+          "com_google_cloud_google_cloud_core_1_93_10": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_1_93_10",
+              "sha256": "832d74eca66f4601e162a8460d6f59f50d1d23f93c18b02654423b6b0d67c6ea",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar",
+                "https://maven.google.com/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-core/1.93.10/google-cloud-core-1.93.10.jar"
+            }
+          },
+          "com_google_auth_google_auth_library_credentials_0_22_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_auth_google_auth_library_credentials_0_22_0",
+              "sha256": "42c76031276de5b520909e9faf88c5b3c9a722d69ee9cfdafedb1c52c355dfc5",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar",
+                "https://maven.google.com/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.22.0/google-auth-library-credentials-0.22.0.jar"
+            }
+          },
+          "com_google_guava_guava_30_0_android": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_guava_30_0_android",
+              "sha256": "3345c82c2cc70a0053e8db9031edc6d71625ef0dea6a2c8f5ebd6cb76d2bf843",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar",
+                "https://maven.google.com/com/google/guava/guava/30.0-android/guava-30.0-android.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/30.0-android/guava-30.0-android.jar"
+            }
+          },
+          "software_amazon_awssdk_profiles_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_profiles_2_17_183",
+              "sha256": "78833b32fde3f1c5320373b9ea955c1bbc28f2c904010791c4784e610193ee56",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/profiles/2.17.183/profiles-2.17.183.jar"
+            }
+          },
+          "org_apache_httpcomponents_httpcore_4_4_13": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpcore_4_4_13",
+              "sha256": "e06e89d40943245fcfa39ec537cdbfce3762aecde8f9c597780d2b00c2b43424",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar",
+                "https://maven.google.com/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar"
+            }
+          },
+          "io_netty_netty_common_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_common_4_1_72_Final",
+              "sha256": "8adb4c291260ceb2859a68c49f0adeed36bf49587608e2b81ecff6aaf06025e9",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-common/4.1.72.Final/netty-common-4.1.72.Final.jar"
+            }
+          },
+          "io_netty_netty_transport_classes_epoll_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_transport_classes_epoll_4_1_72_Final",
+              "sha256": "e1528a9751c1285aa7beaf3a1eb0597151716426ce38598ac9bc0891209b9e68",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/4.1.72.Final/netty-transport-classes-epoll-4.1.72.Final.jar"
+            }
+          },
+          "com_google_cloud_google_cloud_core_http_1_93_10": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_cloud_google_cloud_core_http_1_93_10",
+              "sha256": "81ac67c14c7c4244d2b7db2607ad352416aca8d3bb2adf338964e8fea25b1b3c",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar",
+                "https://maven.google.com/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/cloud/google-cloud-core-http/1.93.10/google-cloud-core-http-1.93.10.jar"
+            }
+          },
+          "software_amazon_awssdk_utils_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_utils_2_17_183",
+              "sha256": "7bd849bb5aa71bfdf6b849643736ecab3a7b3f204795804eefe5754104231ec6",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/utils/2.17.183/utils-2.17.183.jar"
+            }
+          },
+          "org_apache_commons_commons_lang3_3_8_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_apache_commons_commons_lang3_3_8_1",
+              "sha256": "dac807f65b07698ff39b1b07bfef3d87ae3fd46d91bbf8a2bc02b2a831616f68",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar",
+                "https://maven.google.com/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar"
+            }
+          },
+          "software_amazon_awssdk_aws_core_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_core_2_17_183",
+              "sha256": "bccbdbea689a665a702ff19828662d87fb7fe81529df13f02ef1e4c474ea9f93",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-core/2.17.183/aws-core-2.17.183.jar"
+            }
+          },
+          "com_google_api_gax_httpjson_0_77_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_gax_httpjson_0_77_0",
+              "sha256": "fd4dae47fa016d3b26e8d90b67ddc6c23c4c06e8bcdf085c70310ab7ef324bd6",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar",
+                "https://maven.google.com/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api/gax-httpjson/0.77.0/gax-httpjson-0.77.0.jar"
+            }
+          },
+          "unpinned_rules_jvm_external_deps": {
+            "bzlFile": "@@rules_jvm_external~4.4.2//:coursier.bzl",
+            "ruleClassName": "coursier_fetch",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~unpinned_rules_jvm_external_deps",
+              "repositories": [
+                "{ \"repo_url\": \"https://repo1.maven.org/maven2\" }"
+              ],
+              "artifacts": [
+                "{\"artifact\":\"google-cloud-core\",\"group\":\"com.google.cloud\",\"version\":\"1.93.10\"}",
+                "{\"artifact\":\"google-cloud-storage\",\"group\":\"com.google.cloud\",\"version\":\"1.113.4\"}",
+                "{\"artifact\":\"gson\",\"group\":\"com.google.code.gson\",\"version\":\"2.9.0\"}",
+                "{\"artifact\":\"maven-artifact\",\"group\":\"org.apache.maven\",\"version\":\"3.8.6\"}",
+                "{\"artifact\":\"s3\",\"group\":\"software.amazon.awssdk\",\"version\":\"2.17.183\"}"
+              ],
+              "fail_on_missing_checksum": true,
+              "fetch_sources": true,
+              "fetch_javadoc": false,
+              "use_unsafe_shared_cache": false,
+              "excluded_artifacts": [],
+              "generate_compat_repositories": false,
+              "version_conflict_policy": "default",
+              "override_targets": {},
+              "strict_visibility": false,
+              "strict_visibility_value": [
+                "@@//visibility:private"
+              ],
+              "maven_install_json": "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json",
+              "resolve_timeout": 600,
+              "jetify": false,
+              "jetify_include_list": [
+                "*"
+              ],
+              "use_starlark_android_rules": false,
+              "aar_import_bzl_label": "@build_bazel_rules_android//android:rules.bzl",
+              "duplicate_version_warning": "warn"
+            }
+          },
+          "software_amazon_awssdk_regions_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_regions_2_17_183",
+              "sha256": "d3079395f3ffc07d04ffcce16fca29fb5968197f6e9ea3dbff6be297102b40a5",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/regions/2.17.183/regions-2.17.183.jar"
+            }
+          },
+          "com_google_errorprone_error_prone_annotations_2_4_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_errorprone_error_prone_annotations_2_4_0",
+              "sha256": "5f2a0648230a662e8be049df308d583d7369f13af683e44ddf5829b6d741a228",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar",
+                "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0.jar"
+            }
+          },
+          "io_netty_netty_handler_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_handler_4_1_72_Final",
+              "sha256": "9cb6012af7e06361d738ac4e3bdc49a158f8cf87d9dee0f2744056b7d99c28d5",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-handler/4.1.72.Final/netty-handler-4.1.72.Final.jar"
+            }
+          },
+          "software_amazon_awssdk_aws_query_protocol_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_aws_query_protocol_2_17_183",
+              "sha256": "4dace03c76f80f3dec920cb3dedb2a95984c4366ef4fda728660cb90bed74848",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/2.17.183/aws-query-protocol-2.17.183.jar"
+            }
+          },
+          "io_netty_netty_codec_http_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_http_4_1_72_Final",
+              "sha256": "fa6fec88010bfaf6a7415b5364671b6b18ffb6b35a986ab97b423fd8c3a0174b",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.72.Final/netty-codec-http-4.1.72.Final.jar"
+            }
+          },
+          "io_netty_netty_resolver_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_resolver_4_1_72_Final",
+              "sha256": "6474598aab7cc9d8d6cfa06c05bd1b19adbf7f8451dbdd73070b33a6c60b1b90",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.jar"
+            }
+          },
+          "software_amazon_awssdk_protocol_core_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_protocol_core_2_17_183",
+              "sha256": "10e7c4faa1f05e2d73055d0390dbd0bb6450e2e6cb85beda051b1e4693c826ce",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/2.17.183/protocol-core-2.17.183.jar"
+            }
+          },
+          "org_checkerframework_checker_compat_qual_2_5_5": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_checkerframework_checker_compat_qual_2_5_5",
+              "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
+                "https://maven.google.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar"
+            }
+          },
+          "com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_apis_google_api_services_storage_v1_rev20200927_1_30_10",
+              "sha256": "52d26a9d105f8d8a0850807285f307a76cea8f3e0cdb2be4d3b15b1adfa77351",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar",
+                "https://maven.google.com/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/apis/google-api-services-storage/v1-rev20200927-1.30.10/google-api-services-storage-v1-rev20200927-1.30.10.jar"
+            }
+          },
+          "com_google_api_client_google_api_client_1_30_11": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_api_client_google_api_client_1_30_11",
+              "sha256": "ee6f97865cc7de6c7c80955c3f37372cf3887bd75e4fc06f1058a6b4cd9bf4da",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar",
+                "https://maven.google.com/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/api-client/google-api-client/1.30.11/google-api-client-1.30.11.jar"
+            }
+          },
+          "software_amazon_awssdk_s3_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_s3_2_17_183",
+              "sha256": "ab073b91107a9e4ed9f030314077d137fe627e055ad895fabb036980a050e360",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/s3/2.17.183/s3-2.17.183.jar"
+            }
+          },
+          "org_apache_maven_maven_artifact_3_8_6": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_apache_maven_maven_artifact_3_8_6",
+              "sha256": "de22a4c6f54fe31276a823b1bbd3adfd6823529e732f431b5eff0852c2b9252b",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar",
+                "https://maven.google.com/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/maven/maven-artifact/3.8.6/maven-artifact-3.8.6.jar"
+            }
+          },
+          "org_apache_httpcomponents_httpclient_4_5_13": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_apache_httpcomponents_httpclient_4_5_13",
+              "sha256": "6fe9026a566c6a5001608cf3fc32196641f6c1e5e1986d1037ccdbd5f31ef743",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar",
+                "https://maven.google.com/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar"
+            }
+          },
+          "com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava",
+              "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+                "https://maven.google.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
+            }
+          },
+          "com_google_http_client_google_http_client_1_38_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_http_client_google_http_client_1_38_0",
+              "sha256": "411f4a42519b6b78bdc0fcfdf74c9edcef0ee97afa4a667abe04045a508d6302",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar",
+                "https://maven.google.com/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client/1.38.0/google-http-client-1.38.0.jar"
+            }
+          },
+          "software_amazon_awssdk_apache_client_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_apache_client_2_17_183",
+              "sha256": "78ceae502fce6a97bbe5ff8f6a010a52ab7ea3ae66cb1a4122e18185fce45022",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/apache-client/2.17.183/apache-client-2.17.183.jar"
+            }
+          },
+          "software_amazon_awssdk_arns_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_arns_2_17_183",
+              "sha256": "659a185e191d66c71de81209490e66abeaccae208ea7b2831a738670823447aa",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/arns/2.17.183/arns-2.17.183.jar"
+            }
+          },
+          "com_google_code_gson_gson_2_9_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_code_gson_gson_2_9_0",
+              "sha256": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar",
+                "https://maven.google.com/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar"
+            }
+          },
+          "io_netty_netty_buffer_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_buffer_4_1_72_Final",
+              "sha256": "568ff7cd9d8e2284ec980730c88924f686642929f8f219a74518b4e64755f3a1",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-buffer/4.1.72.Final/netty-buffer-4.1.72.Final.jar"
+            }
+          },
+          "com_google_code_findbugs_jsr305_3_0_2": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_code_findbugs_jsr305_3_0_2",
+              "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+                "https://maven.google.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+            }
+          },
+          "commons_codec_commons_codec_1_11": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~commons_codec_commons_codec_1_11",
+              "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d",
+              "urls": [
+                "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
+                "https://maven.google.com/commons-codec/commons-codec/1.11/commons-codec-1.11.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar"
+            }
+          },
+          "software_amazon_awssdk_auth_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_auth_2_17_183",
+              "sha256": "8820c6636e5c14efc29399fb5565ce50212b0c1f4ed720a025a2c402d54e0978",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/auth/2.17.183/auth-2.17.183.jar"
+            }
+          },
+          "software_amazon_awssdk_json_utils_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_json_utils_2_17_183",
+              "sha256": "51ab7f550adc06afcb49f5270cdf690f1bfaaee243abaa5d978095e2a1e4e1a5",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/json-utils/2.17.183/json-utils-2.17.183.jar"
+            }
+          },
+          "org_codehaus_plexus_plexus_utils_3_3_1": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~org_codehaus_plexus_plexus_utils_3_3_1",
+              "sha256": "4b570fcdbe5a894f249d2eb9b929358a9c88c3e548d227a80010461930222f2a",
+              "urls": [
+                "https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar",
+                "https://maven.google.com/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.3.1/plexus-utils-3.3.1.jar"
+            }
+          },
+          "com_google_protobuf_protobuf_java_util_3_13_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_util_3_13_0",
+              "sha256": "d9de66b8c9445905dfa7064f6d5213d47ce88a20d34e21d83c4a94a229e14e62",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar",
+                "https://maven.google.com/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.13.0/protobuf-java-util-3.13.0.jar"
+            }
+          },
+          "io_netty_netty_codec_4_1_72_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_codec_4_1_72_Final",
+              "sha256": "5d8591ca271a1e9c224e8de3873aa9936acb581ee0db514e7dc18523df36d16c",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar",
+                "https://maven.google.com/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec/4.1.72.Final/netty-codec-4.1.72.Final.jar"
+            }
+          },
+          "com_google_protobuf_protobuf_java_3_13_0": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~com_google_protobuf_protobuf_java_3_13_0",
+              "sha256": "97d5b2758408690c0dc276238707492a0b6a4d71206311b6c442cdc26c5973ff",
+              "urls": [
+                "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar",
+                "https://maven.google.com/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.13.0/protobuf-java-3.13.0.jar"
+            }
+          },
+          "io_netty_netty_tcnative_classes_2_0_46_Final": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~io_netty_netty_tcnative_classes_2_0_46_Final",
+              "sha256": "d3ec888dcc4ac7915bf88b417c5e04fd354f4311032a748a6882df09347eed9a",
+              "urls": [
+                "https://repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar",
+                "https://maven.google.com/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.jar"
+            }
+          },
+          "software_amazon_awssdk_sdk_core_2_17_183": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_file",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~maven~software_amazon_awssdk_sdk_core_2_17_183",
+              "sha256": "677e9cc90fdd82c1f40f97b99cb115b13ad6c3f58beeeab1c061af6954d64c77",
+              "urls": [
+                "https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar",
+                "https://maven.google.com/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar"
+              ],
+              "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar"
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~4.4.2",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_jvm_external~4.4.2",
+            "rules_jvm_external",
+            "rules_jvm_external~4.4.2"
+          ]
+        ]
+      }
+    },
+    "@@rules_jvm_external~4.4.2//:non-module-deps.bzl%non_module_deps": {
+      "general": {
+        "bzlTransitiveDigest": "Td87llNSs5GZ/kAxu6pAqfEXBZ3HdkSqRmUzvIfbFWg=",
+        "accumulatedFileDigests": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "io_bazel_rules_kotlin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_jvm_external~4.4.2~non_module_deps~io_bazel_rules_kotlin",
+              "sha256": "946747acdbeae799b085d12b240ec346f775ac65236dfcf18aa0cd7300f6de78",
+              "urls": [
+                "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-2/rules_kotlin_release.tgz"
+              ]
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~4.4.2",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
+      }
+    },
+    "@@rules_python~0.22.1//python/extensions:python.bzl%python": {
+      "general": {
+        "bzlTransitiveDigest": "NGtTMUqs2EEJeXu6mXdpmYRrQGZiJV7S3mxeod3Hm7M=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
-          "pypi__pkginfo": {
+          "pythons_hub": {
+            "bzlFile": "@@rules_python~0.22.1//python/extensions/private:interpreter_hub.bzl",
+            "ruleClassName": "hub_repo",
+            "attributes": {
+              "name": "rules_python~0.22.1~python~pythons_hub",
+              "toolchains": []
+            }
+          }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~0.22.1",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.22.1",
+            "rules_python",
+            "rules_python~0.22.1"
+          ]
+        ]
+      }
+    },
+    "@@rules_python~0.22.1//python/extensions/private:internal_deps.bzl%internal_deps": {
+      "general": {
+        "bzlTransitiveDigest": "5c1tkdV6L67SQOZWc9MUoS5ZnsSxeDKsh9urs01jZSM=",
+        "accumulatedFileDigests": {},
+        "envVariables": {},
+        "generatedRepoSpecs": {
+          "pypi__coverage_cp39_aarch64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_aarch64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/63/e9/f23e8664ec4032d7802a1cf920853196bcbdce7b56408e3efe1b2da08f3c/coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp38_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_aarch64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/40/3b/cd68cb278c4966df00158811ec1e357b9a7d132790c240fc65da57e10013/coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__pip_tools": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__pip_tools",
+              "url": "https://files.pythonhosted.org/packages/5e/e8/f6d7d1847c7351048da870417724ace5c4506e816b38db02f4d7c675c189/pip_tools-6.12.1-py3-none-any.whl",
+              "sha256": "f0c0c0ec57b58250afce458e2e6058b1f30a4263db895b7d72fd6311bf1dc6f7",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp310_x86_64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_x86_64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/3c/7d/d5211ea782b193ab8064b06dc0cc042cf1a4ca9c93a530071459172c550f/coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp311_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_x86_64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/50/cf/455930004231fa87efe8be06d13512f34e070ddfee8b8bf5a050cdc47ab3/coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp310_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_aarch64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/15/b0/3639d84ee8a900da0cf6450ab46e22517e4688b6cec0ba8ab6f8166103a2/coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp39_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_aarch64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/18/95/27f80dcd8273171b781a19d109aeaed7f13d78ef6d1e2f7134a5826fd1b4/coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp310_aarch64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_aarch64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/89/a2/cbf599e50bb4be416e0408c4cf523c354c51d7da39935461a9687e039481/coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl"
+              ]
+            }
+          },
+          "pypi__pip": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__pip",
+              "url": "https://files.pythonhosted.org/packages/09/bd/2410905c76ee14c62baf69e3f4aa780226c1bbfc9485731ad018e35b0cb5/pip-22.3.1-py3-none-any.whl",
+              "sha256": "908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp38_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_x86_64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/05/63/a789b462075395d34f8152229dccf92b25ca73eac05b3f6cd75fa5017095/coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp311_x86_64-unknown-linux-gnu": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__pkginfo",
-              "url": "https://files.pythonhosted.org/packages/77/83/1ef010f7c4563e218854809c0dff9548de65ebec930921dedf6ee5981f27/pkginfo-1.7.1-py2.py3-none-any.whl",
-              "sha256": "37ecd857b47e5f55949c41ed061eb51a0bee97a87c969219d144c0e023982779",
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_x86_64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "urls": [
+                "https://files.pythonhosted.org/packages/6a/63/8e82513b7e4a1b8d887b4e85c1c2b6c9b754a581b187c0b084f3330ac479/coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__tomli": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__tomli",
+              "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl",
+              "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp39_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_x86_64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/ea/52/c08080405329326a7ff16c0dfdb4feefaa8edd7446413df67386fe1bbfe0/coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl"
+              ]
             }
           },
           "pypi__wheel": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__wheel",
-              "url": "https://files.pythonhosted.org/packages/65/63/39d04c74222770ed1589c0eaba06c05891801219272420b40311cd60c880/wheel-0.36.2-py2.py3-none-any.whl",
-              "sha256": "78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e",
+              "name": "rules_python~0.22.1~internal_deps~pypi__wheel",
+              "url": "https://files.pythonhosted.org/packages/bd/7c/d38a0b30ce22fc26ed7dbc087c6d00851fb3395e9d0dac40bec1f905030c/wheel-0.38.4-py3-none-any.whl",
+              "sha256": "b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp311_aarch64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp311_aarch64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "urls": [
+                "https://files.pythonhosted.org/packages/36/f3/5cbd79cf4cd059c80b59104aca33b8d05af4ad5bf5b1547645ecee716378/coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+              ]
             }
           },
           "pypi__click": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__click",
+              "name": "rules_python~0.22.1~internal_deps~pypi__click",
               "url": "https://files.pythonhosted.org/packages/76/0a/b6c5f311e32aeb3b406e03c079ade51e905ea630fc19d1262a46249c1c86/click-8.0.1-py3-none-any.whl",
               "sha256": "fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
-          "pypi__pip": {
+          "pypi__coverage_cp39_x86_64-unknown-linux-gnu": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__pip",
-              "url": "https://files.pythonhosted.org/packages/47/ca/f0d790b6e18b3a6f3bd5e80c2ee4edbb5807286c21cdd0862ca933f751dd/pip-21.1.3-py3-none-any.whl",
-              "sha256": "78cb760711fedc073246543801c84dc5377affead832e103ad0211f99303a204",
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp39_x86_64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "urls": [
+                "https://files.pythonhosted.org/packages/6b/f2/919f0fdc93d3991ca074894402074d847be8ac1e1d78e7e9e1c371b69a6f/coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
             }
           },
-          "pypi__pip_tools": {
+          "pypi__importlib_metadata": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__importlib_metadata",
+              "url": "https://files.pythonhosted.org/packages/d7/31/74dcb59a601b95fce3b0334e8fc9db758f78e43075f22aeb3677dfb19f4c/importlib_metadata-1.4.0-py2.py3-none-any.whl",
+              "sha256": "bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__pep517": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__pep517",
+              "url": "https://files.pythonhosted.org/packages/ee/2f/ef63e64e9429111e73d3d6cbee80591672d16f2725e648ebc52096f3d323/pep517-0.13.0-py3-none-any.whl",
+              "sha256": "4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp38_x86_64-unknown-linux-gnu": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_x86_64-unknown-linux-gnu",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/bd/a0/e263b115808226fdb2658f1887808c06ac3f1b579ef5dda02309e0d54459/coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__coverage_cp38_aarch64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp38_aarch64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/07/82/79fa21ceca9a9b091eb3c67e27eb648dade27b2c9e1eb23af47232a2a365/coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl"
+              ]
+            }
+          },
+          "pypi__packaging": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__pip_tools",
-              "url": "https://files.pythonhosted.org/packages/6d/16/75d65bdccd48bb59a08e2bf167b01d8532f65604270d0a292f0f16b7b022/pip_tools-5.5.0-py2.py3-none-any.whl",
-              "sha256": "10841c1e56c234d610d0466447685b9ea4ee4a2c274f858c0ef3c33d9bd0d985",
+              "name": "rules_python~0.22.1~internal_deps~pypi__packaging",
+              "url": "https://files.pythonhosted.org/packages/8f/7b/42582927d281d7cb035609cd3a543ffac89b74f3f4ee8e1c50914bcb57eb/packaging-22.0-py3-none-any.whl",
+              "sha256": "957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           },
           "pypi__setuptools": {
             "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
             "ruleClassName": "http_archive",
             "attributes": {
-              "name": "rules_python~0.4.0~pip_install~pypi__setuptools",
-              "url": "https://files.pythonhosted.org/packages/a2/e1/902fbc2f61ad6243cd3d57ffa195a9eb123021ec912ec5d811acf54a39f8/setuptools-57.1.0-py3-none-any.whl",
-              "sha256": "ddae4c1b9220daf1e32ba9d4e3714df6019c5b583755559be84ff8199f7e1fe3",
+              "name": "rules_python~0.22.1~internal_deps~pypi__setuptools",
+              "url": "https://files.pythonhosted.org/packages/7c/5b/3d92b9f0f7ca1645cba48c080b54fe7d8b1033a4e5720091d1631c4266db/setuptools-60.10.0-py3-none-any.whl",
+              "sha256": "782ef48d58982ddb49920c11a0c5c9c0b02e7d7d1c2ad0aa44e1a1e133051c96",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__zipp": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__zipp",
+              "url": "https://files.pythonhosted.org/packages/f4/50/cc72c5bcd48f6e98219fc4a88a5227e9e28b81637a99c49feba1d51f4d50/zipp-1.0.0-py2.py3-none-any.whl",
+              "sha256": "8dda78f06bd1674bd8720df8a50bb47b6e1233c503a4eed8e7810686bde37656",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__colorama": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__colorama",
+              "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",
+              "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__build": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__build",
+              "url": "https://files.pythonhosted.org/packages/03/97/f58c723ff036a8d8b4d3115377c0a37ed05c1f68dd9a0d66dab5e82c5c1c/build-0.9.0-py3-none-any.whl",
+              "sha256": "38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69",
               "type": "zip",
-              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__coverage_cp310_x86_64-apple-darwin": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__coverage_cp310_x86_64-apple-darwin",
+              "build_file_content": "\nfilegroup(\n    name = \"coverage\",\n    srcs = [\"coverage/__main__.py\"],\n    data = glob([\"coverage/*.py\", \"coverage/**/*.py\", \"coverage/*.so\"]),\n    visibility = [\"//visibility:public\"],\n)\n    ",
+              "patch_args": [
+                "-p1"
+              ],
+              "patches": [
+                "@@rules_python~0.22.1//python/private:coverage.patch"
+              ],
+              "sha256": "ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53",
+              "type": "zip",
+              "urls": [
+                "https://files.pythonhosted.org/packages/c4/8d/5ec7d08f4601d2d792563fe31db5e9322c306848fec1e65ec8885927f739/coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl"
+              ]
+            }
+          },
+          "pypi__installer": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__installer",
+              "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl",
+              "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
+            }
+          },
+          "pypi__more_itertools": {
+            "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl",
+            "ruleClassName": "http_archive",
+            "attributes": {
+              "name": "rules_python~0.22.1~internal_deps~pypi__more_itertools",
+              "url": "https://files.pythonhosted.org/packages/bd/3f/c4b3dbd315e248f84c388bd4a72b131a29f123ecacc37ffb2b3834546e42/more_itertools-8.13.0-py3-none-any.whl",
+              "sha256": "c5122bffc5f104d37c1626b8615b511f3427aa5389b94d61e5ef8236bfbc3ddb",
+              "type": "zip",
+              "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\n        # These entries include those put into user-installed dependencies by\n        # data_exclude in /python/pip_install/tools/bazel.py\n        # to avoid non-determinism following pip install's behavior.\n        \"**/*.py\",\n        \"**/*.pyc\",\n        \"**/* *\",\n        \"**/*.dist-info/RECORD\",\n        \"BUILD\",\n        \"WORKSPACE\",\n    ]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~0.22.1",
+            "bazel_skylib",
+            "bazel_skylib~1.3.0"
+          ],
+          [
+            "rules_python~0.22.1",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.22.1",
+            "rules_python",
+            "rules_python~0.22.1"
+          ]
+        ]
       }
     }
   }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
index eb66b676836b..b3b161db42f5 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix
@@ -43,15 +43,15 @@
   # 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
+, version ? "7.0.2",
 }:
 
 let
-  version = "7.0.0";
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-R35U9jdAAfQ5qUcbod6deCTa8SnblVEISezF4ZzogXA=";
+    hash = "sha256-3qK5BXXUPvPkHEAvZMJIGETsvwtA+FSLdaIEpNUE4DU=";
   };
 
   # Use builtins.fetchurl to avoid IFD, in particular on hydra
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
index 399b8f72d3e2..6ceb81830218 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
+++ b/nixpkgs/pkgs/development/tools/build-managers/bazel/bazel_7/protobuf-test.MODULE.bazel.lock
@@ -937,12 +937,19 @@
               "name": "apple_support~1.5.0~apple_cc_configure_extension~local_config_apple_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "apple_support~1.5.0",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "@@bazel_tools//tools/android:android_extensions.bzl%remote_android_tools_extensions": {
       "general": {
-        "bzlTransitiveDigest": "iz3RFYDcsjupaT10sdSPAhA44WL3eDYkTEnYThllj1w=",
+        "bzlTransitiveDigest": "4x/FXzwoadac6uV9ItZ4eGOyCculGHHrKUhLFNWo3lA=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -964,12 +971,13 @@
               "url": "https://maven.google.com/com/android/tools/r8/8.1.56/r8-8.1.56.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/cpp:cc_configure.bzl%cc_configure_extension": {
       "general": {
-        "bzlTransitiveDigest": "O9sf6ilKWU9Veed02jG9o2HM/xgV/UAyciuFBuxrFRY=",
+        "bzlTransitiveDigest": "mcsWHq3xORJexV5/4eCvNOLxFOQKV6eli3fkr+tEaqE=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -987,7 +995,14 @@
               "name": "bazel_tools~cc_configure_extension~local_config_cc_toolchains"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "bazel_tools",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "@@bazel_tools//tools/osx:xcode_configure.bzl%xcode_configure_extension": {
@@ -1005,7 +1020,8 @@
               "remote_xcode": ""
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/sh:sh_configure.bzl%sh_configure_extension": {
@@ -1021,12 +1037,13 @@
               "name": "bazel_tools~sh_configure_extension~local_config_sh"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@bazel_tools//tools/test:extensions.bzl%remote_coverage_tools_extension": {
       "general": {
-        "bzlTransitiveDigest": "cizrA62cv8WUgb0cCmx5B6PRijtr/I4TAWxg/4caNGU=",
+        "bzlTransitiveDigest": "y48q5zUu2oMiYv7yUyi7rFB0wt14eqiF/RQcWT6vP7I=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -1041,12 +1058,13 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": []
       }
     },
     "@@rules_java~7.1.0//java:extensions.bzl%toolchains": {
       "general": {
-        "bzlTransitiveDigest": "iUIRqCK7tkhvcDJCAfPPqSd06IHG0a8HQD0xeQyVAqw=",
+        "bzlTransitiveDigest": "D02GmifxnV/IhYgspsJMDZ/aE8HxAjXgek5gi6FSto4=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -1581,12 +1599,24 @@
               "build_file": "\nconfig_setting(\n    name = \"prefix_version_setting\",\n    values = {\"java_runtime_version\": \"remotejdk_21\"},\n    visibility = [\"//visibility:private\"],\n)\nconfig_setting(\n    name = \"version_setting\",\n    values = {\"java_runtime_version\": \"21\"},\n    visibility = [\"//visibility:private\"],\n)\nalias(\n    name = \"version_or_prefix_version_setting\",\n    actual = select({\n        \":version_setting\": \":version_setting\",\n        \"//conditions:default\": \":prefix_version_setting\",\n    }),\n    visibility = [\"//visibility:private\"],\n)\ntoolchain(\n    name = \"toolchain\",\n    target_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\ntoolchain(\n    name = \"bootstrap_runtime_toolchain\",\n    # These constraints are not required for correctness, but prevent fetches of remote JDK for\n    # different architectures. As every Java compilation toolchain depends on a bootstrap runtime in\n    # the same configuration, this constraint will not result in toolchain resolution failures.\n    exec_compatible_with = [\"@platforms//os:windows\", \"@platforms//cpu:x86_64\"],\n    target_settings = [\":version_or_prefix_version_setting\"],\n    toolchain_type = \"@bazel_tools//tools/jdk:bootstrap_runtime_toolchain_type\",\n    toolchain = \"@remotejdk21_win//:jdk\",\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_java~7.1.0",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_java~7.1.0",
+            "remote_java_tools",
+            "rules_java~7.1.0~toolchains~remote_java_tools"
+          ]
+        ]
       }
     },
     "@@rules_jvm_external~4.4.2//:extensions.bzl%maven": {
       "general": {
-        "bzlTransitiveDigest": "SNZtnmBkSzitA86+iyWV+lsMoWqTaHkbJeV673xyy3k=",
+        "bzlTransitiveDigest": "vfN15bfa5VcQIt0lp3UZTznETp3NF8xw9pHYN+3Ma6A=",
         "accumulatedFileDigests": {
           "@@rules_jvm_external~4.4.2//:rules_jvm_external_deps_install.json": "10442a5ae27d9ff4c2003e5ab71643bf0d8b48dcf968b4173fa274c3232a8c06"
         },
@@ -2668,12 +2698,24 @@
               "downloaded_file_path": "v1/https/repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/2.17.183/sdk-core-2.17.183.jar"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~4.4.2",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_jvm_external~4.4.2",
+            "rules_jvm_external",
+            "rules_jvm_external~4.4.2"
+          ]
+        ]
       }
     },
     "@@rules_jvm_external~4.4.2//:non-module-deps.bzl%non_module_deps": {
       "general": {
-        "bzlTransitiveDigest": "/rh2kt+7d77UiyuaTMepsRWJdj6Aot4FxGP6oW8S+U0=",
+        "bzlTransitiveDigest": "zXwz7xFBNBig3QRyd5WAZU3y/6fZvd6jnP6EkJIutS0=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2688,12 +2730,19 @@
               ]
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_jvm_external~4.4.2",
+            "bazel_tools",
+            "bazel_tools"
+          ]
+        ]
       }
     },
     "@@rules_python~0.10.2//python:extensions.bzl%pip_install": {
       "general": {
-        "bzlTransitiveDigest": "CBgAHij2PzinIkeOkoRJcllj6whJIQ5eOHaHNfKikpU=",
+        "bzlTransitiveDigest": "7AvdSiZR6OSZZhgJCJJYhrJbhi7tTP1EGFGu68oep00=",
         "accumulatedFileDigests": {},
         "envVariables": {},
         "generatedRepoSpecs": {
@@ -2796,7 +2845,19 @@
               "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:defs.bzl\", \"py_library\")\n\npy_library(\n    name = \"lib\",\n    srcs = glob([\"**/*.py\"]),\n    data = glob([\"**/*\"], exclude=[\"**/*.py\", \"**/* *\", \"BUILD\", \"WORKSPACE\"]),\n    # This makes this directory a top-level in the python import\n    # search path for anything that depends on this.\n    imports = [\".\"],\n)\n"
             }
           }
-        }
+        },
+        "recordedRepoMappingEntries": [
+          [
+            "rules_python~0.10.2",
+            "bazel_tools",
+            "bazel_tools"
+          ],
+          [
+            "rules_python~0.10.2",
+            "rules_python",
+            "rules_python~0.10.2"
+          ]
+        ]
       }
     }
   }
diff --git a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
index 362fce432ecd..e56344c40003 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.5.13";
+  version = "1.5.15";
 
   platform =
     if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
   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-OgOkkQ2uv1/mutlajfnbKe9YUtWCilaiWef6fZ7m0Qk="
-      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-Xp0FF8/5NQG14OhZgQ7PZTyDC5hNG9q5Qq5q3JlQxA0="
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-bC43GBIGxelSx++I1ElPd8twrr5nDaZHC2G0OCsx5xQ="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-lgWXdhDjE8lIzbUkWFJV3k+muUZaSpsc9n6PuuXv1hc="
       else throw "unsupported platform";
   };
 
diff --git a/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix b/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix
index b8dc4d27b2b9..b01cfc97b919 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix
+++ b/nixpkgs/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.20.1";
+  version = "1.21.4";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wAY5jifyjK5jp5nlrwt/Krp96in06SnayTKx8inrf0A=";
+    hash = "sha256-E+B5HBMmYZodZuVNkrwgvN6yeko1Qx4BeAeP6b9vu/0=";
   };
 
-  cargoHash = "sha256-qfDw+zmhk0M3gItiB7qfgiQCBRvOYBOirJFMyNRr714=";
+  cargoHash = "sha256-X7R0Tgn3Ekc3QkJiiLfQqUPf3tmf9oYoakUfoONEGZs=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json
index 20718c2c909f..f6a82483343f 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json
+++ b/nixpkgs/pkgs/development/tools/build-managers/scala-cli/sources.json
@@ -1,21 +1,21 @@
 {
-  "version": "1.1.1",
+  "version": "1.1.3",
   "assets": {
     "aarch64-darwin": {
       "asset": "scala-cli-aarch64-apple-darwin.gz",
-      "sha256": "1sxfwdgqzhxxhgj0kid10iay4sqq9ajndnncxl7jhh2ib59bavj2"
+      "sha256": "03rxllpnr93ms6j0fny7h2sym9pj1q8xrj0jmhapdjv582j4by82"
     },
     "aarch64-linux": {
       "asset": "scala-cli-aarch64-pc-linux.gz",
-      "sha256": "1z3xvyjs69iy0y59q2bwpa6blslhc1wdgwrm8xsfd0x8y0dg8kq2"
+      "sha256": "1msi2ylx2qf6k5gm1jj31qh9qbrxp5fydybzb25zclnpwwg1jlyc"
     },
     "x86_64-darwin": {
       "asset": "scala-cli-x86_64-apple-darwin.gz",
-      "sha256": "05xincadr0y5kly8j058pn41wa6qmqcf6p62s45h881y3ydghxch"
+      "sha256": "1sl3q59mb56g6795c8sm9kjpdgmpcdd23fxhaw49px2dvyryvxyy"
     },
     "x86_64-linux": {
       "asset": "scala-cli-x86_64-pc-linux.gz",
-      "sha256": "0knjkkyw7libqdzw770whrbwdcyr5qabnjw7ayps0k4kql43cyns"
+      "sha256": "17cp6mq0046y21pd7cadxj90aqkqnlz7zx7sdp7mmn3pzjcaynqc"
     }
   }
 }
diff --git a/nixpkgs/pkgs/development/tools/buildpack/default.nix b/nixpkgs/pkgs/development/tools/buildpack/default.nix
index 6cfe8ba348ea..f097695c69e1 100644
--- a/nixpkgs/pkgs/development/tools/buildpack/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildpack/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.33.1";
+  version = "0.33.2";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5pQ51T9QO0Lt2XFM8L2liFckxI+Y1x+S73lMF8Vv3A4=";
+    hash = "sha256-nKMgyMPPBon3DChkikNvb2s41osub+fdCeGFzXwhQJo=";
   };
 
-  vendorHash = "sha256-UCNpKBsdwWmllgIi/3Dr6lWJLOh6okYwOHmRfRW0iAQ=";
+  vendorHash = "sha256-/2GO99kfZTra7tJy90Y0nixNafiP65ZpDQnvEhOaGoA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 2890e157d0ed..b1098bd32129 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.110.3";
+  version = "0.112.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+OzBWooLpI4WnyBPRlwLGZVFrckXGeoDJilsEE00slk=";
+    sha256 = "sha256-3ad/2h9rw1BeMcr1lLEZp4fzJHfwl7y3/tTjmKKAvho=";
   };
 
-  vendorHash = "sha256-xJnBMSfYwx6uHuMjyR9IWGHwt3fNajDr6DW8o+J+lj8=";
+  vendorHash = "sha256-tHEbHExdbWeZm3+rwRYpRILyPYEYdeVJ91Qr/yNIKV8=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
index d1f1da881681..2121258f3c04 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
@@ -12,6 +12,6 @@ buildGoModule {
 
   meta = common.meta // {
     description = "Command line client for the Woodpecker Continuous Integration server";
-    mainProgram = "woodpecker-cli";
+    mainProgram = "woodpecker";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index bad183d98125..b8fb8b871c64 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -17,7 +17,19 @@ in
   postInstall = ''
     cd $out/bin
     for f in *; do
-      mv -- "$f" "woodpecker-$f"
+      if [ "$f" = cli ]; then
+        mv -- "$f" "woodpecker"
+        # Issue a warning to the user if they call the deprecated executable
+        cat >woodpecker-cli << EOF
+    #/bin/sh
+    echo 'WARNING: calling `woodpecker-cli` is deprecated, use `woodpecker` instead.' >&2
+    $out/bin/woodpecker "\$@"
+    EOF
+        chmod +x woodpecker-cli
+        patchShebangs woodpecker-cli
+      else
+        mv -- "$f" "woodpecker-$f"
+      fi
     done
     cd -
   '';
diff --git a/nixpkgs/pkgs/development/tools/ctlptl/default.nix b/nixpkgs/pkgs/development/tools/ctlptl/default.nix
index 576b3095922a..307167b9a2d8 100644
--- a/nixpkgs/pkgs/development/tools/ctlptl/default.nix
+++ b/nixpkgs/pkgs/development/tools/ctlptl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ctlptl";
-  version = "0.8.26";
+  version = "0.8.27";
 
   src = fetchFromGitHub {
     owner = "tilt-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Qi9fN66YLow8TO/4GmJBIcj8CnH7jbpyryjnMG6yp0U=";
+    hash = "sha256-4g5QfeAtPEUW7vwOwkJd8W3V6z1DxAmZngbrroCFr5M=";
   };
 
-  vendorHash = "sha256-gortoYTYGtvhM1XWVhI2bB+cKtbTADpKl5W9h1QSEPc=";
+  vendorHash = "sha256-DEUZbqHHYfjD5jGT5nn3UbWT1aODRsLailSorI/W6w4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/cue/default.nix b/nixpkgs/pkgs/development/tools/cue/default.nix
index 1afee9cd7551..ad89197fcf64 100644
--- a/nixpkgs/pkgs/development/tools/cue/default.nix
+++ b/nixpkgs/pkgs/development/tools/cue/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    hash = "sha256-L2KEOnUmQ6K+VtyJEha0LBWPVt+FqNh94gi3cMg82x0=";
+    hash = "sha256-x8DXAKrkqrZE6mxkIfjMhxZBnFbQnqWhmrvjrFjnQuc=";
   };
 
   vendorHash = "sha256-Eq51sydt2eu3pSCRjepvxpU01T0vr0axx9XEk34db28=";
diff --git a/nixpkgs/pkgs/development/tools/doc2go/default.nix b/nixpkgs/pkgs/development/tools/doc2go/default.nix
index 92a2e09ee446..fc2e2e8151c0 100644
--- a/nixpkgs/pkgs/development/tools/doc2go/default.nix
+++ b/nixpkgs/pkgs/development/tools/doc2go/default.nix
@@ -5,19 +5,21 @@
 
 buildGoModule rec {
   pname = "doc2go";
-  version = "0.5.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "abhinav";
     repo = "doc2go";
     rev = "v${version}";
-    hash = "sha256-CFqr1laPxKNhaluGmwW7apxLQqkAFKVznDKezH8gjx0=";
+    hash = "sha256-b4L20/9jm+bFGdNsHmcwSnzcmr3Il9XoV20284Ba8PU=";
   };
-  vendorHash = "sha256-2WvlH69iYqIA3d9aFVec8TZL+pMJItoNKSoDBL/NNyg=";
+  vendorHash = "sha256-d5ZRMFi7GIfDHsYRNvMnDdfnGhTM1sA0WDYD2aDoEd0=";
 
   ldflags = [ "-s" "-w" "-X main._version=${version}" ];
 
   subPackages = [ "." ];
+  # integration is it's own module
+  excludedPackages = [ "integration" ];
 
   checkFlags = [
     # needs to fetch additional go modules
diff --git a/nixpkgs/pkgs/development/tools/esbuild/default.nix b/nixpkgs/pkgs/development/tools/esbuild/default.nix
index 75f103dec6cb..246acd48bdf0 100644
--- a/nixpkgs/pkgs/development/tools/esbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    hash = "sha256-CJUBjDQAXSUFe37zYGbX6geeEk9goZ/aOalWDHPIZis=";
+    hash = "sha256-p8ScB1mFwcc+gqmVFV/17yExP6DYZxMbHDHEiWM7/Xs=";
   };
 
   vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/nixpkgs/pkgs/development/tools/fable/default.nix b/nixpkgs/pkgs/development/tools/fable/default.nix
index 10447afe20f3..6fc044fbc77a 100644
--- a/nixpkgs/pkgs/development/tools/fable/default.nix
+++ b/nixpkgs/pkgs/development/tools/fable/default.nix
@@ -2,9 +2,9 @@
 
 buildDotnetGlobalTool {
   pname = "fable";
-  version = "4.11.0";
+  version = "4.12.2";
 
-  nugetSha256 = "sha256-AOsCthGk4YiTcKjIdCE1nnADWLqfd80vPFMmo9YLGUA=";
+  nugetSha256 = "sha256-HgGQRHmyZGaG3HZdzUAP/WwWAR+VoS+UpnApvgxtwXU=";
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/fq/default.nix b/nixpkgs/pkgs/development/tools/fq/default.nix
index 6a51af35b8f5..69aa0299c931 100644
--- a/nixpkgs/pkgs/development/tools/fq/default.nix
+++ b/nixpkgs/pkgs/development/tools/fq/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "fq";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "fq";
     rev = "v${version}";
-    hash = "sha256-ohSjQxVbywOcZHwDditqDyQ+EAgzWtLXRc130dpIzzE=";
+    hash = "sha256-7Zprw1UgKEE8pEbmvR6LcT6Ng9oMRVDCy4HkgDNNYcU=";
   };
 
-  vendorHash = "sha256-yfunwj+0fVrWV1RgZtCsdmV4ESKF7VLr12P2nULyqOg=";
+  vendorHash = "sha256-DodVm3Ga7+PD5ZORjVJcPruP8brT/aCGxCRlw3gVsJo=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/development/tools/gci/default.nix b/nixpkgs/pkgs/development/tools/gci/default.nix
index c1a96e1e9381..7814130e9524 100644
--- a/nixpkgs/pkgs/development/tools/gci/default.nix
+++ b/nixpkgs/pkgs/development/tools/gci/default.nix
@@ -5,13 +5,13 @@
 }:
 buildGoModule rec {
   pname = "gci";
-  version = "0.12.1";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "daixiang0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h8vqpqohKQzd2IltHroo/AKnhufJsCC6qpSo8NYyhPI=";
+    sha256 = "sha256-rR3aTNVKg5uUJ39SEEySHkwGotrfzHjC9KL3FDf1jik=";
   };
 
   vendorHash = "sha256-bPRcOvwbWEpcJUlIqQNeoYME4ky0YE5LlyWhSTWCIHQ=";
diff --git a/nixpkgs/pkgs/development/tools/goconvey/default.nix b/nixpkgs/pkgs/development/tools/goconvey/default.nix
index 82bd7354ef45..c7477d48e55a 100644
--- a/nixpkgs/pkgs/development/tools/goconvey/default.nix
+++ b/nixpkgs/pkgs/development/tools/goconvey/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "goconvey";
-  version = "1.8.0";
+  version = "1.8.1";
 
   excludedPackages = "web/server/watch/integration_testing";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "smartystreets";
     repo = "goconvey";
     rev = "v${version}";
-    sha256 = "sha256-JgforTGu5aiQHltZrAfy16Bsu4UJ2pj6cCiof6sxz7s=";
+    hash = "sha256-6SrlPsOqRxNNwEYx2t1v+rEHnQ58GvJtjo87SZo/Omk=";
   };
 
-  vendorHash = "sha256-CCtWsljI14VOGjPid6ouzvieDbylh9ljoUcAoR9r4b4=";
+  vendorHash = "sha256-020bxa0LErrvRKe3HirCWZDaBQFfKsWgl4mxfLtl1lg=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
index 123d12306f8f..395303c57861 100644
--- a/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
+++ b/nixpkgs/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.56.1";
+  version = "1.56.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    hash = "sha256-6mwdDi9ltEKpDNa+GPEHiJdQO8csUg6MnuyiKQ02B80=";
+    hash = "sha256-P1bgyYJCzHWWcmAHmBAyghFzKCwiQW3KNkbk5gogpn8=";
   };
 
-  vendorHash = "sha256-Y+y3X0pGFYeAMpvRWFgzcWRpHQL+X9J3/ehiO2N2P2o=";
+  vendorHash = "sha256-9M9BPLEtNlhmZbS/Kn9yh2att2oIgF+smP7y1XCvrjI=";
 
   subPackages = [ "cmd/golangci-lint" ];
 
diff --git a/nixpkgs/pkgs/development/tools/gomplate/default.nix b/nixpkgs/pkgs/development/tools/gomplate/default.nix
index 28f9d8341fb4..d9268a40386b 100644
--- a/nixpkgs/pkgs/development/tools/gomplate/default.nix
+++ b/nixpkgs/pkgs/development/tools/gomplate/default.nix
@@ -1,16 +1,9 @@
-# Gomplate 3.x does not build with go > 1.20.
-# Version 4 of gomplate (yet unreleased) should not have this issue.
-#
-# see https://github.com/hairyhenderson/gomplate/issues/1872
-
 { lib
-#, buildGoModule
-, buildGo120Module
+, buildGoModule
 , fetchFromGitHub
 }:
 
-# buildGoModule rec {
-buildGo120Module rec {
+buildGoModule rec {
   pname = "gomplate";
   version = "3.11.7";
 
diff --git a/nixpkgs/pkgs/development/tools/gotools/default.nix b/nixpkgs/pkgs/development/tools/gotools/default.nix
index bbd77aedef7f..0a31db2779b2 100644
--- a/nixpkgs/pkgs/development/tools/gotools/default.nix
+++ b/nixpkgs/pkgs/development/tools/gotools/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "gotools";
-  version = "0.16.1";
+  version = "0.18.0";
 
   # using GitHub instead of https://go.googlesource.com/tools because Gitiles UI is to basic to browse
   src = fetchFromGitHub {
     owner = "golang";
     repo = "tools";
     rev = "v${version}";
-    hash = "sha256-qFDi+d+2OuI+mMBceZiN+kJ0gPcfgXXRDrDDwqKeDOM=";
+    hash = "sha256-sOT98DdLYtPXovpcX020BbLSH99ByJSaVQeM10IcKG4=";
   };
 
   postPatch = ''
@@ -20,7 +20,7 @@ buildGoModule rec {
     rm -r cmd/getgo
   '';
 
-  vendorHash = "sha256-oOBdh4mK3x9HbxD00EDKLjFgd/4NQRlQXrnCigGOwLg=";
+  vendorHash = "sha256-gGAEl3yabXy1qbuBJyrpD+TRrKr56cZEOiSaBoBsYc8=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/gqlgenc/default.nix b/nixpkgs/pkgs/development/tools/gqlgenc/default.nix
index b421bb6e35af..83c80cf82634 100644
--- a/nixpkgs/pkgs/development/tools/gqlgenc/default.nix
+++ b/nixpkgs/pkgs/development/tools/gqlgenc/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "gqlgenc";
-  version = "0.19.0";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "yamashou";
     repo = "gqlgenc";
     rev = "v${version}";
-    sha256 = "sha256-V2YKRRJP1KQDo0oIoKU3g/3H1Xeo2oLg3arCDU6NMto=";
+    sha256 = "sha256-rK/wpdZkmsyv6FTkN7ILM8r10lNaXwjHT17ptn3N0LE=";
   };
 
   excludedPackages = [ "example" ];
 
-  vendorHash = "sha256-lJ3oYDW7BJnguIJ/TzZSUgSuoDIKmb6hdXOKENtmk6M=";
+  vendorHash = "sha256-lQ2KQF+55qvscnYfm1jLK/4DdwFBaRZmv9oa/BUSoXI=";
 
   meta = with lib; {
     description = "Go tool for building GraphQL client with gqlgen";
diff --git a/nixpkgs/pkgs/development/tools/jql/default.nix b/nixpkgs/pkgs/development/tools/jql/default.nix
index 98ff0d6bb5be..902d0a5bde97 100644
--- a/nixpkgs/pkgs/development/tools/jql/default.nix
+++ b/nixpkgs/pkgs/development/tools/jql/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "7.1.3";
+  version = "7.1.4";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "jql-v${version}";
-    hash = "sha256-UiIIPA4JREWniNOcqMW2jnfaEDpkT1jbdv3whr49Gqg=";
+    hash = "sha256-luVlLSZbPWUtNipKdsSE3shS2fVG/lIEyuoBQ3isfTQ=";
   };
 
-  cargoHash = "sha256-9ApucHYFHBritAdylzQuUDa47yG8dAeIQwPezXP3BXY=";
+  cargoHash = "sha256-+LXEBhK9NNrWB09mpvPYi+egbytUlLwSaZsy/VTrtYY=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/nixpkgs/pkgs/development/tools/kind/default.nix b/nixpkgs/pkgs/development/tools/kind/default.nix
index 1f58fd637a6d..6896e953abde 100644
--- a/nixpkgs/pkgs/development/tools/kind/default.nix
+++ b/nixpkgs/pkgs/development/tools/kind/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kind";
-  version = "0.20.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
-    rev    = "v${version}";
-    owner  = "kubernetes-sigs";
-    repo   = "kind";
-    sha256 = "sha256-5yDoxrsnmz8N0Y35juItLtyclTz+pSb75B1P716XPxU=";
+    rev = "v${version}";
+    owner = "kubernetes-sigs";
+    repo = "kind";
+    hash = "sha256-DJTsyGEQA36MSmW5eWYTV1Tk6JOBIVJrEARA/x70S0U=";
   };
 
   patches = [
@@ -18,26 +18,28 @@ buildGoModule rec {
 
   vendorHash = "sha256-J/sJd2LLMBr53Z3sGrWgnWA8Ry+XqqfCEObqFyUD96g=";
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  subPackages = [ "." ];
+
   CGO_ENABLED = 0;
-  GOFLAGS = [ "-trimpath" ];
-  ldflags = [ "-w" ];
 
-  doCheck = false;
+  ldflags = [ "-s" "-w" ];
 
-  subPackages = [ "." ];
+  doCheck = false;
 
-  nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
-    for shell in bash fish zsh; do
-      $out/bin/kind completion $shell > kind.$shell
-      installShellCompletion kind.$shell
-    done
+    installShellCompletion --cmd kind \
+      --bash <($out/bin/kind completion bash) \
+      --fish <($out/bin/kind completion fish) \
+      --zsh <($out/bin/kind completion zsh)
   '';
 
   meta = with lib; {
     description = "Kubernetes IN Docker - local clusters for testing Kubernetes";
-    homepage    = "https://github.com/kubernetes-sigs/kind";
+    homepage = "https://github.com/kubernetes-sigs/kind";
     maintainers = with maintainers; [ offline rawkode ];
-    license     = licenses.asl20;
+    license = licenses.asl20;
+    mainProgram = "kind";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix b/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
index 4cd17ece484f..45c061ee439c 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "1.2.0";
+  version = "1.2.1";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-nikQ/GFRWmYYzboc9TWIi9gd5kwgCxOLhvIEQWusFik=";
+    outputHash = "sha256-L/ltoLlr4TdsDYwYtaCs6+Q2yTiyzoa2GQ3VK28AlzE=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix b/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
index 6db9557c6e1b..a24fb42c2a62 100644
--- a/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/c2ffi/default.nix
@@ -1,24 +1,24 @@
 { lib
 , fetchFromGitHub
 , cmake
-, llvmPackages_11
+, llvmPackages_16
 , unstableGitUpdater
 }:
 
 let
-  c2ffiBranch = "llvm-11.0.0";
-  llvmPackages = llvmPackages_11;
+  c2ffiBranch = "llvm-16.0.0";
+  llvmPackages = llvmPackages_16;
 in
 
 llvmPackages.stdenv.mkDerivation {
   pname = "c2ffi-${c2ffiBranch}";
-  version = "unstable-2021-06-15";
+  version = "0-unstable-2023-11-18";
 
   src = fetchFromGitHub {
     owner = "rpav";
     repo = "c2ffi";
-    rev = "f50243926a0afb589de1078a073ac08910599582";
-    sha256 = "UstGicFzFY0/Jge5HGYTPwYSnh9OUBY5346ObZYfR54=";
+    rev = "097cbe61ca02dc79ea60859aa056975131a9d985";
+    hash = "sha256-pflolW5OoEkVDozy4cjCdUIVxgE/SfVKIhQyNBDhENc=";
   };
 
   passthru.updateScript = unstableGitUpdater {
@@ -45,7 +45,7 @@ llvmPackages.stdenv.mkDerivation {
   # LLVM may be compiled with -fno-rtti, so let's just turn it off.
   # A mismatch between lib{clang,LLVM}* and us can lead to the link time error:
   # undefined reference to `typeinfo for clang::ASTConsumer'
-  CXXFLAGS="-fno-rtti";
+  env.CXXFLAGS="-fno-rtti";
 
   meta = with lib; {
     homepage = "https://github.com/rpav/c2ffi";
diff --git a/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
index 6e26a71ff38d..ec4cf5fd31cc 100644
--- a/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.29936";
+  version = "0.1.30163";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PJy2kg727ZEsEbQzR5EE8SeYfM1ZqaIbS2FZxewn5J0=";
+    sha256 = "sha256-RxXqlOwcnA/ibii+x/pP3OtJngfibrsaDd0RD3dNK+Y=";
   };
 
-  vendorHash = "sha256-mDpuoKOW2/PexZ/yJeQ2yzCjoKfD23J36pZ5BPDo/mg=";
+  vendorHash = "sha256-Ko2y/3h/SZk5aDympMT7nkZqXU1JsvKOaztKm8A8YXQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/devspace/default.nix b/nixpkgs/pkgs/development/tools/misc/devspace/default.nix
index 198e15370bf8..93707f993cd5 100644
--- a/nixpkgs/pkgs/development/tools/misc/devspace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/devspace/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "devspace";
-  version = "6.3.10";
+  version = "6.3.11";
 
   src = fetchFromGitHub {
     owner = "devspace-sh";
     repo = "devspace";
     rev = "v${version}";
-    hash = "sha256-ExVetF5YP9gf5ifBsdPow7KA867+4iOxe/0OwZwctoc=";
+    hash = "sha256-g+M34y7GTbQ8FyO4BieNYgo68ZE5x3hyXiMJrx6Nqug=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
index d346f94b4784..6ab025920533 100644
--- a/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/doclifter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "doclifter";
-  version = "2.20";
+  version = "2.21";
   src = fetchurl {
     url = "http://www.catb.org/~esr/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-BEuMbICJ8TD3+VjUr8rmhss7XlPNjxSy1P0SkmKLPsc=";
+    sha256 = "sha256-3zb+H/rRmU87LWh0+kQtiRMZ4JwJ3tVrt8vQ/EeKx8Q=";
   };
   buildInputs = [ python3 ];
   nativeBuildInputs = [ python3 makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/elfutils/default.nix b/nixpkgs/pkgs/development/tools/misc/elfutils/default.nix
index d61cf961615f..0533af678919 100644
--- a/nixpkgs/pkgs/development/tools/misc/elfutils/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/elfutils/default.nix
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
     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;
+    badPlatforms = [ lib.systems.inspect.platformPatterns.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/nixpkgs/pkgs/development/tools/misc/fzf-make/default.nix b/nixpkgs/pkgs/development/tools/misc/fzf-make/default.nix
index 4ce9267ab07f..faf9a8740e11 100644
--- a/nixpkgs/pkgs/development/tools/misc/fzf-make/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/fzf-make/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fzf-make";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "kyu08";
     repo = "fzf-make";
     rev = "v${version}";
-    hash = "sha256-CXifWgf7+FgelVImsoASCrH4PtBL+ciw5Qr+JbsxnPU=";
+    hash = "sha256-2RA4EVhmn8edolUeL7y9b8PssPSGIZZjHx340J0GqVE=";
   };
 
-  cargoHash = "sha256-yuhfxyrffa1pqNtIM2X3E1b1ebuBYHAu+dQrQZubCbQ=";
+  cargoHash = "sha256-Jfh+PMOep1WWTyt+LTGg+3f9pb6DlWu4ZLE9qvv8QyQ=";
 
   nativeBuildInputs = [ makeBinaryWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/jsonfmt/default.nix b/nixpkgs/pkgs/development/tools/misc/jsonfmt/default.nix
index e11828df7f59..e098c8feea8f 100644
--- a/nixpkgs/pkgs/development/tools/misc/jsonfmt/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/jsonfmt/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/caarlos0/jsonfmt/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "jsonfmt";
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/opengrok/default.nix b/nixpkgs/pkgs/development/tools/misc/opengrok/default.nix
index a2ade07c21c4..d731d32a450e 100644
--- a/nixpkgs/pkgs/development/tools/misc/opengrok/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/opengrok/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "opengrok";
-  version = "1.13.2";
+  version = "1.13.3";
 
   # binary distribution
   src = fetchurl {
     url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-Er6f1KgMZ4e/o3TJkw6z96rxBGQ/KEc9gGI2W6m+b8U=";
+    hash = "sha256-/5u4QZZ+/8BCQpUaoyQWw2vy/UAYFpr4W4/tspn/wz8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/misc/polylith/default.nix b/nixpkgs/pkgs/development/tools/misc/polylith/default.nix
index 351e07b885d8..06aadb009207 100644
--- a/nixpkgs/pkgs/development/tools/misc/polylith/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/polylith/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "polylith";
-  version = "0.2.18";
+  version = "0.2.19";
 
   src = fetchurl {
     url = "https://github.com/polyfy/polylith/releases/download/v${version}/poly-${version}.jar";
-    sha256 = "sha256-loSv316OV8EjTw65yhSpaYWObs/45k9Xsa+m3cYgNr4=";
+    sha256 = "sha256-tJV3kkB7dydnrJ0Es7DoOtCS+TwJG3SMONB2dsyHxx4=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/development/tools/misc/runme/default.nix b/nixpkgs/pkgs/development/tools/misc/runme/default.nix
index 92299626ae9f..39548f7d7d8d 100644
--- a/nixpkgs/pkgs/development/tools/misc/runme/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/runme/default.nix
@@ -12,13 +12,13 @@
 
 buildGoModule rec {
   pname = "runme";
-  version = "2.2.6";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "stateful";
     repo = "runme";
     rev = "v${version}";
-    hash = "sha256-pbdY0/1ityPWI3bGjpgWZ5pKTIh8wRqquBuK7aCbeHg=";
+    hash = "sha256-yGJqHhqQoG/Oa3/IV+sTdeEJurB8GGvoOxZnSeNkgqA=";
   };
 
   vendorHash = "sha256-QoZzEq1aC7cjY/RVp5Z5HhSuTFf2BSYQnfg0jSaeTJU=";
diff --git a/nixpkgs/pkgs/development/tools/misc/src-cli/default.nix b/nixpkgs/pkgs/development/tools/misc/src-cli/default.nix
index c69ee18df314..2d4ed5599d77 100644
--- a/nixpkgs/pkgs/development/tools/misc/src-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/src-cli/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "src-cli";
-  version = "5.2.1";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "sourcegraph";
     repo = "src-cli";
     rev = version;
-    hash = "sha256-WO9W4jDQklvHOlfbfTtQIpSxn/jzytz1P6ODO6LTwlI=";
+    hash = "sha256-eN+MByapusaznL3BR1WOWJ3tMtxJ4yrxrcNCHOgoL0k=";
   };
 
-  vendorHash = "sha256-ogmshFRVZPCDKHcbDuJ4M1d+Bv3GSnylhnmuUHseRGM=";
+  vendorHash = "sha256-+7/bY0qrRRZ0GNkIcuqOi4MA8wE75/HllRI6e/IQgy4=";
 
   subPackages = [
     "cmd/src"
diff --git a/nixpkgs/pkgs/development/tools/misc/strace/default.nix b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
index d851aa217b5f..5dc67a627a55 100644
--- a/nixpkgs/pkgs/development/tools/misc/strace/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/strace/default.nix
@@ -12,9 +12,12 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl ];
 
+  # libunwind for -k.
   # On RISC-V platforms, LLVM's libunwind implementation is unsupported by strace.
   # The build will silently fall back and -k will not work on RISC-V.
-  buildInputs = [ libunwind elfutils ]; # support -k and -kk
+  buildInputs = [ libunwind ]
+    # -kk
+    ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform elfutils) elfutils;
 
   configureFlags = [ "--enable-mpers=check" ];
 
diff --git a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
index 5887228e088f..9e37ce1713f2 100644
--- a/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.32.6";
+  version = "0.32.7";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+1nmxjR1iVtQXjdsqXaYTh8kLGq9gqSDjt1drvR9KoY=";
+    hash = "sha256-gH0wJRf64XloBfnvtNdZlONESjxG5mS5Ok9HTX1PJUA=";
   };
 
-  vendorHash = "sha256-8taGEDJ+Qtw/4eOWYiWZmEbmCwqcFXYh3x/9wR3oBJ8=";
+  vendorHash = "sha256-YvzUdcCjkCApufLk5CZv6L/mIlOuo9qEBoxHOxv2Ljc=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/tools/mongosh/package-lock.json b/nixpkgs/pkgs/development/tools/mongosh/package-lock.json
index 4c59e94cee8e..f9ad06f1ad35 100644
--- a/nixpkgs/pkgs/development/tools/mongosh/package-lock.json
+++ b/nixpkgs/pkgs/development/tools/mongosh/package-lock.json
@@ -1,15 +1,15 @@
 {
   "name": "mongosh",
-  "version": "2.1.3",
+  "version": "2.1.4",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "mongosh",
-      "version": "2.1.3",
+      "version": "2.1.4",
       "license": "Apache-2.0",
       "dependencies": {
-        "@mongosh/cli-repl": "2.1.3"
+        "@mongosh/cli-repl": "2.1.4"
       },
       "bin": {
         "mongosh": "bin/mongosh.js"
@@ -122,27 +122,26 @@
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
     },
     "node_modules/@aws-sdk/client-cognito-identity": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.504.0.tgz",
-      "integrity": "sha512-WsQY6CRDC9Y1rKjpsk187EHKES6nLmM9sD6iHAKZFLhi/DiYsy8SIafPFPEvluubYlheeLzgUB8Oxpj6Z69hlA==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.515.0.tgz",
+      "integrity": "sha512-e51ImjjRLzXkPEYguvGCbhWPNhoV2OGS6mKHCR940XEeImt04yE1tytYP1vXYpPICmuYgz79BV0FOC9J5N9bvg==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.504.0",
-        "@aws-sdk/core": "3.496.0",
-        "@aws-sdk/credential-provider-node": "3.504.0",
-        "@aws-sdk/middleware-host-header": "3.502.0",
-        "@aws-sdk/middleware-logger": "3.502.0",
-        "@aws-sdk/middleware-recursion-detection": "3.502.0",
-        "@aws-sdk/middleware-signing": "3.502.0",
-        "@aws-sdk/middleware-user-agent": "3.502.0",
-        "@aws-sdk/region-config-resolver": "3.502.0",
-        "@aws-sdk/types": "3.502.0",
-        "@aws-sdk/util-endpoints": "3.502.0",
-        "@aws-sdk/util-user-agent-browser": "3.502.0",
-        "@aws-sdk/util-user-agent-node": "3.502.0",
+        "@aws-sdk/client-sts": "3.515.0",
+        "@aws-sdk/core": "3.513.0",
+        "@aws-sdk/credential-provider-node": "3.515.0",
+        "@aws-sdk/middleware-host-header": "3.515.0",
+        "@aws-sdk/middleware-logger": "3.515.0",
+        "@aws-sdk/middleware-recursion-detection": "3.515.0",
+        "@aws-sdk/middleware-user-agent": "3.515.0",
+        "@aws-sdk/region-config-resolver": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
+        "@aws-sdk/util-endpoints": "3.515.0",
+        "@aws-sdk/util-user-agent-browser": "3.515.0",
+        "@aws-sdk/util-user-agent-node": "3.515.0",
         "@smithy/config-resolver": "^2.1.1",
-        "@smithy/core": "^1.3.1",
+        "@smithy/core": "^1.3.2",
         "@smithy/fetch-http-handler": "^2.4.1",
         "@smithy/hash-node": "^2.1.1",
         "@smithy/invalid-dependency": "^2.1.1",
@@ -161,8 +160,9 @@
         "@smithy/util-body-length-browser": "^2.1.1",
         "@smithy/util-body-length-node": "^2.2.1",
         "@smithy/util-defaults-mode-browser": "^2.1.1",
-        "@smithy/util-defaults-mode-node": "^2.1.1",
+        "@smithy/util-defaults-mode-node": "^2.2.0",
         "@smithy/util-endpoints": "^1.1.1",
+        "@smithy/util-middleware": "^2.1.1",
         "@smithy/util-retry": "^2.1.1",
         "@smithy/util-utf8": "^2.1.1",
         "tslib": "^2.5.0"
@@ -172,24 +172,24 @@
       }
     },
     "node_modules/@aws-sdk/client-sso": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.502.0.tgz",
-      "integrity": "sha512-OZAYal1+PQgUUtWiHhRayDtX0OD+XpXHKAhjYgEIPbyhQaCMp3/Bq1xDX151piWXvXqXLJHFKb8DUEqzwGO9QA==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso/-/client-sso-3.515.0.tgz",
+      "integrity": "sha512-4oGBLW476zmkdN98lAns3bObRNO+DLOfg4MDUSR6l6GYBV/zGAtoy2O/FhwYKgA2L5h2ZtElGopLlk/1Q0ePLw==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/core": "3.496.0",
-        "@aws-sdk/middleware-host-header": "3.502.0",
-        "@aws-sdk/middleware-logger": "3.502.0",
-        "@aws-sdk/middleware-recursion-detection": "3.502.0",
-        "@aws-sdk/middleware-user-agent": "3.502.0",
-        "@aws-sdk/region-config-resolver": "3.502.0",
-        "@aws-sdk/types": "3.502.0",
-        "@aws-sdk/util-endpoints": "3.502.0",
-        "@aws-sdk/util-user-agent-browser": "3.502.0",
-        "@aws-sdk/util-user-agent-node": "3.502.0",
+        "@aws-sdk/core": "3.513.0",
+        "@aws-sdk/middleware-host-header": "3.515.0",
+        "@aws-sdk/middleware-logger": "3.515.0",
+        "@aws-sdk/middleware-recursion-detection": "3.515.0",
+        "@aws-sdk/middleware-user-agent": "3.515.0",
+        "@aws-sdk/region-config-resolver": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
+        "@aws-sdk/util-endpoints": "3.515.0",
+        "@aws-sdk/util-user-agent-browser": "3.515.0",
+        "@aws-sdk/util-user-agent-node": "3.515.0",
         "@smithy/config-resolver": "^2.1.1",
-        "@smithy/core": "^1.3.1",
+        "@smithy/core": "^1.3.2",
         "@smithy/fetch-http-handler": "^2.4.1",
         "@smithy/hash-node": "^2.1.1",
         "@smithy/invalid-dependency": "^2.1.1",
@@ -208,8 +208,9 @@
         "@smithy/util-body-length-browser": "^2.1.1",
         "@smithy/util-body-length-node": "^2.2.1",
         "@smithy/util-defaults-mode-browser": "^2.1.1",
-        "@smithy/util-defaults-mode-node": "^2.1.1",
+        "@smithy/util-defaults-mode-node": "^2.2.0",
         "@smithy/util-endpoints": "^1.1.1",
+        "@smithy/util-middleware": "^2.1.1",
         "@smithy/util-retry": "^2.1.1",
         "@smithy/util-utf8": "^2.1.1",
         "tslib": "^2.5.0"
@@ -219,26 +220,25 @@
       }
     },
     "node_modules/@aws-sdk/client-sso-oidc": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.504.0.tgz",
-      "integrity": "sha512-ODA33/nm2srhV08EW0KZAP577UgV0qjyr7Xp2yEo8MXWL4ZqQZprk1c+QKBhjr4Djesrm0VPmSD/np0mtYP68A==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.515.0.tgz",
+      "integrity": "sha512-zACa8LNlPUdlNUBqQRf5a3MfouLNtcBfm84v2c8M976DwJrMGONPe1QjyLLsD38uESQiXiVQRruj/b000iMXNw==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.504.0",
-        "@aws-sdk/core": "3.496.0",
-        "@aws-sdk/middleware-host-header": "3.502.0",
-        "@aws-sdk/middleware-logger": "3.502.0",
-        "@aws-sdk/middleware-recursion-detection": "3.502.0",
-        "@aws-sdk/middleware-signing": "3.502.0",
-        "@aws-sdk/middleware-user-agent": "3.502.0",
-        "@aws-sdk/region-config-resolver": "3.502.0",
-        "@aws-sdk/types": "3.502.0",
-        "@aws-sdk/util-endpoints": "3.502.0",
-        "@aws-sdk/util-user-agent-browser": "3.502.0",
-        "@aws-sdk/util-user-agent-node": "3.502.0",
+        "@aws-sdk/client-sts": "3.515.0",
+        "@aws-sdk/core": "3.513.0",
+        "@aws-sdk/middleware-host-header": "3.515.0",
+        "@aws-sdk/middleware-logger": "3.515.0",
+        "@aws-sdk/middleware-recursion-detection": "3.515.0",
+        "@aws-sdk/middleware-user-agent": "3.515.0",
+        "@aws-sdk/region-config-resolver": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
+        "@aws-sdk/util-endpoints": "3.515.0",
+        "@aws-sdk/util-user-agent-browser": "3.515.0",
+        "@aws-sdk/util-user-agent-node": "3.515.0",
         "@smithy/config-resolver": "^2.1.1",
-        "@smithy/core": "^1.3.1",
+        "@smithy/core": "^1.3.2",
         "@smithy/fetch-http-handler": "^2.4.1",
         "@smithy/hash-node": "^2.1.1",
         "@smithy/invalid-dependency": "^2.1.1",
@@ -257,8 +257,9 @@
         "@smithy/util-body-length-browser": "^2.1.1",
         "@smithy/util-body-length-node": "^2.2.1",
         "@smithy/util-defaults-mode-browser": "^2.1.1",
-        "@smithy/util-defaults-mode-node": "^2.1.1",
+        "@smithy/util-defaults-mode-node": "^2.2.0",
         "@smithy/util-endpoints": "^1.1.1",
+        "@smithy/util-middleware": "^2.1.1",
         "@smithy/util-retry": "^2.1.1",
         "@smithy/util-utf8": "^2.1.1",
         "tslib": "^2.5.0"
@@ -267,28 +268,28 @@
         "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/credential-provider-node": "^3.504.0"
+        "@aws-sdk/credential-provider-node": "^3.515.0"
       }
     },
     "node_modules/@aws-sdk/client-sts": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.504.0.tgz",
-      "integrity": "sha512-IESs8FkL7B/uY+ml4wgoRkrr6xYo4PizcNw6JX17eveq1gRBCPKeGMjE6HTDOcIYZZ8rqz/UeuH3JD4UhrMOnA==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/client-sts/-/client-sts-3.515.0.tgz",
+      "integrity": "sha512-ScYuvaIDgip3atOJIA1FU2n0gJkEdveu1KrrCPathoUCV5zpK8qQmO/n+Fj/7hKFxeKdFbB+4W4CsJWYH94nlg==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/core": "3.496.0",
-        "@aws-sdk/middleware-host-header": "3.502.0",
-        "@aws-sdk/middleware-logger": "3.502.0",
-        "@aws-sdk/middleware-recursion-detection": "3.502.0",
-        "@aws-sdk/middleware-user-agent": "3.502.0",
-        "@aws-sdk/region-config-resolver": "3.502.0",
-        "@aws-sdk/types": "3.502.0",
-        "@aws-sdk/util-endpoints": "3.502.0",
-        "@aws-sdk/util-user-agent-browser": "3.502.0",
-        "@aws-sdk/util-user-agent-node": "3.502.0",
+        "@aws-sdk/core": "3.513.0",
+        "@aws-sdk/middleware-host-header": "3.515.0",
+        "@aws-sdk/middleware-logger": "3.515.0",
+        "@aws-sdk/middleware-recursion-detection": "3.515.0",
+        "@aws-sdk/middleware-user-agent": "3.515.0",
+        "@aws-sdk/region-config-resolver": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
+        "@aws-sdk/util-endpoints": "3.515.0",
+        "@aws-sdk/util-user-agent-browser": "3.515.0",
+        "@aws-sdk/util-user-agent-node": "3.515.0",
         "@smithy/config-resolver": "^2.1.1",
-        "@smithy/core": "^1.3.1",
+        "@smithy/core": "^1.3.2",
         "@smithy/fetch-http-handler": "^2.4.1",
         "@smithy/hash-node": "^2.1.1",
         "@smithy/invalid-dependency": "^2.1.1",
@@ -307,7 +308,7 @@
         "@smithy/util-body-length-browser": "^2.1.1",
         "@smithy/util-body-length-node": "^2.2.1",
         "@smithy/util-defaults-mode-browser": "^2.1.1",
-        "@smithy/util-defaults-mode-node": "^2.1.1",
+        "@smithy/util-defaults-mode-node": "^2.2.0",
         "@smithy/util-endpoints": "^1.1.1",
         "@smithy/util-middleware": "^2.1.1",
         "@smithy/util-retry": "^2.1.1",
@@ -319,15 +320,15 @@
         "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/credential-provider-node": "^3.504.0"
+        "@aws-sdk/credential-provider-node": "^3.515.0"
       }
     },
     "node_modules/@aws-sdk/core": {
-      "version": "3.496.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/core/-/core-3.496.0.tgz",
-      "integrity": "sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==",
+      "version": "3.513.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/core/-/core-3.513.0.tgz",
+      "integrity": "sha512-L+9DL4apWuqNKVOMJ8siAuWoRM9rZf9w1iPv8S2o83WO2jVK7E/m+rNW1dFo9HsA5V1ccDl2H2qLXx24HiHmOw==",
       "dependencies": {
-        "@smithy/core": "^1.3.1",
+        "@smithy/core": "^1.3.2",
         "@smithy/protocol-http": "^3.1.1",
         "@smithy/signature-v4": "^2.1.1",
         "@smithy/smithy-client": "^2.3.1",
@@ -339,12 +340,12 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-cognito-identity": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.504.0.tgz",
-      "integrity": "sha512-QRmKLl4wM7Yd1HBzUdHIA+QhQxLROXptQjwMNL+KNfl5vMFYOUt0FMXwg80DRHl7qEScvZZEDovcswuuw5Uo2w==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.515.0.tgz",
+      "integrity": "sha512-pWMJFhNc6bLbCpKhYXWWa23wMyhpFFyw3kF/6ea+95JQHF0FY2l4wDQa7ynE4hW4Wf5oA3Sf7Wf87pp9iAHubQ==",
       "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/client-cognito-identity": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -354,11 +355,11 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.502.0.tgz",
-      "integrity": "sha512-KIB8Ae1Z7domMU/jU4KiIgK4tmYgvuXlhR54ehwlVHxnEoFPoPuGHFZU7oFn79jhhSLUFQ1lRYMxP0cEwb7XeQ==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.515.0.tgz",
+      "integrity": "sha512-45vxdyqhTAaUMERYVWOziG3K8L2TV9G4ryQS/KZ84o7NAybE9GMdoZRVmGHAO7mJJ1wQiYCM/E+i5b3NW9JfNA==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -368,11 +369,11 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-http": {
-      "version": "3.503.1",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.503.1.tgz",
-      "integrity": "sha512-rTdlFFGoPPFMF2YjtlfRuSgKI+XsF49u7d98255hySwhsbwd3Xp+utTTPquxP+CwDxMHbDlI7NxDzFiFdsoZug==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.515.0.tgz",
+      "integrity": "sha512-Ba6FXK77vU4WyheiamNjEuTFmir0eAXuJGPO27lBaA8g+V/seXGHScsbOG14aQGDOr2P02OPwKGZrWWA7BFpfQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/fetch-http-handler": "^2.4.1",
         "@smithy/node-http-handler": "^2.3.1",
         "@smithy/property-provider": "^2.1.1",
@@ -387,16 +388,16 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.504.0.tgz",
-      "integrity": "sha512-ODICLXfr8xTUd3wweprH32Ge41yuBa+u3j0JUcLdTUO1N9ldczSMdo8zOPlP0z4doqD3xbnqMkjNQWgN/Q+5oQ==",
-      "dependencies": {
-        "@aws-sdk/client-sts": "3.504.0",
-        "@aws-sdk/credential-provider-env": "3.502.0",
-        "@aws-sdk/credential-provider-process": "3.502.0",
-        "@aws-sdk/credential-provider-sso": "3.504.0",
-        "@aws-sdk/credential-provider-web-identity": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.515.0.tgz",
+      "integrity": "sha512-ouDlNZdv2TKeVEA/YZk2+XklTXyAAGdbWnl4IgN9ItaodWI+lZjdIoNC8BAooVH+atIV/cZgoGTGQL7j2TxJ9A==",
+      "dependencies": {
+        "@aws-sdk/client-sts": "3.515.0",
+        "@aws-sdk/credential-provider-env": "3.515.0",
+        "@aws-sdk/credential-provider-process": "3.515.0",
+        "@aws-sdk/credential-provider-sso": "3.515.0",
+        "@aws-sdk/credential-provider-web-identity": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/credential-provider-imds": "^2.2.1",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/shared-ini-file-loader": "^2.3.1",
@@ -408,17 +409,17 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.504.0.tgz",
-      "integrity": "sha512-6+V5hIh+tILmUjf2ZQWQINR3atxQVgH/bFrGdSR/sHSp/tEgw3m0xWL3IRslWU1e4/GtXrfg1iYnMknXy68Ikw==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.502.0",
-        "@aws-sdk/credential-provider-http": "3.503.1",
-        "@aws-sdk/credential-provider-ini": "3.504.0",
-        "@aws-sdk/credential-provider-process": "3.502.0",
-        "@aws-sdk/credential-provider-sso": "3.504.0",
-        "@aws-sdk/credential-provider-web-identity": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.515.0.tgz",
+      "integrity": "sha512-Y4kHSpbxksiCZZNcvsiKUd8Fb2XlyUuONEwqWFNL82ZH6TCCjBGS31wJQCSxBHqYcOL3tiORUEJkoO7uS30uQA==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.515.0",
+        "@aws-sdk/credential-provider-http": "3.515.0",
+        "@aws-sdk/credential-provider-ini": "3.515.0",
+        "@aws-sdk/credential-provider-process": "3.515.0",
+        "@aws-sdk/credential-provider-sso": "3.515.0",
+        "@aws-sdk/credential-provider-web-identity": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/credential-provider-imds": "^2.2.1",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/shared-ini-file-loader": "^2.3.1",
@@ -430,11 +431,11 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.502.0.tgz",
-      "integrity": "sha512-fJJowOjQ4infYQX0E1J3xFVlmuwEYJAFk0Mo1qwafWmEthsBJs+6BR2RiWDELHKrSK35u4Pf3fu3RkYuCtmQFw==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.515.0.tgz",
+      "integrity": "sha512-pSjiOA2FM63LHRKNDvEpBRp80FVGT0Mw/gzgbqFXP+sewk0WVonYbEcMDTJptH3VsLPGzqH/DQ1YL/aEIBuXFQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/shared-ini-file-loader": "^2.3.1",
         "@smithy/types": "^2.9.1",
@@ -445,13 +446,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.504.0.tgz",
-      "integrity": "sha512-4MgH2or2SjPzaxM08DCW+BjaX4DSsEGJlicHKmz6fh+w9JmLh750oXcTnbvgUeVz075jcs6qTKjvUcsdGM/t8Q==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.515.0.tgz",
+      "integrity": "sha512-j7vUkiSmuhpBvZYoPTRTI4ePnQbiZMFl6TNhg9b9DprC1zHkucsZnhRhqjOVlrw/H6J4jmcPGcHHTZ5WQNI5xQ==",
       "dependencies": {
-        "@aws-sdk/client-sso": "3.502.0",
-        "@aws-sdk/token-providers": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/client-sso": "3.515.0",
+        "@aws-sdk/token-providers": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/shared-ini-file-loader": "^2.3.1",
         "@smithy/types": "^2.9.1",
@@ -462,12 +463,12 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.504.0.tgz",
-      "integrity": "sha512-L1ljCvGpIEFdJk087ijf2ohg7HBclOeB1UgBxUBBzf4iPRZTQzd2chGaKj0hm2VVaXz7nglswJeURH5PFcS5oA==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.515.0.tgz",
+      "integrity": "sha512-66+2g4z3fWwdoGReY8aUHvm6JrKZMTRxjuizljVmMyOBttKPeBYXvUTop/g3ZGUx1f8j+C5qsGK52viYBvtjuQ==",
       "dependencies": {
-        "@aws-sdk/client-sts": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/client-sts": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -477,22 +478,22 @@
       }
     },
     "node_modules/@aws-sdk/credential-providers": {
-      "version": "3.504.1",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.504.1.tgz",
-      "integrity": "sha512-D/ef7ZVxJVXC1qe6ZMS0dOWM92LNHJRHn9Biz5eRqRvRhNL+Rq68ZULlc0TQTVY71Fcc5TJ8OwFhaboPUiqWXA==",
-      "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.504.0",
-        "@aws-sdk/client-sso": "3.502.0",
-        "@aws-sdk/client-sts": "3.504.0",
-        "@aws-sdk/credential-provider-cognito-identity": "3.504.0",
-        "@aws-sdk/credential-provider-env": "3.502.0",
-        "@aws-sdk/credential-provider-http": "3.503.1",
-        "@aws-sdk/credential-provider-ini": "3.504.0",
-        "@aws-sdk/credential-provider-node": "3.504.0",
-        "@aws-sdk/credential-provider-process": "3.502.0",
-        "@aws-sdk/credential-provider-sso": "3.504.0",
-        "@aws-sdk/credential-provider-web-identity": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/credential-providers/-/credential-providers-3.515.0.tgz",
+      "integrity": "sha512-XQ9maVLTtv6iJbOYiRS+IvaPlFkJDuxfpfxuky3aPzQpxDilU4cf1CfIDua8qivZKQ4QQOd1EaBMXPIpLI1ZTQ==",
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.515.0",
+        "@aws-sdk/client-sso": "3.515.0",
+        "@aws-sdk/client-sts": "3.515.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.515.0",
+        "@aws-sdk/credential-provider-env": "3.515.0",
+        "@aws-sdk/credential-provider-http": "3.515.0",
+        "@aws-sdk/credential-provider-ini": "3.515.0",
+        "@aws-sdk/credential-provider-node": "3.515.0",
+        "@aws-sdk/credential-provider-process": "3.515.0",
+        "@aws-sdk/credential-provider-sso": "3.515.0",
+        "@aws-sdk/credential-provider-web-identity": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/credential-provider-imds": "^2.2.1",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/types": "^2.9.1",
@@ -503,11 +504,11 @@
       }
     },
     "node_modules/@aws-sdk/middleware-host-header": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.502.0.tgz",
-      "integrity": "sha512-EjnG0GTYXT/wJBmm5/mTjDcAkzU8L7wQjOzd3FTXuTCNNyvAvwrszbOj5FlarEw5XJBbQiZtBs+I5u9+zy560w==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.515.0.tgz",
+      "integrity": "sha512-I1MwWPzdRKM1luvdDdjdGsDjNVPhj9zaIytEchjTY40NcKOg+p2evLD2y69ozzg8pyXK63r8DdvDGOo9QPuh0A==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/protocol-http": "^3.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -517,11 +518,11 @@
       }
     },
     "node_modules/@aws-sdk/middleware-logger": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-logger/-/middleware-logger-3.502.0.tgz",
-      "integrity": "sha512-FDyv6K4nCoHxbjLGS2H8ex8I0KDIiu4FJgVRPs140ZJy6gE5Pwxzv6YTzZGLMrnqcIs9gh065Lf6DjwMelZqaw==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-logger/-/middleware-logger-3.515.0.tgz",
+      "integrity": "sha512-qXomJzg2m/5seQOxHi/yOXOKfSjwrrJSmEmfwJKJyQgdMbBcjz3Cz0H/1LyC6c5hHm6a/SZgSTzDAbAoUmyL+Q==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
       },
@@ -530,11 +531,11 @@
       }
     },
     "node_modules/@aws-sdk/middleware-recursion-detection": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.502.0.tgz",
-      "integrity": "sha512-hvbyGJbxeuezxOu8VfFmcV4ql1hKXLxHTe5FNYfEBat2KaZXVhc1Hg+4TvB06/53p+E8J99Afmumkqbxs2esUA==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.515.0.tgz",
+      "integrity": "sha512-dokHLbTV3IHRIBrw9mGoxcNTnQsjlm7TpkJhPdGT9T4Mq399EyQo51u6IsVMm07RXLl2Zw7u+u9p+qWBFzmFRA==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/protocol-http": "^3.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -543,30 +544,13 @@
         "node": ">=14.0.0"
       }
     },
-    "node_modules/@aws-sdk/middleware-signing": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-signing/-/middleware-signing-3.502.0.tgz",
-      "integrity": "sha512-4hF08vSzJ7L6sB+393gOFj3s2N6nLusYS0XrMW6wYNFU10IDdbf8Z3TZ7gysDJJHEGQPmTAesPEDBsasGWcMxg==",
-      "dependencies": {
-        "@aws-sdk/types": "3.502.0",
-        "@smithy/property-provider": "^2.1.1",
-        "@smithy/protocol-http": "^3.1.1",
-        "@smithy/signature-v4": "^2.1.1",
-        "@smithy/types": "^2.9.1",
-        "@smithy/util-middleware": "^2.1.1",
-        "tslib": "^2.5.0"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.502.0.tgz",
-      "integrity": "sha512-TxbBZbRiXPH0AUxegqiNd9aM9zNSbfjtBs5MEfcBsweeT/B2O7K1EjP9+CkB8Xmk/5FLKhAKLr19b1TNoE27rw==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.515.0.tgz",
+      "integrity": "sha512-nOqZjGA/GkjuJ5fUshec9Fv6HFd7ovOTxMJbw3MfAhqXuVZ6dKF41lpVJ4imNsgyFt3shUg9WDY8zGFjlYMB3g==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
-        "@aws-sdk/util-endpoints": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
+        "@aws-sdk/util-endpoints": "3.515.0",
         "@smithy/protocol-http": "^3.1.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -576,11 +560,11 @@
       }
     },
     "node_modules/@aws-sdk/region-config-resolver": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.502.0.tgz",
-      "integrity": "sha512-mxmsX2AGgnSM+Sah7mcQCIneOsJQNiLX0COwEttuf8eO+6cLMAZvVudH3BnWTfea4/A9nuri9DLCqBvEmPrilg==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.515.0.tgz",
+      "integrity": "sha512-RIRx9loxMgEAc/r1wPfnfShOuzn4RBi8pPPv6/jhhITEeMnJe6enAh2k5y9DdiVDDgCWZgVFSv0YkAIfzAFsnQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/node-config-provider": "^2.2.1",
         "@smithy/types": "^2.9.1",
         "@smithy/util-config-provider": "^2.2.1",
@@ -592,12 +576,12 @@
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.504.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.504.0.tgz",
-      "integrity": "sha512-YIJWWsZi2ClUiILS1uh5L6VjmCUSTI6KKMuL9DkGjYqJ0aI6M8bd8fT9Wm7QmXCyjcArTgr/Atkhia4T7oKvzQ==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/token-providers/-/token-providers-3.515.0.tgz",
+      "integrity": "sha512-MQuf04rIcTXqwDzmyHSpFPF1fKEzRl64oXtCRUF3ddxTdK6wxXkePfK6wNCuL+GEbEcJAoCtIGIRpzGPJvQjHA==",
       "dependencies": {
-        "@aws-sdk/client-sso-oidc": "3.504.0",
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/client-sso-oidc": "3.515.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/property-provider": "^2.1.1",
         "@smithy/shared-ini-file-loader": "^2.3.1",
         "@smithy/types": "^2.9.1",
@@ -608,9 +592,9 @@
       }
     },
     "node_modules/@aws-sdk/types": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/types/-/types-3.502.0.tgz",
-      "integrity": "sha512-M0DSPYe/gXhwD2QHgoukaZv5oDxhW3FfvYIrJptyqUq3OnPJBcDbihHjrE0PBtfh/9kgMZT60/fQ2NVFANfa2g==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/types/-/types-3.515.0.tgz",
+      "integrity": "sha512-B3gUpiMlpT6ERaLvZZ61D0RyrQPsFYDkCncLPVkZOKkCOoFU46zi1o6T5JcYiz8vkx1q9RGloQ5exh79s5pU/w==",
       "dependencies": {
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -620,11 +604,11 @@
       }
     },
     "node_modules/@aws-sdk/util-endpoints": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.502.0.tgz",
-      "integrity": "sha512-6LKFlJPp2J24r1Kpfoz5ESQn+1v5fEjDB3mtUKRdpwarhm3syu7HbKlHCF3KbcCOyahobvLvhoedT78rJFEeeg==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-endpoints/-/util-endpoints-3.515.0.tgz",
+      "integrity": "sha512-UJi+jdwcGFV/F7d3+e2aQn5yZOVpDiAgfgNhPnEtgV0WozJ5/ZUeZBgWvSc/K415N4A4D/9cbBc7+I+35qzcDQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/types": "^2.9.1",
         "@smithy/util-endpoints": "^1.1.1",
         "tslib": "^2.5.0"
@@ -645,22 +629,22 @@
       }
     },
     "node_modules/@aws-sdk/util-user-agent-browser": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.502.0.tgz",
-      "integrity": "sha512-v8gKyCs2obXoIkLETAeEQ3AM+QmhHhst9xbM1cJtKUGsRlVIak/XyyD+kVE6kmMm1cjfudHpHKABWk9apQcIZQ==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.515.0.tgz",
+      "integrity": "sha512-pTWQb0JCafTmLHLDv3Qqs/nAAJghcPdGQIBpsCStb0YEzg3At/dOi2AIQ683yYnXmeOxLXJDzmlsovfVObJScw==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/types": "^2.9.1",
         "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.502.0",
-      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.502.0.tgz",
-      "integrity": "sha512-9RjxpkGZKbTdl96tIJvAo+vZoz4P/cQh36SBUt9xfRfW0BtsaLyvSrvlR5wyUYhvRcC12Axqh/8JtnAPq//+Vw==",
+      "version": "3.515.0",
+      "resolved": "https://registry.npmmirror.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.515.0.tgz",
+      "integrity": "sha512-A/KJ+/HTohHyVXLH+t/bO0Z2mPrQgELbQO8tX+B2nElo8uklj70r5cT7F8ETsI9oOy+HDVpiL5/v45ZgpUOiPg==",
       "dependencies": {
-        "@aws-sdk/types": "3.502.0",
+        "@aws-sdk/types": "3.515.0",
         "@smithy/node-config-provider": "^2.2.1",
         "@smithy/types": "^2.9.1",
         "tslib": "^2.5.0"
@@ -1076,9 +1060,9 @@
       }
     },
     "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
-      "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
       "engines": {
         "node": ">=6.0.0"
       }
@@ -1125,18 +1109,17 @@
       }
     },
     "node_modules/@mongodb-js/mongodb-constants": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/mongodb-constants/-/mongodb-constants-0.7.2.tgz",
-      "integrity": "sha512-ElaVCCQo80vQTX865RXbJoITaB6kHJmOWqv0ANO5I/S9nP5LaIEfA2QQuBmE4cHOmb3ZGfzLfyCCfwbeSBwE6w==",
+      "version": "0.8.10",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.10.tgz",
+      "integrity": "sha512-tLXBNzLzk7KD0UsZaSpAg7bftgiDRVYFjc3zXT+828ENtg7TIvahkzJzoD7K6SwnFjPp8PZ/R36rpEL3zFq9yg==",
       "dependencies": {
-        "dedent": "^1.5.1",
         "semver": "^7.5.4"
       }
     },
     "node_modules/@mongodb-js/oidc-plugin": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.0.tgz",
-      "integrity": "sha512-XIriu5WYwBJWiHFpIpiXz7FkeA0+jUyGB4KBs6v0U8JGlkkoAJY9lWuzBt0surjcl/dBWvpsZYun6492fMb2kw==",
+      "version": "0.3.1",
+      "resolved": "https://registry.npmmirror.com/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.1.tgz",
+      "integrity": "sha512-oEM7/AVyjH8C63WM4Q0JAFVA/Q77ZzlFXJCWPn/rIbDk3a4uVLFC9L8OlH8D0bawdI1fpVii2tsDo6msDtoovQ==",
       "dependencies": {
         "abort-controller": "^3.0.0",
         "express": "^4.18.2",
@@ -1156,12 +1139,12 @@
       }
     },
     "node_modules/@mongosh/arg-parser": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.1.3.tgz",
-      "integrity": "sha512-EcxL04M21mAoHonYHN3l+kurOOFqdCuAU9J3Bv70O7YqVmsI7cfOaZEyGQoAQCj2FkolzfTQ73xCGvl4q0pKSg==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/arg-parser/-/arg-parser-2.1.4.tgz",
+      "integrity": "sha512-XcvDPn5l/pDncHbVvhBp4hPeuYIP5LKcPJZXLXLxukrISwUD6RaRVKUEZRhqEzVGieJ4WFKc4X5d8RqwebiilQ==",
       "dependencies": {
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/i18n": "2.1.3",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/i18n": "2.1.4",
         "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
@@ -1169,9 +1152,9 @@
       }
     },
     "node_modules/@mongosh/async-rewriter2": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.1.3.tgz",
-      "integrity": "sha512-ySJeI69E7E33wvpgiR1IrYi+kU7F2pkLmvpOrnwKExWdHgpw48LW2o2WrjQGfZBIGeTfgvby30+XbgA/kxj9NQ==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/async-rewriter2/-/async-rewriter2-2.1.4.tgz",
+      "integrity": "sha512-Edh3sPNwPsVrzYwIg5flx/LtLWYr3P1ZxTBmCy1ppZgym3c/QbTfclAcnKEj+4Q6PqSdXJ13lWXGCYRu+Gj9UA==",
       "dependencies": {
         "@babel/core": "^7.22.8",
         "@babel/plugin-transform-destructuring": "^7.22.5",
@@ -1188,12 +1171,12 @@
       }
     },
     "node_modules/@mongosh/autocomplete": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.1.3.tgz",
-      "integrity": "sha512-WRvq9u70wyQeC7o6sgmZYGOTJPCi13XjnvW1E7yrw1jJke95l2QD4tb3kT/gRXUvpYfsulImwp4v2feqeaP5Yg==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/autocomplete/-/autocomplete-2.1.4.tgz",
+      "integrity": "sha512-eu5EgAojjDx47OE17dN3a+DAWqEp+4e7wpbnfMq9xOZCpPKTFvfoQMnNOthyeYobKYQk6AykENNhVeabYIbcwA==",
       "dependencies": {
-        "@mongodb-js/mongodb-constants": "^0.7.1",
-        "@mongosh/shell-api": "2.1.3",
+        "@mongodb-js/mongodb-constants": "^0.8.10",
+        "@mongosh/shell-api": "2.1.4",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -1201,24 +1184,24 @@
       }
     },
     "node_modules/@mongosh/cli-repl": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.1.3.tgz",
-      "integrity": "sha512-qGKqeLFvMLGt9NIF9ukE+N0OWBlycUsXl3bSCsQ/g9Oeeke2/4Zf9OTSwLA1bSK+QXBaeQzMtKwuwrXM5jXSTA==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.1.3",
-        "@mongosh/autocomplete": "2.1.3",
-        "@mongosh/editor": "2.1.3",
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/history": "2.1.3",
-        "@mongosh/i18n": "2.1.3",
-        "@mongosh/js-multiline-to-singleline": "2.1.3",
-        "@mongosh/logging": "2.1.3",
-        "@mongosh/service-provider-core": "2.1.3",
-        "@mongosh/service-provider-server": "2.1.3",
-        "@mongosh/shell-api": "2.1.3",
-        "@mongosh/shell-evaluator": "2.1.3",
-        "@mongosh/snippet-manager": "2.1.3",
-        "@mongosh/types": "2.1.3",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/cli-repl/-/cli-repl-2.1.4.tgz",
+      "integrity": "sha512-vPdn+8VT4u36Voyb6f+w1khxqF/UKzc+yxF1lPRDBRco2qYv4EuSY7TIqpgzQjXKMwefK2qeXX5KyYR+mpg9gw==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.4",
+        "@mongosh/autocomplete": "2.1.4",
+        "@mongosh/editor": "2.1.4",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/history": "2.1.4",
+        "@mongosh/i18n": "2.1.4",
+        "@mongosh/js-multiline-to-singleline": "2.1.4",
+        "@mongosh/logging": "2.1.4",
+        "@mongosh/service-provider-core": "2.1.4",
+        "@mongosh/service-provider-server": "2.1.4",
+        "@mongosh/shell-api": "2.1.4",
+        "@mongosh/shell-evaluator": "2.1.4",
+        "@mongosh/snippet-manager": "2.1.4",
+        "@mongosh/types": "2.1.4",
         "analytics-node": "^5.1.2",
         "ansi-escape-sequences": "^5.1.2",
         "askcharacter": "^1.0.0",
@@ -1248,15 +1231,15 @@
       }
     },
     "node_modules/@mongosh/editor": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.1.3.tgz",
-      "integrity": "sha512-Dcr0UNcONp+4rGcVkgBtAvxjOZm+qjaHWLsa+/evHoE5APep1pfDM5LL59V+xz9zQMHrrlf62F90zaSeM2Yb7Q==",
-      "dependencies": {
-        "@mongosh/js-multiline-to-singleline": "2.1.3",
-        "@mongosh/service-provider-core": "2.1.3",
-        "@mongosh/shell-api": "2.1.3",
-        "@mongosh/shell-evaluator": "2.1.3",
-        "@mongosh/types": "2.1.3",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/editor/-/editor-2.1.4.tgz",
+      "integrity": "sha512-N/DnWaT/iWTNjsqYXv7qOEVEv6ZJg6syhF0KGEK3bRwLFtFivcw06wDLTUCJALB1KDPmSg6OrTWefZROQSNIFw==",
+      "dependencies": {
+        "@mongosh/js-multiline-to-singleline": "2.1.4",
+        "@mongosh/service-provider-core": "2.1.4",
+        "@mongosh/shell-api": "2.1.4",
+        "@mongosh/shell-evaluator": "2.1.4",
+        "@mongosh/types": "2.1.4",
         "js-beautify": "^1.14.0"
       },
       "engines": {
@@ -1264,17 +1247,17 @@
       }
     },
     "node_modules/@mongosh/errors": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.1.3.tgz",
-      "integrity": "sha512-+s1upI1R0zCcMQigIohrzFjnSD+wFC7amJqRQf64bFtXF0+y6ylfp1E5mNSGEZjbzEdrbmukEhJs68SbWIEwWA==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/errors/-/errors-2.1.4.tgz",
+      "integrity": "sha512-hcSRLu7/PJ98N0oSA2QCb6d+HPf5TRFsoAPvw/Rdlhb/KRHvTs5G5nVUuk8You9/FatxKA16zNFlTgKoVoCAkQ==",
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/history": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.1.3.tgz",
-      "integrity": "sha512-oJT6ilvwZttmIzOub9ke7VBLKXBI48le3RrftIgGQ/MfVxzFsS3i+STGB24u2B+F8oh1DIPSEPCqED3dZYvAKA==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/history/-/history-2.1.4.tgz",
+      "integrity": "sha512-I/0qCx1JYES3BwdXIdGpDga/MXCeFUfit8Ggr1sHWPWZMN6QQFLEC0piTSyyI8m1kjrIRJOcDmfZVAxdRguuCg==",
       "dependencies": {
         "mongodb-connection-string-url": "^3.0.0",
         "mongodb-redact": "^0.2.2"
@@ -1284,11 +1267,11 @@
       }
     },
     "node_modules/@mongosh/i18n": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.1.3.tgz",
-      "integrity": "sha512-gJ7fr21al4cTie27qITk2DpoDVfow/WTLghgVnSa1t/iBH0la0kJbei20cURHaG8OKIB3a+iSdcrIkK2TGlJGA==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/i18n/-/i18n-2.1.4.tgz",
+      "integrity": "sha512-srYF5Jr76GCXsiGOKBujP1kmnk0KZN9t3qugArAlG99D7g0n3YAgQJR9ncFQzmvOquZSykyrKP8Cp9dRdkREuw==",
       "dependencies": {
-        "@mongosh/errors": "2.1.3",
+        "@mongosh/errors": "2.1.4",
         "mustache": "^4.0.0"
       },
       "engines": {
@@ -1296,9 +1279,9 @@
       }
     },
     "node_modules/@mongosh/js-multiline-to-singleline": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.1.3.tgz",
-      "integrity": "sha512-kNHsE28Qiosv7B7CZ/D80p4s97Myz39LVrVs73wkM2sNOYyZ2wEyVm8Pi6l3FrLgzzwHDkbb0nLNpQWSoRonvQ==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.1.4.tgz",
+      "integrity": "sha512-7qInqqxAxtTFU6XF+cJsNu/8z/IqinCS9zS3l9/tS/FqHmjfKibdhXby9HAAjjfDnI+RiRo2wULF/RS7X0w0Hw==",
       "dependencies": {
         "@babel/core": "^7.16.12",
         "@babel/types": "^7.21.2"
@@ -1308,14 +1291,14 @@
       }
     },
     "node_modules/@mongosh/logging": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.1.3.tgz",
-      "integrity": "sha512-eCpWljCh7e9jNgeUiRqc4TcfQK0HUYBX/iosQDDDNvZZAdLsfuTOp2NF2LN4gwoaWp5ICgFqB0lCA0m9mbQn/g==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/logging/-/logging-2.1.4.tgz",
+      "integrity": "sha512-qdppbS+3m6GXmfmz+gfSfFNB30TAoCRFVhXCMxzUv5pZy+MjFhySOPVuBY1vrY0sUEW1zGO3uusOPc67ymxh3A==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.4.3",
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/history": "2.1.3",
-        "@mongosh/types": "2.1.3",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/history": "2.1.4",
+        "@mongosh/types": "2.1.4",
         "mongodb-log-writer": "^1.4.0",
         "mongodb-redact": "^0.2.2"
       },
@@ -1324,12 +1307,12 @@
       }
     },
     "node_modules/@mongosh/service-provider-core": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.1.3.tgz",
-      "integrity": "sha512-dEj6ikteC2QGxuaY6/NFotriVCRVTaY/PcFSqCL/ssg26KTlpXqd2NqNh7UPHzlwEO1aM6Bhw/PfS3uP9l0tBg==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-core/-/service-provider-core-2.1.4.tgz",
+      "integrity": "sha512-3ZhCSeQO4aZK00sPDSAZB5yKlRqzCaLqLtuI8hfvpTJ9b9TMNSSkX8ycSy/EWbGF68LGhy5WPp8BTXj9vdh3fA==",
       "dependencies": {
         "@aws-sdk/credential-providers": "^3.347.1",
-        "@mongosh/errors": "2.1.3",
+        "@mongosh/errors": "2.1.4",
         "bson": "^6.2.0",
         "mongodb": "^6.3.0",
         "mongodb-build-info": "^1.7.1"
@@ -1342,15 +1325,15 @@
       }
     },
     "node_modules/@mongosh/service-provider-server": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.1.3.tgz",
-      "integrity": "sha512-bN1CGAlQnLVb2JCWIm4TNt2+z5/4YWoGbS5AKY8uuisM49VWl21BM74eDTbym75tXbwu/2d5vyf20cHJeAVMGA==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/service-provider-server/-/service-provider-server-2.1.4.tgz",
+      "integrity": "sha512-9VxAzoO1a0aEoVT5yctqxdcMScWrWAOFk2H7C9Zs+p/cDaFK/agv9I/lgfTGL5RK1DXTRxmxYQ+Uw6iIpy+L7g==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.4.3",
-        "@mongodb-js/oidc-plugin": "^0.3.0",
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/service-provider-core": "2.1.3",
-        "@mongosh/types": "2.1.3",
+        "@mongodb-js/oidc-plugin": "^0.3.1",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/service-provider-core": "2.1.4",
+        "@mongosh/types": "2.1.4",
         "@types/sinon-chai": "^3.2.4",
         "aws4": "^1.11.0",
         "mongodb": "^6.3.0",
@@ -1366,15 +1349,15 @@
       }
     },
     "node_modules/@mongosh/shell-api": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.1.3.tgz",
-      "integrity": "sha512-zq+qM+6Xfx8GFF+wM8saGzRcwxRqKYGPolKO0gulEhenOLlNiOeotfe7khKeKTahW28QzCjC36gli5G2cV7tgQ==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.1.3",
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/history": "2.1.3",
-        "@mongosh/i18n": "2.1.3",
-        "@mongosh/service-provider-core": "2.1.3",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-api/-/shell-api-2.1.4.tgz",
+      "integrity": "sha512-uw6MX+0+9UZRTBKAlk29pTCZ59RgJfz0TW+o4g4r37/MGTNOoCAA27qBl0e6WRlI6uN+1q+9OCtxbkofeaaRoA==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.4",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/history": "2.1.4",
+        "@mongosh/i18n": "2.1.4",
+        "@mongosh/service-provider-core": "2.1.4",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1382,26 +1365,26 @@
       }
     },
     "node_modules/@mongosh/shell-evaluator": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.1.3.tgz",
-      "integrity": "sha512-+H+VrUmXtiF0aBLZZ2hAUyai5Cgm1FogyUDg0UE1LR7sboFTnEaHI7ReoLxabK/PoV56ZXjxByUgWAGVlTvQfA==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/shell-evaluator/-/shell-evaluator-2.1.4.tgz",
+      "integrity": "sha512-f8sGzbHlvHEVPz2ZTVxpVFlOi0h02IU7M2iY4K98OBQTxi9cXosFMpvDOBwirv/268ZZiWuHG75cJXUwjArujQ==",
       "dependencies": {
-        "@mongosh/async-rewriter2": "2.1.3",
-        "@mongosh/history": "2.1.3",
-        "@mongosh/shell-api": "2.1.3"
+        "@mongosh/async-rewriter2": "2.1.4",
+        "@mongosh/history": "2.1.4",
+        "@mongosh/shell-api": "2.1.4"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/snippet-manager": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.1.3.tgz",
-      "integrity": "sha512-3OFSWP4A29gMKwlzOLHrwEvJRH2i2EFPTagi2edzZGnHnj+56kqOxBW1M9nPtFVeoWrb0j+UcjXZ7q5IDYuL1A==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/snippet-manager/-/snippet-manager-2.1.4.tgz",
+      "integrity": "sha512-gNOEu/FMeft0sqxKYxjeUq411vffJcwmF736DBnQp3Ox9+wd5C9GjoNz7UqRzQObhvP9BVcGgD34F3hzckfqXA==",
       "dependencies": {
-        "@mongosh/errors": "2.1.3",
-        "@mongosh/shell-api": "2.1.3",
-        "@mongosh/types": "2.1.3",
+        "@mongosh/errors": "2.1.4",
+        "@mongosh/shell-api": "2.1.4",
+        "@mongosh/types": "2.1.4",
         "bson": "^6.2.0",
         "cross-spawn": "^7.0.3",
         "escape-string-regexp": "^4.0.0",
@@ -1414,9 +1397,9 @@
       }
     },
     "node_modules/@mongosh/types": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.1.3.tgz",
-      "integrity": "sha512-2E3lkUp5DM52KIZSSkgtxPQbb7zH8w3jvE1gvX7lx2EvrMcHVII52RL91k9JHFK/wL+dcqX83Etl9nLORWAjog==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmmirror.com/@mongosh/types/-/types-2.1.4.tgz",
+      "integrity": "sha512-j572qb24rOebfWhU+6mK28lKctBdJQjDD/xwYWb1IAXFgJZjBpBqABoXzqFrvSnMTQ+Cl5E/oOsG2FcoZhZx4w==",
       "dependencies": {
         "@mongodb-js/devtools-connect": "^2.4.3"
       },
@@ -1493,9 +1476,9 @@
       }
     },
     "node_modules/@smithy/core": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/core/-/core-1.3.1.tgz",
-      "integrity": "sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q==",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmmirror.com/@smithy/core/-/core-1.3.2.tgz",
+      "integrity": "sha512-tYDmTp0f2TZVE18jAOH1PnmkngLQ+dOGUlMd1u67s87ieueNeyqhja6z/Z4MxhybEiXKOWFOmGjfTZWFxljwJw==",
       "dependencies": {
         "@smithy/middleware-endpoint": "^2.4.1",
         "@smithy/middleware-retry": "^2.1.1",
@@ -1881,9 +1864,9 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.1.tgz",
-      "integrity": "sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.0.tgz",
+      "integrity": "sha512-iFJp/N4EtkanFpBUtSrrIbtOIBf69KNuve03ic1afhJ9/korDxdM0c6cCH4Ehj/smI9pDCfVv+bqT3xZjF2WaA==",
       "dependencies": {
         "@smithy/config-resolver": "^2.1.1",
         "@smithy/credential-provider-imds": "^2.2.1",
@@ -2375,12 +2358,12 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.22.3",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.3.tgz",
-      "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
+      "version": "4.23.0",
+      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
+      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
       "dependencies": {
-        "caniuse-lite": "^1.0.30001580",
-        "electron-to-chromium": "^1.4.648",
+        "caniuse-lite": "^1.0.30001587",
+        "electron-to-chromium": "^1.4.668",
         "node-releases": "^2.0.14",
         "update-browserslist-db": "^1.0.13"
       },
@@ -2429,19 +2412,24 @@
       }
     },
     "node_modules/call-bind": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.5.tgz",
-      "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+      "version": "1.0.7",
+      "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
+      "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
       "dependencies": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
         "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.1",
-        "set-function-length": "^1.1.1"
+        "get-intrinsic": "^1.2.4",
+        "set-function-length": "^1.2.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001583",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz",
-      "integrity": "sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q=="
+      "version": "1.0.30001587",
+      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz",
+      "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA=="
     },
     "node_modules/chalk": {
       "version": "2.4.2",
@@ -2606,19 +2594,6 @@
         "node": ">=10"
       }
     },
-    "node_modules/dedent": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.1.tgz",
-      "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
-      "peerDependencies": {
-        "babel-plugin-macros": "^3.1.0"
-      },
-      "peerDependenciesMeta": {
-        "babel-plugin-macros": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/deep-extend": {
       "version": "0.6.0",
       "resolved": "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -2655,13 +2630,13 @@
       }
     },
     "node_modules/define-data-property": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.1.tgz",
-      "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+      "version": "1.1.4",
+      "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
+      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
       "dependencies": {
-        "get-intrinsic": "^1.2.1",
-        "gopd": "^1.0.1",
-        "has-property-descriptors": "^1.0.0"
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.0.1"
       },
       "engines": {
         "node": ">= 0.4"
@@ -2729,9 +2704,9 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.655",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.655.tgz",
-      "integrity": "sha512-2yszojF7vIZ68adIOvzV4bku8OZad9w5H9xF3ZAMZjPuOjBarlflUkjN6DggdV+L71WZuKUfKUhov/34+G5QHg=="
+      "version": "1.4.672",
+      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.672.tgz",
+      "integrity": "sha512-YYCy+goe3UqZqa3MOQCI5Mx/6HdBLzXL/mkbGCEWL3sP3Z1BP9zqAzeD3YEmLZlespYGFtyM8tRp5i2vfaUGCA=="
     },
     "node_modules/emoji-regex": {
       "version": "9.2.2",
@@ -2823,10 +2798,29 @@
         "once": "^1.4.0"
       }
     },
+    "node_modules/es-define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz",
+      "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.4"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz",
+      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
       "engines": {
         "node": ">=6"
       }
@@ -3112,14 +3106,18 @@
       }
     },
     "node_modules/get-intrinsic": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
-      "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+      "version": "1.2.4",
+      "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+      "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
       "dependencies": {
+        "es-errors": "^1.3.0",
         "function-bind": "^1.1.2",
         "has-proto": "^1.0.1",
         "has-symbols": "^1.0.3",
         "hasown": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
       }
     },
     "node_modules/get-stream": {
@@ -3184,11 +3182,11 @@
       }
     },
     "node_modules/has-property-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
-      "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
       "dependencies": {
-        "get-intrinsic": "^1.2.2"
+        "es-define-property": "^1.0.0"
       }
     },
     "node_modules/has-proto": {
@@ -3208,9 +3206,9 @@
       }
     },
     "node_modules/hasown": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz",
-      "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.1.tgz",
+      "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
       "dependencies": {
         "function-bind": "^1.1.2"
       },
@@ -3289,10 +3287,17 @@
       "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
       "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
     },
-    "node_modules/ip": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ip/-/ip-2.0.0.tgz",
-      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+    "node_modules/ip-address": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-9.0.5.tgz",
+      "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+      "dependencies": {
+        "jsbn": "1.1.0",
+        "sprintf-js": "^1.1.3"
+      },
+      "engines": {
+        "node": ">= 12"
+      }
     },
     "node_modules/ipaddr.js": {
       "version": "1.9.1",
@@ -3438,13 +3443,14 @@
       "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ=="
     },
     "node_modules/js-beautify": {
-      "version": "1.14.11",
-      "resolved": "https://registry.npmmirror.com/js-beautify/-/js-beautify-1.14.11.tgz",
-      "integrity": "sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==",
+      "version": "1.15.0",
+      "resolved": "https://registry.npmmirror.com/js-beautify/-/js-beautify-1.15.0.tgz",
+      "integrity": "sha512-U1f+LPtn13M0OS0ChNMpM7wA7J47ECqwIcvayrZu+o0FLLt9FckoT6XOO1grhBS2vZjSt79K+vkUuP0o+BIdsA==",
       "dependencies": {
         "config-chain": "^1.1.13",
-        "editorconfig": "^1.0.3",
+        "editorconfig": "^1.0.4",
         "glob": "^10.3.3",
+        "js-cookie": "^3.0.5",
         "nopt": "^7.2.0"
       },
       "bin": {
@@ -3456,6 +3462,14 @@
         "node": ">=14"
       }
     },
+    "node_modules/js-cookie": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz",
+      "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -3472,6 +3486,11 @@
         "js-yaml": "bin/js-yaml.js"
       }
     },
+    "node_modules/jsbn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz",
+      "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
+    },
     "node_modules/jsesc": {
       "version": "2.5.2",
       "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
@@ -4429,9 +4448,9 @@
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
     "node_modules/semver": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+      "version": "7.6.0",
+      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
+      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
       "dependencies": {
         "lru-cache": "^6.0.0"
       },
@@ -4509,13 +4528,14 @@
       }
     },
     "node_modules/set-function-length": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.0.tgz",
-      "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.1.tgz",
+      "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
       "dependencies": {
-        "define-data-property": "^1.1.1",
+        "define-data-property": "^1.1.2",
+        "es-errors": "^1.3.0",
         "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.2",
+        "get-intrinsic": "^1.2.3",
         "gopd": "^1.0.1",
         "has-property-descriptors": "^1.0.1"
       },
@@ -4548,13 +4568,17 @@
       }
     },
     "node_modules/side-channel": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz",
-      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.5.tgz",
+      "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==",
       "dependencies": {
-        "call-bind": "^1.0.0",
-        "get-intrinsic": "^1.0.2",
-        "object-inspect": "^1.9.0"
+        "call-bind": "^1.0.6",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.4",
+        "object-inspect": "^1.13.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
       }
     },
     "node_modules/signal-exit": {
@@ -4592,15 +4616,15 @@
       }
     },
     "node_modules/socks": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmmirror.com/socks/-/socks-2.7.1.tgz",
-      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+      "version": "2.7.3",
+      "resolved": "https://registry.npmmirror.com/socks/-/socks-2.7.3.tgz",
+      "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==",
       "dependencies": {
-        "ip": "^2.0.0",
+        "ip-address": "^9.0.5",
         "smart-buffer": "^4.2.0"
       },
       "engines": {
-        "node": ">= 10.13.0",
+        "node": ">= 10.0.0",
         "npm": ">= 3.0.0"
       }
     },
@@ -4612,6 +4636,11 @@
         "memory-pager": "^1.0.2"
       }
     },
+    "node_modules/sprintf-js": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz",
+      "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
+    },
     "node_modules/statuses": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
diff --git a/nixpkgs/pkgs/development/tools/mongosh/source.json b/nixpkgs/pkgs/development/tools/mongosh/source.json
index d8b801e9055d..b0a036978b99 100644
--- a/nixpkgs/pkgs/development/tools/mongosh/source.json
+++ b/nixpkgs/pkgs/development/tools/mongosh/source.json
@@ -1,6 +1,6 @@
 {
-  "version": "2.1.3",
-  "integrity": "sha512-kyggXyuSbjsQDjabXvXlfXW6k7MD+hByNSn8Z30dAQd+OYeM63MvEZubav2+uQUIzCsSycBqYX9xH+4cssz9gQ==",
-  "filename": "mongosh-2.1.3.tgz",
-  "deps": "sha256-kuUahlM3QJKOrepzlZlapemgFmBcQDW83Zzgv5zCHOU="
+  "version": "2.1.4",
+  "integrity": "sha512-ETkdzNa3TJCZ5kFjmlt/YC+GxQGSLVe27slzRBMp3w1oNtHe/Zi6Q8u+AeqenXqty9aAMktv6zmI0njXLdk+MA==",
+  "filename": "mongosh-2.1.4.tgz",
+  "deps": "sha256-QHTes1v0zNpy+EfW7WoAONLJ4dNIw3mbHkp4Ogd0p/s="
 }
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix b/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
index 16c65b3ae243..c404144b05a2 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune-release/default.nix
@@ -20,6 +20,14 @@ in buildDunePackage rec {
     hash = "sha256-u8TgaoeDaDLenu3s1Km/Kh85WHMtvUy7C7Q+OY588Ss=";
   };
 
+  patches = [
+    # Update tests for dune 3.14 https://github.com/tarides/dune-release/pull/486
+    (fetchpatch {
+      url = "https://github.com/tarides/dune-release/commit/fd0e11cb6d9db2acd772f5cadfb94c72bbcf67a8.patch";
+      hash = "sha256-At24bduds6UwGKGs8cqOn1qaZKElP9TPMSNPimMd1zQ=";
+    })
+  ];
+
   nativeBuildInputs = [ makeWrapper ] ++ runtimeInputs;
   buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core
                   rresult logs odoc bos yojson astring fpath ];
diff --git a/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix
index 5f4816c79896..780739c83004 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/dune/3.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, darwin, ocaml-lsp }:
+{ lib, stdenv, fetchurl, ocaml, findlib, darwin, ocaml-lsp, dune-release }:
 
 if lib.versionOlder ocaml.version "4.08"
 then throw "dune 3 is not available for OCaml ${ocaml.version}"
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.13.1";
+  version = "3.14.0";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    hash = "sha256-L+CvG0z5hknHVVtVXZ9PgdXe2HcYqJ30mI4hSlbIqRY=";
+    hash = "sha256-9NCdiRYmIf3/QkwlP6UMSSDSF5+1s9Heure76Xxosvw=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=${placeholder "out"}" "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
   passthru.tests = {
-    inherit ocaml-lsp;
+    inherit ocaml-lsp dune-release;
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/okteto/default.nix b/nixpkgs/pkgs/development/tools/okteto/default.nix
index 1c7ba093b6aa..c604d997ef26 100644
--- a/nixpkgs/pkgs/development/tools/okteto/default.nix
+++ b/nixpkgs/pkgs/development/tools/okteto/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.25.1";
+  version = "2.25.2";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-HBXp66chq+SzdEb463awolf4Uv0ScHN6MjoziYyh4kA=";
+    hash = "sha256-6ss1dWHgvsp56Ua2AejJsLC5j7de7iW80m785+F9Ur4=";
   };
 
   vendorHash = "sha256-+Adnveutg8soqK2Zwn2SNq7SEHd/Z91diHbPYHrGVrA=";
diff --git a/nixpkgs/pkgs/development/tools/pet/default.nix b/nixpkgs/pkgs/development/tools/pet/default.nix
index 3b149f2e0577..5545f172deea 100644
--- a/nixpkgs/pkgs/development/tools/pet/default.nix
+++ b/nixpkgs/pkgs/development/tools/pet/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pet";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "knqyf263";
     repo = "pet";
     rev = "v${version}";
-    sha256 = "sha256-+SjeQJXWoyNVb9AUB0BlXUJpHYRLhvVjteZypjV0FtE=";
+    sha256 = "sha256-r0pXqivfPnG4srEDKeu5MXd+rrTARfOXolI4qZPlC6w=";
   };
 
   vendorHash = "sha256-A3VHpSJc6NJz8ojg6iSnQlIXbf9m1JCzg9Vnoie0ffU=";
diff --git a/nixpkgs/pkgs/development/tools/pip-audit/default.nix b/nixpkgs/pkgs/development/tools/pip-audit/default.nix
index cd5ad59f9d23..3b9ea3b2fd8b 100644
--- a/nixpkgs/pkgs/development/tools/pip-audit/default.nix
+++ b/nixpkgs/pkgs/development/tools/pip-audit/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pip-audit";
-  version = "2.7.0";
+  version = "2.7.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-xbplBcoW78Dh5uyhaPicjs74YQfAgTc746Srxa4vu7M=";
+    hash = "sha256-3OqF4xgRWzX4m4WW2B+cUuHJpNzf2L033ZXwGH0K4b0=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/development/tools/pscale/default.nix b/nixpkgs/pkgs/development/tools/pscale/default.nix
index 98b6e7e0c3bf..de78dcbc1aa5 100644
--- a/nixpkgs/pkgs/development/tools/pscale/default.nix
+++ b/nixpkgs/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.182.0";
+  version = "0.183.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-zqwdTtNbPm9D0zfVI8zd3hFM6zLQVxXyxNOyEW1gSHY=";
+    sha256 = "sha256-+zmfMOp+ygVUErggHz+9AkpJ7AjfUBjCRcE4Uqusjz4=";
   };
 
-  vendorHash = "sha256-93Eu38tDxV4pT4HtmssFckYwdnkOaW2IY6PsqT9W73c=";
+  vendorHash = "sha256-oENe7OGAW/i5LJbqPn7PJDemdxfSsLwmpER28R6zza4=";
 
   ldflags = [
     "-s" "-w"
diff --git a/nixpkgs/pkgs/development/tools/pyenv/default.nix b/nixpkgs/pkgs/development/tools/pyenv/default.nix
index c033769c8520..d7977618c2d0 100644
--- a/nixpkgs/pkgs/development/tools/pyenv/default.nix
+++ b/nixpkgs/pkgs/development/tools/pyenv/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pyenv";
-  version = "2.3.35";
+  version = "2.3.36";
 
   src = fetchFromGitHub {
     owner = "pyenv";
     repo = "pyenv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tNTHRSzYCelByEt8bN7BhUBGQCAJfZVjWIYTr0VhbO4=";
+    hash = "sha256-ZZb7fB9VWwpmW6Qrw65/zLUBqz7E4/Bg3A7DnTt+IbE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/qtcreator/default.nix b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
index f87bb3d2b1ed..65e3dc1266fa 100644
--- a/nixpkgs/pkgs/development/tools/qtcreator/default.nix
+++ b/nixpkgs/pkgs/development/tools/qtcreator/default.nix
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtcreator";
-  version = "12.0.1";
+  version = "12.0.2";
 
   src = fetchurl {
     url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    hash = "sha256-ZvuSws7QkoKeMyHFoJEeLemDCdAxDnq5SaOaUCOOA/M=";
+    hash = "sha256-rOgRrDrum/vRpV62y0lHmkgj6tbznyA1cenXdkhFA4E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/reindeer/default.nix b/nixpkgs/pkgs/development/tools/reindeer/default.nix
index 8124d5d12ccf..211093ba8284 100644
--- a/nixpkgs/pkgs/development/tools/reindeer/default.nix
+++ b/nixpkgs/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "unstable-2024-02-03";
+  version = "unstable-2024-02-16";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
-    rev = "8dd5629ef78d359fd8d3527157b0375762f22b1e";
-    sha256 = "sha256-9WmhP8CyjwohlltfmUn5m29CmBucIH+XrfVjIJX7dS8=";
+    rev = "4968d1edb5daf2f24a22183e3c8ffebf19f898de";
+    sha256 = "sha256-Rn8wIwjprpfPjhY4gvCMrP3cz2XSutdCGVi5Wk5lB4w=";
   };
 
-  cargoSha256 = "sha256-W9YA9OZu71/bSx3EwMeueVQSTExeep+UKGYCD8c4yhc=";
+  cargoSha256 = "sha256-ec3CG4wQhtsEKdinqvlr0vAjcNYge2FMn319BmZ77f8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
diff --git a/nixpkgs/pkgs/development/tools/ruff/default.nix b/nixpkgs/pkgs/development/tools/ruff/default.nix
index 999c8e54baaf..ce737d343b70 100644
--- a/nixpkgs/pkgs/development/tools/ruff/default.nix
+++ b/nixpkgs/pkgs/development/tools/ruff/default.nix
@@ -1,7 +1,6 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
-, fetchpatch
 , installShellFiles
 , stdenv
 , darwin
@@ -11,33 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VcDDGi6fPGZ75+J7aOSr7S6Gt5bpr0vM2Sk/Utlmf4k=";
+    hash = "sha256-wCjPlKlw0IAh5oH4W7DUw3KBxR4bt9Ho7ncRL5TbD/0=";
   };
 
-  patches = [
-    # TODO: remove at next release
-    (fetchpatch {
-      name = "filter-out-test-rules-in-ruleselector-json-schema";
-      url = "https://github.com/astral-sh/ruff/commit/49c5e715f9c85aa8d0412b2ec9b1dd6f7ae24c5c.patch";
-      hash = "sha256-s0Nv5uW3TKfKgro3V3E8Q0c8uOTgOKZQx9CxXge4YWE=";
-    })
-  ];
-
-  # The following specific substitution is not working as the current directory is `/build/source` and thus has no mention of `ruff` in it.
-  # https://github.com/astral-sh/ruff/blob/866bea60a5de3c59d2537b0f3a634ae0ac9afd94/crates/ruff/tests/show_settings.rs#L12
-  # -> Just patch it so that it expects the actual current directory and not `"[BASEPATH]"`.
-  postPatch = ''
-    substituteInPlace crates/ruff/tests/snapshots/show_settings__display_default_settings.snap \
-      --replace '"[BASEPATH]"' '"'$PWD'"'
-  '';
-
-  cargoHash = "sha256-B7AiDNWEN4i/Lz9yczlRNXczQph52SMa3pcxK2AtO2A=";
+  cargoHash = "sha256-EHAlsEh3YnAhjIGC9rSgyK3gbKPCJqI6F3uAqZxv2nU=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-binstall/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-binstall/default.nix
index da6cbe70f51f..85e635307cfc 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-binstall/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-binstall";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-pUxCiVOFrn6ytzxYvaaWe6uBrSwXOSoKh3DyGNUl3rM=";
+    hash = "sha256-DevAkIzgt39V5vp+a15TBCMeYbny/TkJzyub425N7/o=";
   };
 
-  cargoHash = "sha256-uoDH440vmupcz1jYyz8i3dVuPt+/W0H9mBZgriAPC0w=";
+  cargoHash = "sha256-gcYCTKa+i2v/T1C0j89rJjD73tmiUow11E+59oiR7sk=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-deb/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-deb/default.nix
index 99838b98e924..c8f16bdf5140 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-deb/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-deb/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "kornelski";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-s/VM3MF3X+2x/0CktzbOPdo8zQMUS5z92hRGfn5P6/w=";
+    hash = "sha256-EYb1cJ+t5pI7KfL2SK8w2oeKbbdbOpUarNHFxpW79fQ=";
   };
 
-  cargoHash = "sha256-4FGnX+Uj3SYs0OBJZQrNF4fvKm8XIMdiSBOPYxF45yU=";
+  cargoHash = "sha256-eLLi79XP/G6L0+2WlVTs6xpmkXOSO+4VOt6Srw5hnvw=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
index 869a0c8bbbc3..f29943a6eada 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A tool to generaet a new Rust project by leveraging a pre-existing git repository as a template";
+    description = "A tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
     homepage = "https://github.com/cargo-generate/cargo-generate";
     changelog = "https://github.com/cargo-generate/cargo-generate/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-hack/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-hack/default.nix
index 4cc982f9433d..744000015e0f 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-hack/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-hack/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hack";
-  version = "0.6.18";
+  version = "0.6.19";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-SHLYS7XRzOC6sTUjaJI5S+a230sV69a9m7cTW5gQkXQ=";
+    hash = "sha256-dsuf3+GYsIL6B64Belj6SF9NLsZCd62VkpcDUrnr14U=";
   };
 
-  cargoHash = "sha256-vqgrffgMQWzmjIjGswObLPc63hjqXTOwJ3YrA/KyCck=";
+  cargoHash = "sha256-FGZ1Gc7LT1wee2vHMCIo2xvKvz8oj0R6oINAl/y7mKA=";
 
   # some necessary files are absent in the crate version
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
index be81bb5ea788..d805a10212b0 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
@@ -26,7 +26,7 @@
 
 let
   pname = "cargo-llvm-cov";
-  version = "0.6.2";
+  version = "0.6.5";
 
   owner = "taiki-e";
   homepage = "https://github.com/${owner}/${pname}";
@@ -37,7 +37,7 @@ let
   cargoLock = fetchurl {
     name = "Cargo.lock";
     url = "https://crates.io/api/v1/crates/${pname}/${version}/download";
-    sha256 = "sha256-iML16yjSJsyDsr9F3gyp4XTu5Z9petSUQ0jXotU5tmw=";
+    sha256 = "sha256-nx0OwijDVwDoOiA7bEqK2aVo89xxOD9EQcOn5gv65jk=";
     downloadToTemp = true;
     postFetch = ''
       tar xzf $downloadedFile ${pname}-${version}/Cargo.lock
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage {
     inherit owner;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1VfWs8f4i3YjH69A7X3/1WPxSIwPRF5osQ/1eqOUB8U=";
+    sha256 = "sha256-TYz6fAuWLUndmu6NuK4XcsUN4/IWwKZMV6aPsB70esM=";
     leaveDotGit = true;
   };
 
@@ -64,7 +64,7 @@ rustPlatform.buildRustPackage {
     cp ${cargoLock} source/Cargo.lock
   '';
 
-  cargoSha256 = "sha256-9pOfhGnktEgyTbfK4roFU7t3qcgx2yRp17hJVKsvNqw=";
+  cargoSha256 = "sha256-KygRkdYlgCgc0UX5wkCfZsaigllOVCW+h4ralv/18g8=";
 
   # `cargo-llvm-cov` reads these environment variables to find these binaries,
   # which are needed to run the tests
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index 1d940aac1e27..39b933e85f5f 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5QXTbsNp36jYrcSDmCXT5Nmhhr9TaWpF3QqaCKv5TTg=";
+    hash = "sha256-RclZ52E8xslHO5M+jwwC3BVe8QFam9/j7rlh/FoNgN8=";
   };
 
-  cargoHash = "sha256-uRgSNVleGzD75q16hd/AOl23DT1btWGuNgZ2IprGa7k=";
+  cargoHash = "sha256-On6MU76Ehk2b+9hzUXN/PHr5BQTNcGIgQZUkPFBIl2Y=";
 
   nativeBuildInputs = [
     cmake
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
index 9a1adef89190..a288c1516bfc 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-tally/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tally";
-  version = "1.0.35";
+  version = "1.0.36";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-RtpOKngi8oTCnJFXSHHlBPpNoPcco06yyB2/+S5nG04=";
+    hash = "sha256-WvOzlz/ACM+TBc5HOiQe4ELhqhAIc8pobRN/9hxmPNI=";
   };
 
-  cargoHash = "sha256-CC4F7fsQsjNAVwslxVHG3scjqWvKfjlDve27LEGXSms=";
+  cargoHash = "sha256-uud6cr77XAxzGhN5wWtUh9jD9JWsyCMufx+b2fyIm0Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
     DiskArbitration
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-tauri/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-tauri/default.nix
index 73256d0f4b3a..d8c43627b2dc 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-tauri/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-tauri/default.nix
@@ -17,20 +17,20 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "tauri";
-  version = "1.5.4";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "tauri-apps";
     repo = pname;
     rev = "tauri-v${version}";
-    hash = "sha256-1rhdvTjA53Zxx3qm/Im2uQBWbYU/HlPPUQ3txq0uLps=";
+    hash = "sha256-0LKkGpbDT6bRzoggDmTmSB8UaT11OME7OXsr+M67WVU=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   sourceRoot = "${src.name}/tooling/cli";
 
-  cargoHash = "sha256-CHX4fesnqxoeplqXGFrn4RSfGdrkhKNANvXIwMkWXDs=";
+  cargoHash = "sha256-0GJrQQsHcl/7co2hSYHgBWX3NqJwbbnBAj3zdAjA4r8=";
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isLinux [ glibc libsoup cairo gtk3 webkitgtk ]
     ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
diff --git a/nixpkgs/pkgs/development/tools/rust/measureme/Cargo.lock b/nixpkgs/pkgs/development/tools/rust/measureme/Cargo.lock
index a1e663a7d5c8..20f1f96a10b2 100644
--- a/nixpkgs/pkgs/development/tools/rust/measureme/Cargo.lock
+++ b/nixpkgs/pkgs/development/tools/rust/measureme/Cargo.lock
@@ -10,18 +10,22 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.3.8"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
- "const-random",
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -41,27 +45,20 @@ dependencies = [
 
 [[package]]
 name = "analyzeme"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
  "analyzeme 9.2.0",
- "decodeme",
+ "decodeme 10.1.2",
+ "decodeme 11.0.1",
  "flate2",
- "measureme 10.1.1",
+ "measureme 10.1.2",
+ "measureme 11.0.1",
  "memchr",
  "rustc-hash",
  "serde",
 ]
 
 [[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "arrayvec"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -91,22 +88,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "bytemuck"
-version = "1.13.1"
+name = "bitflags"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
-name = "byteorder"
-version = "1.4.3"
+name = "bytemuck"
+version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
 
 [[package]]
-name = "cc"
-version = "1.0.79"
+name = "byteorder"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "cfg-if"
@@ -116,39 +113,41 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "clap"
-version = "2.34.0"
+version = "3.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
 dependencies = [
- "ansi_term",
  "atty",
- "bitflags",
+ "bitflags 1.3.2",
+ "clap_derive",
+ "clap_lex",
+ "indexmap",
+ "once_cell",
  "strsim",
+ "termcolor",
  "textwrap",
- "unicode-width",
- "vec_map",
 ]
 
 [[package]]
-name = "const-random"
-version = "0.1.15"
+name = "clap_derive"
+version = "3.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
+checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
 dependencies = [
- "const-random-macro",
- "proc-macro-hack",
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "const-random-macro"
-version = "0.1.15"
+name = "clap_lex"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
 dependencies = [
- "getrandom",
- "once_cell",
- "proc-macro-hack",
- "tiny-keccak",
+ "os_str_bytes",
 ]
 
 [[package]]
@@ -162,48 +161,54 @@ dependencies = [
 
 [[package]]
 name = "crox"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "analyzeme 10.1.1",
- "measureme 10.1.1",
+ "analyzeme 11.0.1",
+ "clap",
+ "measureme 11.0.1",
  "rustc-hash",
  "serde",
  "serde_json",
- "structopt",
 ]
 
 [[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
 name = "csv"
-version = "1.2.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
 dependencies = [
  "csv-core",
- "itoa 1.0.6",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
 name = "csv-core"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "decodeme"
-version = "10.1.1"
+version = "10.1.2"
+source = "git+https://github.com/rust-lang/measureme?tag=10.1.2#f9f84d1a79c46e9927926c177c33eb3ea3c72979"
 dependencies = [
- "measureme 10.1.1",
+ "measureme 10.1.2",
+ "memchr",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "decodeme"
+version = "11.0.1"
+dependencies = [
+ "measureme 11.0.1",
  "memchr",
  "rustc-hash",
  "serde",
@@ -239,40 +244,29 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "flamegraph"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "analyzeme 10.1.1",
+ "analyzeme 11.0.1",
+ "clap",
  "inferno",
- "measureme 10.1.1",
- "structopt",
+ "measureme 11.0.1",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -280,9 +274,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -296,13 +290,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
 name = "heck"
-version = "0.3.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -315,21 +312,32 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
 
 [[package]]
 name = "inferno"
-version = "0.9.9"
+version = "0.11.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2a71c56e4c218f2a1d36bc5177cbfdedf89697ac68610ac3c8452cde152231"
+checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9"
 dependencies = [
  "ahash",
- "itoa 0.4.8",
- "lazy_static",
+ "is-terminal",
+ "itoa",
  "log",
  "num-format",
+ "once_cell",
  "quick-xml",
  "rgb",
  "str_stack",
@@ -345,39 +353,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys",
-]
-
-[[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
+ "hermit-abi 0.3.3",
  "rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
-[[package]]
-name = "itoa"
-version = "1.0.6"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "lazy_static"
@@ -387,21 +377,32 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.146"
+version = "0.2.151"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.1",
+ "libc",
+ "redox_syscall 0.4.1",
+]
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -409,9 +410,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "measureme"
@@ -420,7 +421,7 @@ source = "git+https://github.com/rust-lang/measureme?tag=9.2.0#9f51cde2e5dd3ef03
 dependencies = [
  "log",
  "memmap2",
- "parking_lot",
+ "parking_lot 0.11.2",
  "perf-event-open-sys 1.0.1",
  "rustc-hash",
  "smallvec",
@@ -428,11 +429,24 @@ dependencies = [
 
 [[package]]
 name = "measureme"
-version = "10.1.1"
+version = "10.1.2"
+source = "git+https://github.com/rust-lang/measureme?tag=10.1.2#f9f84d1a79c46e9927926c177c33eb3ea3c72979"
+dependencies = [
+ "log",
+ "memmap2",
+ "parking_lot 0.12.1",
+ "perf-event-open-sys 3.0.0",
+ "rustc-hash",
+ "smallvec",
+]
+
+[[package]]
+name = "measureme"
+version = "11.0.1"
 dependencies = [
  "log",
  "memmap2",
- "parking_lot",
+ "parking_lot 0.12.1",
  "perf-event-open-sys 3.0.0",
  "rustc-hash",
  "smallvec",
@@ -440,9 +454,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memmap2"
@@ -464,20 +478,20 @@ dependencies = [
 
 [[package]]
 name = "mmedit"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "decodeme",
- "measureme 10.1.1",
- "structopt",
+ "clap",
+ "decodeme 11.0.1",
+ "measureme 11.0.1",
 ]
 
 [[package]]
 name = "mmview"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "analyzeme 10.1.1",
- "measureme 10.1.1",
- "structopt",
+ "analyzeme 11.0.1",
+ "clap",
+ "measureme 11.0.1",
 ]
 
 [[package]]
@@ -487,14 +501,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
 dependencies = [
  "arrayvec",
- "itoa 1.0.6",
+ "itoa",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
 
 [[package]]
 name = "parking_lot"
@@ -504,7 +524,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
 dependencies = [
  "instant",
  "lock_api",
- "parking_lot_core",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.9",
 ]
 
 [[package]]
@@ -516,12 +546,25 @@ dependencies = [
  "cfg-if",
  "instant",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "smallvec",
  "winapi",
 ]
 
 [[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.4.1",
+ "smallvec",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
 name = "perf-event-open-sys"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -578,34 +621,28 @@ dependencies = [
 ]
 
 [[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.60"
+version = "1.0.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
+checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quick-xml"
-version = "0.18.1"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cc440ee4802a86e357165021e3e255a9143724da31db1e2ea540214c96a0f82"
+checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -616,25 +653,46 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -643,15 +701,15 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rgb"
-version = "0.8.36"
+version = "0.8.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
 dependencies = [
  "bytemuck",
 ]
@@ -664,80 +722,79 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.20"
+version = "0.38.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
+checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.1",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.193"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.43",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.97"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
- "itoa 1.0.6",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
 
 [[package]]
 name = "stack_collapse"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "analyzeme 10.1.1",
- "measureme 10.1.1",
- "structopt",
+ "analyzeme 11.0.1",
+ "clap",
+ "measureme 11.0.1",
 ]
 
 [[package]]
@@ -748,45 +805,21 @@ checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb"
 
 [[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"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "summarize"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
- "analyzeme 10.1.1",
- "measureme 10.1.1",
+ "analyzeme 11.0.1",
+ "clap",
+ "measureme 11.0.1",
  "prettytable-rs",
  "rustc-hash",
  "serde",
  "serde_json",
- "structopt",
 ]
 
 [[package]]
@@ -802,9 +835,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.18"
+version = "2.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -823,66 +856,51 @@ dependencies = [
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.11.0"
+name = "termcolor"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 dependencies = [
- "unicode-width",
+ "winapi-util",
 ]
 
 [[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+[[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy",
+ "syn 2.0.43",
 ]
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "version_check"
@@ -892,7 +910,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "version_checker"
-version = "10.1.1"
+version = "11.0.1"
 dependencies = [
  "glob",
  "regex",
@@ -921,6 +939,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
+name = "winapi-util"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -932,62 +959,148 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.43",
+]
diff --git a/nixpkgs/pkgs/development/tools/rust/measureme/default.nix b/nixpkgs/pkgs/development/tools/rust/measureme/default.nix
index 79b938b2adc6..0c97a189478d 100644
--- a/nixpkgs/pkgs/development/tools/rust/measureme/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/measureme/default.nix
@@ -2,19 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "measureme";
-  version = "10.1.1";
+  version = "11.0.1";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "measureme";
     rev = version;
-    hash = "sha256-RCh6fTa4d+/Fj5ID5Su3pCZj/O+FhITzfKixXu9G550=";
+    hash = "sha256-p8XSe/LyHrEHEuxe1uK0Iy1YoJFw/jWtFvTDMhJMmnM=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "analyzeme-9.2.0" = "sha256-YOZiux4ouWBToGFx0+fiqjcyrnSjwc+8Qfi2rLGT/18=";
+      "decodeme-10.1.2" = "sha256-20PJnBS6TCnltRuCiYkHKJcivKGDDQUrBc70hAX89bc=";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
index a1c8dd591e10..1dcd78112c4b 100644
--- a/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2024-01-29";
-  cargoSha256 = "sha256-3f+Nc2HXCQsaZ+FFSH7ML0o1yikZWhsRZmA8JtBc2TY=";
+  version = "2024-02-19";
+  cargoSha256 = "sha256-xrLjM2fx+IGkl0UQREH3PvdjpEkXWmFgG8V8/3mO674=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-6K5rK1b2APQfXOrC+Hm+0QcyfPVt+TV81Q6Fd/QjMlQ=";
+    sha256 = "sha256-Oj/RPMridKpYt3eRqUIPg9YNrj6npG8THIGuWjsamnE=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/nixpkgs/pkgs/development/tools/rye/Cargo.lock b/nixpkgs/pkgs/development/tools/rye/Cargo.lock
index f60d223aba03..85583e506891 100644
--- a/nixpkgs/pkgs/development/tools/rye/Cargo.lock
+++ b/nixpkgs/pkgs/development/tools/rye/Cargo.lock
@@ -1219,7 +1219,7 @@ dependencies = [
 [[package]]
 name = "monotrail-utils"
 version = "0.0.1"
-source = "git+https://github.com/konstin/poc-monotrail?rev=136807e1fe87e9319e0223f76b602ba5db881322#136807e1fe87e9319e0223f76b602ba5db881322"
+source = "git+https://github.com/konstin/poc-monotrail?rev=e0251f68c254f834180198b8677fcf85d4b6a844#e0251f68c254f834180198b8677fcf85d4b6a844"
 dependencies = [
  "anyhow",
  "cpufeatures",
@@ -1383,9 +1383,9 @@ dependencies = [
 
 [[package]]
 name = "pep508_rs"
-version = "0.2.4"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9d1320b78f4a5715b3ec914f32b5e85a50287ad923730e3cbf0255259432eb"
+checksum = "910c513bea0f4f833122321c0f20e8c704e01de98692f6989c2ec21f43d88b1e"
 dependencies = [
  "once_cell",
  "pep440_rs",
@@ -1792,7 +1792,7 @@ dependencies = [
 
 [[package]]
 name = "rye"
-version = "0.22.0"
+version = "0.24.0"
 dependencies = [
  "age",
  "anyhow",
diff --git a/nixpkgs/pkgs/development/tools/rye/default.nix b/nixpkgs/pkgs/development/tools/rye/default.nix
index aa3bb0674577..3c625b1edb3e 100644
--- a/nixpkgs/pkgs/development/tools/rye/default.nix
+++ b/nixpkgs/pkgs/development/tools/rye/default.nix
@@ -12,20 +12,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rye";
-  version = "0.22.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "rye";
     rev = "refs/tags/${version}";
-    hash = "sha256-gM/Vn/eBPZ39568LqUXyx+ZTTsKAVur30Qrl3GS1ID8=";
+    hash = "sha256-OiChd0qwgs3Wi4Xky27/99vBwaKNsq+4E+gpu5zwFqs=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "dialoguer-0.10.4" = "sha256-WDqUKOu7Y0HElpPxf2T8EpzAY3mY8sSn9lf0V0jyAFc=";
-      "monotrail-utils-0.0.1" = "sha256-h2uxWsDrU9j2C5OWbYsfGz0S1VsPzYrfksQVEkwd2ys=";
+      "monotrail-utils-0.0.1" = "sha256-ydNdg6VI+Z5wXe2bEzRtavw0rsrcJkdsJ5DvXhbaDE4=";
     };
   };
 
diff --git a/nixpkgs/pkgs/development/tools/schemacrawler/default.nix b/nixpkgs/pkgs/development/tools/schemacrawler/default.nix
index c47ea26c745c..29cb24f1faf2 100644
--- a/nixpkgs/pkgs/development/tools/schemacrawler/default.nix
+++ b/nixpkgs/pkgs/development/tools/schemacrawler/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "schemacrawler";
-  version = "16.21.1";
+  version = "16.21.2";
 
   src = fetchzip {
     url = "https://github.com/schemacrawler/SchemaCrawler/releases/download/v${finalAttrs.version}/schemacrawler-${finalAttrs.version}-bin.zip";
-    hash = "sha256-9tZGSWOUpQAAOQAbYxx0w734EKq2BdSYyIR4zmor4+Y=";
+    hash = "sha256-M8kHJOkbxJGpZWOZ1asGYPM76ZWSpkaYIAfWsaisXLs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/tools/sd-local/default.nix b/nixpkgs/pkgs/development/tools/sd-local/default.nix
index b8a01e2633b5..d31bd992f147 100644
--- a/nixpkgs/pkgs/development/tools/sd-local/default.nix
+++ b/nixpkgs/pkgs/development/tools/sd-local/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sd-local";
-  version = "1.0.52";
+  version = "1.0.54";
 
   src = fetchFromGitHub {
     owner = "screwdriver-cd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2EWLi42ztuohouhMZ3DXa2wHx1tgPAUH0IKbn6lQeF0=";
+    sha256 = "sha256-2R/TVKCj3abUtrzzMW907GCC1H+lxTmg4J1kHHztE8I=";
   };
 
-  vendorHash = "sha256-uHu8jPPQCJAhXE+Lzw5/9wyw7sL5REQJsPsYII+Nusc=";
+  vendorHash = "sha256-rAFfyMlnhDrb+f04S9+hNygXPaoG9mheQMxaJtXxBVw=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/sqlboiler/default.nix b/nixpkgs/pkgs/development/tools/sqlboiler/default.nix
index eccb479aa5a4..75342c9c863b 100644
--- a/nixpkgs/pkgs/development/tools/sqlboiler/default.nix
+++ b/nixpkgs/pkgs/development/tools/sqlboiler/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "sqlboiler";
-  version = "4.16.1";
+  version = "4.16.2";
 
   src = fetchFromGitHub {
     owner = "volatiletech";
     repo = "sqlboiler";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MmZ2TZZ06eiz05bkEm6E8tmGRVkInBZJGHbuPN4fMMY=";
+    hash = "sha256-akfXYFgBbG/GCatoT820w4adXWqfG9wvHuChaqkewXs=";
   };
 
   vendorHash = "sha256-BTrQPWThfJ7gWXi/Y1l/s2BmkW5lVYS/PP0WRwntQxA=";
diff --git a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
index 63d16bb0c719..afc968a3865f 100644
--- a/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -1,15 +1,16 @@
 { lib
 , rustPlatform
 , fetchCrate
+, nix-update-script
 , nodejs
 , pkg-config
 , openssl
 , stdenv
 , curl
 , Security
-, version ? "0.2.89"
-, hash ? "sha256-IPxP68xtNSpwJjV2yNMeepAS0anzGl02hYlSTvPocz8="
-, cargoHash ? "sha256-pBeQaG6i65uJrJptZQLuIaCb/WCQMhba1Z1OhYqA8Zc="
+, version ? "0.2.91"
+, hash ? "sha256-f/RK6s12ItqKJWJlA2WtOXtwX4Y0qa8bq/JHlLTAS3c="
+, cargoHash ? "sha256-3vxVI0BhNz/9m59b+P2YEIrwGwlp7K3pyPKt4VqQuHE="
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -36,4 +37,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ rizary ];
     mainProgram = "wasm-bindgen";
   };
+
+  passthru.updateScript = nix-update-script { };
 }
diff --git a/nixpkgs/pkgs/development/tools/wire/default.nix b/nixpkgs/pkgs/development/tools/wire/default.nix
index 50e57d07d413..601c7fa8df7c 100644
--- a/nixpkgs/pkgs/development/tools/wire/default.nix
+++ b/nixpkgs/pkgs/development/tools/wire/default.nix
@@ -2,19 +2,27 @@
 
 buildGoModule rec {
   pname = "wire";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "wire";
     rev = "v${version}";
-    sha256 = "sha256-9xjymiyPFMKbysgZULmcBEMI26naUrLMgTA+d7Q+DA0=";
+    hash = "sha256-bV/bb577JzGF37HmvRprxr+GWcLLiFRisURwtGDbqko=";
   };
 
-  vendorHash = "sha256-ZFUX4LgPte6oAf94D82Man/P9VMpx+CDNCTMBwiy9Fc=";
+  patches = [
+    # Bump the minimum version of Go required to compile packages in this module,
+    # as `golang.org/x/tools` requires go1.18 or later.
+    ./go-modules.patch
+  ];
+
+  vendorHash = "sha256-7IW97ZvCGlKCiVh8mKQutTdAxih7oFkXrKo4h3Pl9YY=";
 
   subPackages = [ "cmd/wire" ];
 
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     homepage = "https://github.com/google/wire";
     description = "A code generation tool that automates connecting components using dependency injection";
diff --git a/nixpkgs/pkgs/development/tools/wire/go-modules.patch b/nixpkgs/pkgs/development/tools/wire/go-modules.patch
new file mode 100644
index 000000000000..cc6facd4d2d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/wire/go-modules.patch
@@ -0,0 +1,79 @@
+diff --git a/go.mod b/go.mod
+index 944aef0..ee579ff 100644
+--- a/go.mod
++++ b/go.mod
+@@ -1,6 +1,6 @@
+ module github.com/google/wire
+ 
+-go 1.12
++go 1.18
+ 
+ require (
+ 	github.com/google/go-cmp v0.2.0
+@@ -8,3 +8,5 @@ require (
+ 	github.com/pmezard/go-difflib v1.0.0
+ 	golang.org/x/tools v0.17.0
+ )
++
++require golang.org/x/mod v0.14.0 // indirect
+diff --git a/go.sum b/go.sum
+index 8da3aae..fbca3c1 100644
+--- a/go.sum
++++ b/go.sum
+@@ -4,56 +4,8 @@ github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN
+ github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
+ 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/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+-golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+-golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
+-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+-golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+-golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+ golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
+ golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+-golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+-golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+-golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+-golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
+-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+-golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+-golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+ golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+-golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+-golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+-golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+-golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
+-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+-golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
+-golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+-golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+-golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+-golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+ golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
+ golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
+-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/nixpkgs/pkgs/development/tools/yarn-berry/default.nix b/nixpkgs/pkgs/development/tools/yarn-berry/default.nix
index d52d6d27e880..1ae3e1ef6071 100644
--- a/nixpkgs/pkgs/development/tools/yarn-berry/default.nix
+++ b/nixpkgs/pkgs/development/tools/yarn-berry/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "yarn-berry";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "yarnpkg";
     repo = "berry";
     rev = "@yarnpkg/cli/${version}";
-    hash = "sha256-9QNeXamNqRx+Bfg8nAhnImPuNFyqrHIs1eF9prSwIR4=";
+    hash = "sha256-SjWjvnq9sHdUhnZfzVC5BTQwksKcLqz8W+TTNXrIVjE=";
   };
 
   buildInputs = [
@@ -33,11 +33,13 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     homepage = "https://yarnpkg.com/";
     description = "Fast, reliable, and secure dependency management.";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ryota-ka thehedgeh0g ];
+    maintainers = with maintainers; [ ryota-ka thehedgeh0g DimitarNestorov ];
     platforms = platforms.unix;
     mainProgram = "yarn";
   };
diff --git a/nixpkgs/pkgs/development/tools/yarn-berry/update.sh b/nixpkgs/pkgs/development/tools/yarn-berry/update.sh
new file mode 100755
index 000000000000..5ce8bc02c957
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/yarn-berry/update.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p common-updater-scripts curl jq
+
+set -eou pipefail
+
+payload=$(jq -cn --rawfile query /dev/stdin '{"query": $query}' <<EOF | curl -s -H "Authorization: bearer $GITHUB_TOKEN" -d '@-' https://api.github.com/graphql
+{
+  repository(owner: "yarnpkg", name: "berry") {
+    tag: refs(refPrefix: "refs/tags/@yarnpkg/cli/", first: 50, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
+      nodes {
+        name
+      }
+    }
+  }
+}
+EOF
+)
+
+version=$(jq -r "[.data.repository.tag.nodes[].name | select(contains(\"-\")|not)] | max_by(split(\".\") | map(tonumber))" <<< "$payload")
+
+update-source-version yarn-berry "$version"
diff --git a/nixpkgs/pkgs/development/tools/yq-go/default.nix b/nixpkgs/pkgs/development/tools/yq-go/default.nix
index fb627f52e011..effd541660ea 100644
--- a/nixpkgs/pkgs/development/tools/yq-go/default.nix
+++ b/nixpkgs/pkgs/development/tools/yq-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.40.7";
+  version = "4.41.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-VvA6PYJYRejGlYDb/gyHDQSNOwDWSE7vXPqYGrVLtko=";
+    hash = "sha256-1zYem/cvvndyrWaE8wYoxouDDnQyT+VeupFF1VkuC2w=";
   };
 
   vendorHash = "sha256-5jc9AQ1T4818kvAF6SU6JEdCQWt1gRJnESXRMGvqrB0=";
diff --git a/nixpkgs/pkgs/development/tools/zed/default.nix b/nixpkgs/pkgs/development/tools/zed/default.nix
index 6164b6d4c624..d3d3e7bf35fa 100644
--- a/nixpkgs/pkgs/development/tools/zed/default.nix
+++ b/nixpkgs/pkgs/development/tools/zed/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "brimdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xyTHCBvklK8x6V7WsWDYytnVEfLcja78crvs62WJJ9o=";
+    sha256 = "sha256-1k5qw/uWe5gtDUjDcMW54ezoXOBLt4T9lRmiOS06hz8=";
   };
 
-  vendorHash = "sha256-m8GOKBwXlNhjEIkkbaIOAGslX4WRVPZ0OknGEG29b4E=";
+  vendorHash = "sha256-X1rE6/sgpB6jeTjLZJL/a7ghjRJYTXSQDHB4PmEFUmU=";
 
   subPackages = [ "cmd/zed" "cmd/zq" ];
 
diff --git a/nixpkgs/pkgs/development/web/bun/default.nix b/nixpkgs/pkgs/development/web/bun/default.nix
index c4779f96f5ea..8a1fc754ebe2 100644
--- a/nixpkgs/pkgs/development/web/bun/default.nix
+++ b/nixpkgs/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.0.26";
+  version = "1.0.27";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-UEYA6q83fxD3yQuHsQiO9bQ5gptQSipFGjE5eGUb+1c=";
+        hash = "sha256-zGc5Y/PNoU1tOHKCH9SiBBWyIxs6gyTNPKwxFhJl3w0=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-H+hmbZdRKjljskwNicLeFguo5STZ8fIxk7FHvOenuRc=";
+        hash = "sha256-IEBCZ7DrWzFs2Z97uRuQ1MsaxGqEz9/+BzTA/Qb4rnI=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-mlKspcFpeYXJuINYDvCoDEuNHJDMcDqngPNIBpD39T4=";
+        hash = "sha256-fiY8cpy8REGOaETScUJpbN0HTJT0gAfjSfGLSDBeUs8=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-mWVe8BFGSXKJYnr2QXZah1XYfir5zN5+2wQ4HfgdOyE=";
+        hash = "sha256-t48K6lueJaNcKPAuahzz2TVomWhv67SlYqeo7EBoqtM=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index bae30f873a0f..90daa0feb85b 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.40.2";
+  version = "1.40.5";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ycQN4BKuvK4FRYbHUKFFMVFg0LAG64xFiXbAkmQ46Cs=";
+    hash = "sha256-yCKmVoNVSSp04IcmaJlX7HRzx0ZsN9mfHZTVzYIWqes=";
   };
 
-  cargoHash = "sha256-5OnYtVsuf6q4nQGO1+qL+2WFaKW0k13fNFS29gKaWhk=";
+  cargoHash = "sha256-/rSzZxsA8ZynSat3J5ROPhD2ttrbAZykDs4RG7ww8pY=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
index 60ce4616c014..7e8f9eafc498 100644
--- a/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
+++ b/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
@@ -10,11 +10,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.83.1";
+  version = "0.83.2";
   shas = {
-    x86_64-linux = "sha256-0cCpFMPpFWTvoU3+HThYDDTQO7DdpdVDDer5k+3HQFY=";
-    aarch64-linux = "sha256-fOyJiD0raHxl+5tDWSpH/MbdBUqNY+HCKmTulYLXEYI=";
-    x86_64-darwin = "sha256-JwZ1FrU/MZeEnvSPDojvDdDxIF/bdZBPRCXrjbBb7WM=";
-    aarch64-darwin = "sha256-ajmr+SGj3L8TT+17NPkNcwQFESpIZuUul12Pp1oJAkY=";
+    x86_64-linux = "sha256-RJNdy5jRZK3dTgrHsWuZZAHUyy1EogyNNuBekZ3Arrk=";
+    aarch64-linux = "sha256-mpOmuqtd7ob6xvrgH4P/6GLa/hXTS/ok0WOYo7+7ZhI=";
+    x86_64-darwin = "sha256-2o8CvJ3r5+4PLNGTySqPPDTqbU0piX4D1UtZMscMdHU=";
+    aarch64-darwin = "sha256-WHeITWSHjZxfQJndxcjsp4yIERKrKXSHFZ0UBc43p8o=";
   };
 }
diff --git a/nixpkgs/pkgs/development/web/flyctl/default.nix b/nixpkgs/pkgs/development/web/flyctl/default.nix
index 8bdb040bbd5e..2c7da6ad3569 100644
--- a/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub, testers, flyctl, installShellFiles }:
+{ lib, buildGo122Module, fetchFromGitHub, testers, flyctl, installShellFiles }:
 
-buildGoModule rec {
+buildGo122Module rec {
   pname = "flyctl";
-  version = "0.1.148";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-zvSnIM+fRJqVvPYXiV/HBF3Qgpv4yhPyhp6rGhjEoPU=";
+    hash = "sha256-A0mlfTeAAeMvmzIvWGALmvMGtGOgVU3X9kvSyrvtK54=";
   };
 
-  vendorHash = "sha256-gcrqd8QKJY6cxw7fbrxzd5Om3I99RAMWs2q9Mu7ID2A=";
+  vendorHash = "sha256-9l9zft37cGqVp6SBCc4bQcyNLpzSrLDbC++0ywkpDYU=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/web/nodejs/v18.nix b/nixpkgs/pkgs/development/web/nodejs/v18.nix
index ef8ea595eb2c..e5551dc29c55 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v18.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v18.nix
@@ -20,8 +20,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "18.19.0";
-  sha256 = "sha256-9StBryBZapq9jtdSQYN+xDlFRoIhRIu/hBNh4gkYGbY=";
+  version = "18.19.1";
+  sha256 = "sha256-CQ+WouzeCAtrOCxtZCvKXQvkcCp4y1Vb578CsgvRbe0=";
   patches = [
     ./disable-darwin-v8-system-instrumentation.patch
     ./bypass-darwin-xcrun-node16.patch
diff --git a/nixpkgs/pkgs/development/web/nodejs/v20.nix b/nixpkgs/pkgs/development/web/nodejs/v20.nix
index d1a75dcdf7e5..5b75793e8f69 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v20.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v20.nix
@@ -8,8 +8,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "20.11.0";
-  sha256 = "sha256-MYB+vu6wScU/F2XkqVrtaUdqS2lt0QDLU5q2aNeVC0A=";
+  version = "20.11.1";
+  sha256 = "sha256-d4E+2/P38W0tNdM1NEPe5OYdXuhNnjE4x1OKPAylIJ4=";
   patches = [
     ./revert-arm64-pointer-auth.patch
     ./disable-darwin-v8-system-instrumentation-node19.patch
diff --git a/nixpkgs/pkgs/development/web/nodejs/v21.nix b/nixpkgs/pkgs/development/web/nodejs/v21.nix
index 1a34a5c9cc75..6a0aa535d41a 100644
--- a/nixpkgs/pkgs/development/web/nodejs/v21.nix
+++ b/nixpkgs/pkgs/development/web/nodejs/v21.nix
@@ -8,8 +8,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "21.6.1";
-  sha256 = "sha256-eoLzVtHcul12bw4dTHUOLhjWKQtxC30ZqHJSQeevH2A=";
+  version = "21.6.2";
+  sha256 = "sha256-GRKU1EXR5oADWazIF0UpseGOECFH3F9ZYDDT3OlpMeU=";
   patches = [
     ./disable-darwin-v8-system-instrumentation-node19.patch
     ./bypass-darwin-xcrun-node16.patch
diff --git a/nixpkgs/pkgs/games/endless-sky/default.nix b/nixpkgs/pkgs/games/endless-sky/default.nix
index 9a3e86117cef..ffb71f393ca2 100644
--- a/nixpkgs/pkgs/games/endless-sky/default.nix
+++ b/nixpkgs/pkgs/games/endless-sky/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "endless-sky";
-  version = "0.10.4";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "endless-sky";
     repo = "endless-sky";
     rev = "v${version}";
-    sha256 = "sha256-VTg8H6umq9yMMP274StIJfEZZvUFDILiMKhioam58QE=";
+    sha256 = "sha256-3mprmW6K8pYs7J2q71fohsh9fZEP2RZjN1rSWUAwbhg=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/games/factorio/versions.json b/nixpkgs/pkgs/games/factorio/versions.json
index 9e5f6d3e6533..a627e967d199 100644
--- a/nixpkgs/pkgs/games/factorio/versions.json
+++ b/nixpkgs/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.101.tar.xz",
+        "name": "factorio_alpha_x64-1.1.104.tar.xz",
         "needsAuth": true,
-        "sha256": "07f8hcyf4hmf9lpa2ljm6ygpaaj2yd28da4krwa5yzjvqs88b4fq",
+        "sha256": "0aizllbfzbn2j0560n4f823jqq7v7qz813an4wlm39rfsfx7b0vq",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/alpha/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/alpha/linux64",
+        "version": "1.1.104"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.101.tar.xz",
+        "name": "factorio_alpha_x64-1.1.104.tar.xz",
         "needsAuth": true,
-        "sha256": "07f8hcyf4hmf9lpa2ljm6ygpaaj2yd28da4krwa5yzjvqs88b4fq",
+        "sha256": "0aizllbfzbn2j0560n4f823jqq7v7qz813an4wlm39rfsfx7b0vq",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/alpha/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/alpha/linux64",
+        "version": "1.1.104"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.101.tar.xz",
+        "name": "factorio_demo_x64-1.1.104.tar.xz",
         "needsAuth": false,
-        "sha256": "14cnz4y1iqjv8ks0w1k60qy1nqjn33wajwzdpnmxgcz01rzfqd8a",
+        "sha256": "0x08dy6pagfpqc9c2cl239b1f7pf0p4cghzp7avxmbkmbl1fan2l",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/demo/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/demo/linux64",
+        "version": "1.1.104"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.101.tar.xz",
+        "name": "factorio_demo_x64-1.1.104.tar.xz",
         "needsAuth": false,
-        "sha256": "14cnz4y1iqjv8ks0w1k60qy1nqjn33wajwzdpnmxgcz01rzfqd8a",
+        "sha256": "0x08dy6pagfpqc9c2cl239b1f7pf0p4cghzp7avxmbkmbl1fan2l",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/demo/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/demo/linux64",
+        "version": "1.1.104"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.101.tar.xz",
+        "name": "factorio_headless_x64-1.1.104.tar.xz",
         "needsAuth": false,
-        "sha256": "14l3cg8swl3l7lzp44j4zk9wldzf4g23vda67wyzfyx82pvad206",
+        "sha256": "10qmq2mw2j97s64skwr3m7hmv21h3m0r8rdhnyfrhmrxn8x3a4wf",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/headless/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/headless/linux64",
+        "version": "1.1.104"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.101.tar.xz",
+        "name": "factorio_headless_x64-1.1.104.tar.xz",
         "needsAuth": false,
-        "sha256": "14l3cg8swl3l7lzp44j4zk9wldzf4g23vda67wyzfyx82pvad206",
+        "sha256": "10qmq2mw2j97s64skwr3m7hmv21h3m0r8rdhnyfrhmrxn8x3a4wf",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.101/headless/linux64",
-        "version": "1.1.101"
+        "url": "https://factorio.com/get-download/1.1.104/headless/linux64",
+        "version": "1.1.104"
       }
     }
   }
diff --git a/nixpkgs/pkgs/games/freeciv/default.nix b/nixpkgs/pkgs/games/freeciv/default.nix
index bccec663dbaa..9ff36c949ce3 100644
--- a/nixpkgs/pkgs/games/freeciv/default.nix
+++ b/nixpkgs/pkgs/games/freeciv/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "3.0.9";
+  version = "3.0.10";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-vtkGV97FG43HIKPJ/of7jXWSrwHWgHUjwtq0XJPeKws=";
+    hash = "sha256-f+VJYWsfsoGLs9Ypk5cJQgn86PhsJ/6ODDjlnp84Frg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/games/heroic/default.nix b/nixpkgs/pkgs/games/heroic/default.nix
index ef3f13dc1bf0..03165fa5df7d 100644
--- a/nixpkgs/pkgs/games/heroic/default.nix
+++ b/nixpkgs/pkgs/games/heroic/default.nix
@@ -17,18 +17,18 @@
 let appName = "heroic";
 in stdenv.mkDerivation rec {
   pname = "heroic-unwrapped";
-  version = "2.12.1";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "Heroic-Games-Launcher";
     repo = "HeroicGamesLauncher";
     rev = "v${version}";
-    hash = "sha256-dfyyxE2U5rSSoTY2L5bKsnjQ8u53GgAXa+V+idDr51Q=";
+    hash = "sha256-02agp4EGT23QBKC8j1JIAkzVLRykFl55aH/wPF0bU/Y=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-27r6lZiD1Ptk0WIYdwNLSZy6iMnmaZjKXBUjr+5+1lQ=";
+    hash = "sha256-hd0wY1an12zY0E6VPjiD23Mn5ZDPvFvIdu6FGoc7nYY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/games/minesweep-rs/default.nix b/nixpkgs/pkgs/games/minesweep-rs/default.nix
index b2445fe904a5..454be1129634 100644
--- a/nixpkgs/pkgs/games/minesweep-rs/default.nix
+++ b/nixpkgs/pkgs/games/minesweep-rs/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "minesweep-rs";
-  version = "6.0.52";
+  version = "6.0.54";
 
   src = fetchFromGitHub {
     owner = "cpcloud";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XSB0SrZCXnIeZGYAc/MEWe+rM5D36jkM2MJjx64r/bU=";
+    hash = "sha256-FzMCqsPBcbblItRzfnY43glY4We9jk0eBxjG0SZnau8=";
   };
 
-  cargoHash = "sha256-zSEJsUKLfjZVZxQBtbUflYv4FXUpFCrAGI+6YUJrNnI=";
+  cargoHash = "sha256-VjIn4k/OuxsXLJ2LOk43LKHo0PrPyMigNOO2VVYZQYw=";
 
   meta = with lib; {
     description = "Sweep some mines for fun, and probably not for profit";
diff --git a/nixpkgs/pkgs/games/openmw/tes3mp.nix b/nixpkgs/pkgs/games/openmw/tes3mp.nix
index 5662f2356833..915c006f9137 100644
--- a/nixpkgs/pkgs/games/openmw/tes3mp.nix
+++ b/nixpkgs/pkgs/games/openmw/tes3mp.nix
@@ -27,6 +27,16 @@ let
       sha256 = "WIaJkSQnoOm9T7GoAwmWl7fNg79coIo/ILUsWcbH+lA=";
     };
 
+    patches = [
+      # gcc-13 build fix:
+      #   https://github.com/TES3MP/CrabNet/pull/18
+      (fetchpatch {
+        name = "gcc-13.patch";
+        url = "https://github.com/TES3MP/CrabNet/commit/3ec9a338a7cefd5cc751c9d29095cafa4c73be20.patch";
+        hash = "sha256-zE87icjX9GSnApgKQXj0K4IjlrReV/upFLjVgNYkNfM=";
+      })
+    ];
+
     cmakeFlags = [
       "-DCRABNET_ENABLE_DLL=OFF"
     ];
@@ -88,9 +98,18 @@ let
     '';
 
     patches = [
+      # glibc-2.34 support
       (fetchpatch {
         url = "https://gitlab.com/OpenMW/openmw/-/commit/98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch";
-        sha256 = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw=";
+        hash = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw=";
+      })
+
+      # gcc-13 build fix:
+      #   https://github.com/TES3MP/TES3MP/pull/674
+      (fetchpatch {
+        name = "gcc-13.patch";
+        url = "https://github.com/TES3MP/TES3MP/commit/7921f71a79e96f817a2009100e5105a7948b3fe2.patch";
+        hash = "sha256-mpxuOSPA2xixgBeYXsxutEUI7VJL5PxAeZgaNU7YkJQ=";
       })
 
       # https://github.com/TES3MP/openmw-tes3mp/issues/552
diff --git a/nixpkgs/pkgs/games/openrct2/default.nix b/nixpkgs/pkgs/games/openrct2/default.nix
index c38c1ae8031d..485b7104b20a 100644
--- a/nixpkgs/pkgs/games/openrct2/default.nix
+++ b/nixpkgs/pkgs/games/openrct2/default.nix
@@ -30,7 +30,7 @@
 }:
 
 let
-  openrct2-version = "0.4.7";
+  openrct2-version = "0.4.8";
 
   # Those versions MUST match the pinned versions within the CMakeLists.txt
   # file. The REPLAYS repository from the CMakeLists.txt is not necessary.
@@ -43,7 +43,7 @@ let
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${openrct2-version}";
-    hash = "sha256-2nSzXbZH1o+BEaxhdQTCM/u4Qbun4tqBKjQ4z7owHeg=";
+    hash = "sha256-jSKAgohNMHuyOu4gUHyyZf1I7UrsXGDV5XwwK1DQPyM=";
   };
 
   objects-src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/games/osu-lazer/update-bin.sh b/nixpkgs/pkgs/games/osu-lazer/update-bin.sh
index 0aa5e97751b9..182875a42731 100755
--- a/nixpkgs/pkgs/games/osu-lazer/update-bin.sh
+++ b/nixpkgs/pkgs/games/osu-lazer/update-bin.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../. -i bash -p unzip curl jq common-updater-scripts
+#!nix-shell -I nixpkgs=./. -i bash -p unzip curl jq common-updater-scripts
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/nixpkgs/pkgs/games/osu-lazer/update.sh b/nixpkgs/pkgs/games/osu-lazer/update.sh
index 8e9849db1e16..7ef726621a09 100755
--- a/nixpkgs/pkgs/games/osu-lazer/update.sh
+++ b/nixpkgs/pkgs/games/osu-lazer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../. -i bash -p curl jq common-updater-scripts
+#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/nixpkgs/pkgs/games/pysolfc/default.nix b/nixpkgs/pkgs/games/pysolfc/default.nix
index c543434b610d..7315d5e2724f 100644
--- a/nixpkgs/pkgs/games/pysolfc/default.nix
+++ b/nixpkgs/pkgs/games/pysolfc/default.nix
@@ -7,21 +7,21 @@
 }:
 
 buildPythonApplication rec {
-  pname = "PySolFC";
-  version = "2.20.1";
+  pname = "pysolfc";
+  version = "2.21.0";
 
   src = fetchzip {
-    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC/PySolFC-${version}/PySolFC-${version}.tar.xz";
-    hash = "sha256-mEnsq8Su0ses+nqoSFC+Wr0MHY7aTDMbtDV8toYVNPY=";
+    url = "mirror://sourceforge/pysolfc/PySolFC-${version}.tar.xz";
+    hash = "sha256-Deye7KML5G6RZkth2veVgPOWZI8gnusEvszlrPTAhag=";
   };
 
   cardsets = fetchzip {
-    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySolFC-Cardsets/PySolFC-Cardsets-2.2/PySolFC-Cardsets-2.2.tar.bz2";
+    url = "mirror://sourceforge/pysolfc/PySolFC-Cardsets-2.2.tar.bz2";
     hash = "sha256-mWJ0l9rvn9KeZ9rCWy7VjngJzJtSQSmG8zGcYFE4yM0=";
   };
 
   music = fetchzip {
-    url = "https://versaweb.dl.sourceforge.net/project/pysolfc/PySol-Music/PySol-Music-4.50/pysol-music-4.50.tar.xz";
+    url = "mirror://sourceforge/pysolfc/pysol-music-4.50.tar.xz";
     hash = "sha256-sOl5U98aIorrQHJRy34s0HHaSW8hMUE7q84FMQAj5Yg=";
   };
 
diff --git a/nixpkgs/pkgs/games/speed-dreams/default.nix b/nixpkgs/pkgs/games/speed-dreams/default.nix
index a44c3d670558..bdfc68f837d1 100644
--- a/nixpkgs/pkgs/games/speed-dreams/default.nix
+++ b/nixpkgs/pkgs/games/speed-dreams/default.nix
@@ -1,9 +1,9 @@
 { fetchurl, lib, stdenv, libGLU, libGL, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
 libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat,
-libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkg-config, libvorbis, runtimeShell, curl }:
+libpng, zlib, bash, SDL2, SDL2_mixer, enet, libjpeg, cmake, pkg-config, libvorbis, runtimeShell, curl, copyDesktopItems, makeDesktopItem }:
 
 let
-  version = "2.2.3-r7616";
+  version = "2.3.0-r8786";
   shortVersion = builtins.substring 0 5 version;
 in
 stdenv.mkDerivation rec {
@@ -12,22 +12,22 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-base-${version}.tar.xz";
-    sha256 = "sha256-GvB8SDZB9UivJSsQfMMon9N5MURdxTOwsaN4F0XQUCE=";
+    sha256 = "sha256-DUyMs9Hr1PYgmNVwBY/e6snVeGl9GX0AnZ7S+TFABKQ=";
   };
 
   cars-and-tracks = fetchurl {
     url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-hq-cars-and-tracks-${version}.tar.xz";
-    sha256 = "sha256-BuryCUvBD7rKmApCNsTkRN0UJ1q6P3sdYrSzpTqdTHc=";
+    sha256 = "sha256-WT+W6uuw4BRSbF1Cw123q3v9qSCvBQ7TcQ/Y0RV/7Js=";
   };
 
   more-cars-and-tracks = fetchurl {
     url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-more-hq-cars-and-tracks-${version}.tar.xz";
-    sha256 = "sha256-GSCHYbJS352yAMczzss7tYSQXwLQV68rv/XkyGy+GoY=";
+    sha256 = "sha256-psApv+Z1HDFvh5bzt125mo/ZvO5rjee/KhOf45iKnKk=";
   };
 
   wip-cars-and-tracks = fetchurl {
     url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-wip-cars-and-tracks-${version}.tar.xz";
-    sha256 = "sha256-r/IOSf+UZg2e+WIHn2QNDO6qQUhpIJvh7EF2jQ7lyyA=";
+    sha256 = "sha256-OEAbqFfO2PzHP7+eAtPNn3Ql6fYNTKzzQW8lHe9KDXM=";
   };
 
   sourceRoot = ".";
@@ -54,16 +54,30 @@ stdenv.mkDerivation rec {
       echo "$i"' "$@"' >> "$out/bin/$(basename "$i")"
       chmod a+x "$out/bin/$(basename "$i")"
     done
+
+    mkdir -p $out/share/pixmaps/
+    ln -s "$out/share/games/speed-dreams-2/data/icons/icon.png" "$out/share/pixmaps/speed-dreams-2.png"
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Speed Dreams 2";
+      exec = "speed-dreams-2";
+      icon = "speed-dreams-2.png";
+      desktopName = "speed-dreams-2";
+      comment = "The Open Racing Car Simulator Fork";
+      categories = [ "Application" "Game" ];
+    })
+  ];
+
   # RPATH of binary /nix/store/.../lib64/games/speed-dreams-2/drivers/shadow_sc/shadow_sc.so contains a forbidden reference to /build/
   cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" ];
 
-  nativeBuildInputs = [ pkg-config cmake ];
+  nativeBuildInputs = [ pkg-config cmake copyDesktopItems ];
 
   buildInputs = [ libpng libGLU libGL freeglut libX11 plib openal freealut libXrandr xorgproto
     libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat
-    SDL2 enet libjpeg openscenegraph libvorbis curl ];
+    SDL2 SDL2_mixer enet libjpeg openscenegraph libvorbis curl ];
 
   meta = {
     description = "Car racing game - TORCS fork with more experimental approach";
diff --git a/nixpkgs/pkgs/games/starsector/default.nix b/nixpkgs/pkgs/games/starsector/default.nix
index 72ca3f5b897b..12b3fa5665d8 100644
--- a/nixpkgs/pkgs/games/starsector/default.nix
+++ b/nixpkgs/pkgs/games/starsector/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "starsector";
-  version = "0.97a-RC8";
+  version = "0.97a-RC10";
 
   src = fetchzip {
     url = "https://f005.backblazeb2.com/file/fractalsoftworks/release/starsector_linux-${version}.zip";
-    sha256 = "sha256-mfx6tmgIT+bMEpMXAcHVMMJMr1zlALStpoUxYw8MYsY=";
+    sha256 = "sha256-GTzFY7iUB0xtUk9di8LKAgZwCOjqvv2j5QFSUKAfNDU=";
   };
 
   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
diff --git a/nixpkgs/pkgs/games/stone-kingdoms/default.nix b/nixpkgs/pkgs/games/stone-kingdoms/default.nix
index e49db727b9e8..3138e1fc3aa8 100644
--- a/nixpkgs/pkgs/games/stone-kingdoms/default.nix
+++ b/nixpkgs/pkgs/games/stone-kingdoms/default.nix
@@ -11,13 +11,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "stone-kingdoms";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitLab {
     owner = "stone-kingdoms";
     repo = pname;
     rev = version;
-    hash = "sha256-FQrg/1/nfFC/irCWSLbnb9GYSUv//ovvcjzvIg94oEI=";
+    hash = "sha256-qdaGowzAmMSCJrXzWLPDmyICsmvs0w+tfTsqKQewzJ8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/games/torcs/default.nix b/nixpkgs/pkgs/games/torcs/default.nix
index 4764db4413ed..9c712ae41a43 100644
--- a/nixpkgs/pkgs/games/torcs/default.nix
+++ b/nixpkgs/pkgs/games/torcs/default.nix
@@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  postInstall = ''
+    install -D -m644 Ticon.png $out/share/pixmaps/torcs.png
+    install -D -m644 torcs.desktop $out/share/applications/torcs.desktop
+  '';
+
   postPatch = ''
     sed -i -e s,/bin/bash,`type -P bash`, src/linux/torcs.in
   '';
diff --git a/nixpkgs/pkgs/games/trigger/default.nix b/nixpkgs/pkgs/games/trigger/default.nix
index cb3227f24e3e..57bc75d53820 100644
--- a/nixpkgs/pkgs/games/trigger/default.nix
+++ b/nixpkgs/pkgs/games/trigger/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, stdenv, runtimeShell, SDL2, freealut, SDL2_image, openal, physfs
-, zlib, libGLU, libGL, glew, tinyxml-2 }:
+, zlib, libGLU, libGL, glew, tinyxml-2, copyDesktopItems, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "trigger-rally";
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "016bc2hczqscfmngacim870hjcsmwl8r3aq8x03vpf22s49nw23z";
   };
 
+  nativeBuildInputs = [ copyDesktopItems ];
+
   buildInputs = [
     SDL2
     freealut
@@ -42,8 +44,22 @@ stdenv.mkDerivation rec {
     exec $out/games/trigger-rally "$@"
     EOF
     chmod +x $out/bin/trigger-rally
+
+    mkdir -p $out/share/pixmaps/
+    ln -s $out/share/games/trigger-rally/icon/trigger-rally-icons.svg $out/share/pixmaps/trigger.svg
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Trigger";
+      exec = "trigger-rally";
+      icon = "trigger";
+      desktopName = "Trigger";
+      comment = "Fast-paced 3D single-player rally racing game";
+      categories = [ "Game" "ActionGame" ];
+    })
+  ];
+
   meta = {
     description = "A fast-paced single-player racing game";
     homepage = "http://trigger-rally.sourceforge.net/";
diff --git a/nixpkgs/pkgs/misc/fastly/default.nix b/nixpkgs/pkgs/misc/fastly/default.nix
index 3a1efa9c15be..da323d734239 100644
--- a/nixpkgs/pkgs/misc/fastly/default.nix
+++ b/nixpkgs/pkgs/misc/fastly/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "10.8.0";
+  version = "10.8.2";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XlfTtA4jYFrs1W8pyulkqbhrRt8vS+oPB/g9/tIW8Ws=";
+    hash = "sha256-IUdpnbYxwiS1ibmqvULAhXRAzr9hmJeRKVWo2w1Odrk=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -33,7 +33,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-sN6kJspIG3XKW71sTjINE+hoWHNbd8ZmVEXNcvuvThg=";
+  vendorHash = "sha256-EzryGtjLwxyqjVt544LFBEO8T3Shte60C8RO0Uo2Boc=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/misc/lilypond/unstable.nix b/nixpkgs/pkgs/misc/lilypond/unstable.nix
index ad2560a751cb..5013f88dbdfc 100644
--- a/nixpkgs/pkgs/misc/lilypond/unstable.nix
+++ b/nixpkgs/pkgs/misc/lilypond/unstable.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, lilypond }:
 
 lilypond.overrideAttrs (oldAttrs: rec {
-  version = "2.25.12";
+  version = "2.25.13";
   src = fetchurl {
     url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
-    hash = "sha256-6zOa+mvXN1SQYgUimdxkYQ/Eh+iaCb+FeXe/dglbHmk=";
+    hash = "sha256-ojoW3hq+DvgGlvWSRNk9VCooRzi5spp8o8oKqb74tmc=";
   };
 
   passthru.updateScript = {
diff --git a/nixpkgs/pkgs/misc/vencord/default.nix b/nixpkgs/pkgs/misc/vencord/default.nix
index d1398d650627..ccb02d47c9b7 100644
--- a/nixpkgs/pkgs/misc/vencord/default.nix
+++ b/nixpkgs/pkgs/misc/vencord/default.nix
@@ -5,8 +5,8 @@
 , buildWebExtension ? false
 }:
 let
-  version = "1.6.7";
-  gitHash = "8a168bd";
+  version = "1.6.9";
+  gitHash = "f1bdf38";
 in
 buildNpmPackage rec {
   pname = "vencord";
@@ -16,7 +16,7 @@ buildNpmPackage rec {
     owner = "Vendicated";
     repo = "Vencord";
     rev = "v${version}";
-    hash = "sha256-opQm0/nBt0O9iVPbLJAn5G2wPe20mhWroG0Y7ug3S7A=";
+    hash = "sha256-ROdp/ZajDvePgTksncPigATkogd3q1OqHl3xPw33txU=";
   };
 
   ESBUILD_BINARY_PATH = lib.getExe (esbuild.overrideAttrs (final: _: {
@@ -34,7 +34,7 @@ buildNpmPackage rec {
   npmRebuildFlags = [ "|| true" ];
 
   makeCacheWritable = true;
-  npmDepsHash = "sha256-78eZrnXRZwu365mKoBonrpy1fP/chVoQ2qIOhUkdWc8=";
+  npmDepsHash = "sha256-55ggitOOHk4BdNq8AlV0n75eWAbiya5qGr0yCS8vNF4=";
   npmFlags = [ "--legacy-peer-deps" ];
   npmBuildScript = if buildWebExtension then "buildWeb" else "build";
   npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];
diff --git a/nixpkgs/pkgs/misc/vencord/package-lock.json b/nixpkgs/pkgs/misc/vencord/package-lock.json
index ee2e842aca57..3e9f21af4796 100644
--- a/nixpkgs/pkgs/misc/vencord/package-lock.json
+++ b/nixpkgs/pkgs/misc/vencord/package-lock.json
@@ -1,12 +1,12 @@
 {
     "name": "vencord",
-    "version": "1.6.7",
+    "version": "1.6.9",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
             "name": "vencord",
-            "version": "1.6.7",
+            "version": "1.6.9",
             "license": "GPL-3.0-or-later",
             "dependencies": {
                 "@sapphi-red/web-noise-suppressor": "0.3.3",
@@ -894,9 +894,9 @@
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "18.19.14",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.14.tgz",
-            "integrity": "sha512-EnQ4Us2rmOS64nHDWr0XqAD8DsO6f3XR6lf9UIIrZQpUzPVdN/oPuEzfDWNHSyXLvoGgjuEm/sPwFGSSs35Wtg==",
+            "version": "18.19.17",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz",
+            "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==",
             "dev": true,
             "dependencies": {
                 "undici-types": "~5.26.4"
@@ -915,9 +915,9 @@
             "dev": true
         },
         "node_modules/@types/react": {
-            "version": "18.2.51",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.51.tgz",
-            "integrity": "sha512-XeoMaU4CzyjdRr3c4IQQtiH7Rpo18V07rYZUucEZQwOUEtGgTXv7e6igQiQ+xnV6MbMe1qjEmKdgMNnfppnXfg==",
+            "version": "18.2.55",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.55.tgz",
+            "integrity": "sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==",
             "dev": true,
             "dependencies": {
                 "@types/prop-types": "*",
@@ -926,9 +926,9 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.18",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
-            "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
+            "version": "18.2.19",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.19.tgz",
+            "integrity": "sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==",
             "dev": true,
             "dependencies": {
                 "@types/react": "*"
@@ -941,9 +941,9 @@
             "dev": true
         },
         "node_modules/@types/semver": {
-            "version": "7.5.6",
-            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
-            "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+            "version": "7.5.7",
+            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz",
+            "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==",
             "dev": true
         },
         "node_modules/@types/yauzl": {
@@ -1872,9 +1872,9 @@
             "dev": true
         },
         "node_modules/diff": {
-            "version": "5.1.0",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
-            "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+            "version": "5.2.0",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+            "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
             "dev": true,
             "engines": {
                 "node": ">=0.3.1"
@@ -2306,9 +2306,9 @@
             }
         },
         "node_modules/escalade": {
-            "version": "3.1.1",
-            "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-            "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+            "version": "3.1.2",
+            "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+            "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
             "dev": true,
             "engines": {
                 "node": ">=6"
@@ -2670,9 +2670,9 @@
             }
         },
         "node_modules/fastq": {
-            "version": "1.17.0",
-            "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
-            "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
+            "version": "1.17.1",
+            "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+            "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
             "dev": true,
             "dependencies": {
                 "reusify": "^1.0.4"
@@ -3052,9 +3052,9 @@
             }
         },
         "node_modules/hasown": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
-            "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
+            "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
             "dev": true,
             "dependencies": {
                 "function-bind": "^1.1.2"
@@ -4052,9 +4052,9 @@
             }
         },
         "node_modules/postcss": {
-            "version": "8.4.33",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
-            "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+            "version": "8.4.35",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
+            "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
             "dev": true,
             "funding": [
                 {
@@ -4485,9 +4485,9 @@
             }
         },
         "node_modules/semver": {
-            "version": "7.5.4",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-            "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+            "version": "7.6.0",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+            "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
             "dev": true,
             "dependencies": {
                 "lru-cache": "^6.0.0"
@@ -4743,9 +4743,9 @@
             }
         },
         "node_modules/spdx-exceptions": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz",
-            "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==",
+            "version": "2.5.0",
+            "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+            "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
             "dev": true
         },
         "node_modules/spdx-expression-parse": {
@@ -4759,9 +4759,9 @@
             }
         },
         "node_modules/spdx-license-ids": {
-            "version": "3.0.16",
-            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
-            "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+            "version": "3.0.17",
+            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+            "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
             "dev": true
         },
         "node_modules/split-string": {
diff --git a/nixpkgs/pkgs/misc/vencord/update.sh b/nixpkgs/pkgs/misc/vencord/update.sh
index 0317f695f91f..8ba180bb6fd7 100755
--- a/nixpkgs/pkgs/misc/vencord/update.sh
+++ b/nixpkgs/pkgs/misc/vencord/update.sh
@@ -1,7 +1,9 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../.. -i bash -p curl jq common-updater-scripts prefetch-npm-deps nodejs
+#! nix-shell -i bash -p curl jq common-updater-scripts prefetch-npm-deps nodejs
 set -eou pipefail
 
+pkgDir="$(dirname "$(readlink -f "$0")")"
+
 tempDir=$(mktemp -d)
 
 ghTags=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/Vendicated/Vencord/tags")
@@ -15,10 +17,8 @@ npm install --legacy-peer-deps -f
 npmDepsHash=$(prefetch-npm-deps ./package-lock.json)
 popd
 
-pushd ../../..
 update-source-version vencord "${latestTag#v}"
-popd
 
-sed -E 's#\bgitHash = ".*?"#gitHash = "'"${gitHash:0:7}"'"#' -i default.nix
-sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i default.nix
-cp "$tempDir/package-lock.json" package-lock.json
+sed -E 's#\bgitHash = ".*?"#gitHash = "'"${gitHash:0:7}"'"#' -i "$pkgDir/default.nix"
+sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i "$pkgDir/default.nix"
+cp "$tempDir/package-lock.json" "$pkgDir/package-lock.json"
diff --git a/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix b/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
index 549acdce24f0..7cb63d6ef16d 100644
--- a/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/yabai/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "yabai";
-  version = "6.0.11";
+  version = "6.0.13";
 
   test-version = testers.testVersion {
     package = yabai;
@@ -53,7 +53,7 @@ in
 
     src = fetchzip {
       url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
-      hash = "sha256-CfyuWvxkeZQVuwMbX90CZF0RiY6q+o0WtfE3H9Z8q1o=";
+      hash = "sha256-71Dw/5wqoHE6HEhGA/CJA2WVgN3EifdyBO0gLFOwfJA=";
     };
 
     nativeBuildInputs = [
@@ -89,7 +89,7 @@ in
       owner = "koekeishiya";
       repo = "yabai";
       rev = "v${version}";
-      hash = "sha256-HaflgZJ7QqooaSUNW+Uu0LD9+AVu4hHyJtILUrOC9+I=";
+      hash = "sha256-jt1PwMkhWBWAFYXJ1HxVLwJY9OmNDzlohB5krIsvWfg=";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/linux/checkpolicy/default.nix b/nixpkgs/pkgs/os-specific/linux/checkpolicy/default.nix
index 5b08739667d5..7e5f1e496522 100644
--- a/nixpkgs/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "checkpolicy";
-  version = "3.5";
+  version = "3.6";
   inherit (libsepol) se_url;
 
   src = fetchurl {
     url = "${se_url}/${version}/checkpolicy-${version}.tar.gz";
-    sha256 = "sha256-eqSKsiIqC5iBER1tf3DDAU09kziCfZ4C3xBaaMDfXbw=";
+    sha256 = "sha256-GzRrPN1PinihV2J7rWSjs0ecZ7ahnRXm1chpRiDq28E=";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/nixpkgs/pkgs/os-specific/linux/esdm/default.nix b/nixpkgs/pkgs/os-specific/linux/esdm/default.nix
index 150e3b95b4f1..f4db69e244b4 100644
--- a/nixpkgs/pkgs/os-specific/linux/esdm/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/esdm/default.nix
@@ -60,13 +60,13 @@ assert cryptoBackend == "openssl" || cryptoBackend == "botan" || cryptoBackend =
 
 stdenv.mkDerivation rec {
   pname = "esdm";
-  version = "1.0.0";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "smuellerDD";
     repo = "esdm";
     rev = "v${version}";
-    sha256 = "sha256-q6TGL1agltV9CFfcA6hZszVwGIBBngs22ZqhQgc9FeM=";
+    sha256 = "sha256-J7iVp6lLjR2JPdpppnqgV5Ke+X9TcZaS5V1ffejI5yE=";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja ];
diff --git a/nixpkgs/pkgs/os-specific/linux/ethq/default.nix b/nixpkgs/pkgs/os-specific/linux/ethq/default.nix
index f966e285471e..d103604294a4 100644
--- a/nixpkgs/pkgs/os-specific/linux/ethq/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ethq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ethq";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "isc-projects";
     repo = "ethq";
     rev = "refs/tags/v${builtins.replaceStrings ["."] ["_"] version}";
-    hash = "sha256-luvvNdH4kERAMy242kLCqlnGmfPjSjvoHa6J2J7BFi4=";
+    hash = "sha256-dr37KiSnP0S0OjQof242EcbH+y4pCCzu6R9D6fXR9qc=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
index 69f16fd79cf6..a66996b6c143 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/common-config.nix
@@ -1023,6 +1023,9 @@ let
       # Bump the maximum number of CPUs to support systems like EC2 x1.*
       # instances and Xeon Phi.
       NR_CPUS = freeform "384";
+
+      # Enable LEDS to display link-state status of PHY devices (i.e. eth lan/wan interfaces)
+      LED_TRIGGER_PHY = whenAtLeast "4.10" yes;
     } // optionalAttrs (stdenv.hostPlatform.system == "armv7l-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
       # Enables support for the Allwinner Display Engine 2.0
       SUN8I_DE2_CCU = yes;
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
index 8d92d9cae355..be230f2462d9 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -42,12 +42,12 @@
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.76-hardened1.patch",
-            "sha256": "1hybya6kxcy90cnc7m1gzykbbarqmbybmgrsbanb3gvlbvjghizx",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.76-hardened1/linux-hardened-6.1.76-hardened1.patch"
+            "name": "linux-hardened-6.1.77-hardened1.patch",
+            "sha256": "0gi7sahy24158hsfx6yhlzxg152ipn918nzg6nv4633b7vg6g90f",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.77-hardened1/linux-hardened-6.1.77-hardened1.patch"
         },
-        "sha256": "1zdi4xbk7zyiab7x8z12xqg72zaw3j61slvrbwjfx6pzh47cr005",
-        "version": "6.1.76"
+        "sha256": "07grng6rrgpy6c3465hwqhn3gcdam1c8rwya30vgpk8nfxbfqm1v",
+        "version": "6.1.77"
     },
     "6.5": {
         "patch": {
@@ -62,21 +62,21 @@
     "6.6": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.6.15-hardened1.patch",
-            "sha256": "0yj821zaqxhk4yk1fgv1l5kcqsl05nvq8l6djbvhs0nnlmfd85yf",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.15-hardened1/linux-hardened-6.6.15-hardened1.patch"
+            "name": "linux-hardened-6.6.16-hardened1.patch",
+            "sha256": "04k340nilrlarsh47gpdj5qzcy2h8z4nkr5945j40qa7nkj58ncd",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.16-hardened1/linux-hardened-6.6.16-hardened1.patch"
         },
-        "sha256": "1ajzby6isqji1xlp660m4qj2i2xs003vsjp1jspziwl7hrzhqadb",
-        "version": "6.6.15"
+        "sha256": "0c5a9agdr27bwd1z6790whczb858z8i34hhn548lzbdylfamf7dj",
+        "version": "6.6.16"
     },
     "6.7": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.7.3-hardened1.patch",
-            "sha256": "03jdch5fx6ly0haa2jrbjzyjnfv66dh1gkbhy1y79v3ylr4x29x4",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.7.3-hardened1/linux-hardened-6.7.3-hardened1.patch"
+            "name": "linux-hardened-6.7.4-hardened1.patch",
+            "sha256": "1g3waasdsba65rgb6f58drj5qd61b0072hfmzl783jphj8iq045x",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.7.4-hardened1/linux-hardened-6.7.4-hardened1.patch"
         },
-        "sha256": "0i1bfkawyp917d9v3qa5nqzspzr3ixx7scbfl8x4lms74xjqrw5p",
-        "version": "6.7.3"
+        "sha256": "036nk3h7vqzd7gnxan2173kpss5qm2pci1lvd58gh90azigrz3gn",
+        "version": "6.7.4"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
index b7f5c8654726..89df53ca2a27 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,15 +1,15 @@
 {
     "testing": {
-        "version": "6.8-rc4",
-        "hash": "sha256:0nn36b2cx04p2210xm0msa8c1jl96vp0nf0bq3w8xhrl95yzj99z"
+        "version": "6.8-rc5",
+        "hash": "sha256:0cfv90lf0vccpasqxilr62p23qy5in5b9pz2916iifqs9sngj469"
     },
     "6.5": {
         "version": "6.5.13",
         "hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq"
     },
     "6.1": {
-        "version": "6.1.77",
-        "hash": "sha256:07grng6rrgpy6c3465hwqhn3gcdam1c8rwya30vgpk8nfxbfqm1v"
+        "version": "6.1.78",
+        "hash": "sha256:12fn23m2xwdlv6gr1s8872lk8mvigqkblvlhr54nh8rik2b6n835"
     },
     "5.15": {
         "version": "5.15.148",
@@ -28,11 +28,11 @@
         "hash": "sha256:06dy270xw4frnrc9p2qjh8chgp02fr5ll5g2b0lx9xqzlq7y86xr"
     },
     "6.6": {
-        "version": "6.6.16",
-        "hash": "sha256:0c5a9agdr27bwd1z6790whczb858z8i34hhn548lzbdylfamf7dj"
+        "version": "6.6.17",
+        "hash": "sha256:0si20m9ckir826jg40bh7sh4kwlp610rnc3gwsgs4nm7dfcm0xpf"
     },
     "6.7": {
-        "version": "6.7.4",
-        "hash": "sha256:036nk3h7vqzd7gnxan2173kpss5qm2pci1lvd58gh90azigrz3gn"
+        "version": "6.7.5",
+        "hash": "sha256:1zrralagnv9yr8qdg7lc05735691dbh92mgwfyxrq5xqc504dxi9"
     }
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
index ba2d5562bac4..189a211c8e48 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.15.145-rt73"; # updated by ./update-rt.sh
+  version = "5.15.148-rt74"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j";
+    sha256 = "1n75lrck581mppx84cds1a1l5vj05cdkp8ahpry7dx6rgz4pb1f4";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0ddcbc1szgbb06wnp8bis7cg8idawj279867qa9kldqcws76l87p";
+      sha256 = "0vbwqrkzigjfwmyxfbhq5n1g1qvyis949r97zqxhnmanq7c4njdk";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
new file mode 100644
index 000000000000..b586dc392a6c
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
@@ -0,0 +1,45 @@
+{ lib, buildLinux, fetchurl
+, kernelPatches ? [ ]
+, structuredExtraConfig ? {}
+, extraMeta ? {}
+, argsOverride ? {}
+, ... } @ args:
+
+let
+  version = "6.6.15-rt22"; # updated by ./update-rt.sh
+  branch = lib.versions.majorMinor version;
+  kversion = builtins.elemAt (lib.splitString "-" version) 0;
+in buildLinux (args // {
+  inherit version;
+
+  # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ.
+  modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version
+    else lib.replaceStrings ["-"] [".0-"] version;
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
+    sha256 = "1ajzby6isqji1xlp660m4qj2i2xs003vsjp1jspziwl7hrzhqadb";
+  };
+
+  kernelPatches = let rt-patch = {
+    name = "rt";
+    patch = fetchurl {
+      url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
+      sha256 = "0dr4lb6f95vj8vzhlvy353dk6k694f1s6qfxr10m48hzyyqyaxdy";
+    };
+  }; in [ rt-patch ] ++ kernelPatches;
+
+  structuredExtraConfig = with lib.kernel; {
+    PREEMPT_RT = yes;
+    # Fix error: unused option: PREEMPT_RT.
+    EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt)
+    # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n').
+    PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it.
+    # Fix error: unused option: RT_GROUP_SCHED.
+    RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch.
+  } // structuredExtraConfig;
+
+  extraMeta = extraMeta // {
+    inherit branch;
+  };
+} // argsOverride)
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix
index ad8f2608d936..172965f2a78f 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/perf/default.nix
@@ -129,12 +129,17 @@ stdenv.mkDerivation {
   ++ lib.optional (lib.versionAtLeast kernel.version "5.8") libpfm
   ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools;
 
-  env.NIX_CFLAGS_COMPILE = toString [
+  env.NIX_CFLAGS_COMPILE = toString ([
     "-Wno-error=cpp"
     "-Wno-error=bool-compare"
     "-Wno-error=deprecated-declarations"
     "-Wno-error=stringop-truncation"
-  ];
+  ] ++ lib.optionals (stdenv.cc.isGNU && lib.versions.major stdenv.cc.version == "13") [
+    # Workaround gcc bug that causes enev simplest `perf top` runs to
+    # crash: https://gcc.gnu.org/PR111009.
+    # Can be removed once gcc-13 is updated past 13.2.0.
+    "-O1"
+  ]);
 
   doCheck = false; # requires "sparse"
 
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 544a1639953c..4035c6eb579b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.7.4"; #zen
+    version = "6.7.5"; #zen
     suffix = "zen1"; #zen
-    sha256 = "1vk2xfvqx4kplngw8n2c4xxqwxjyiij0dvbynm2y35nf04l6p9bx"; #zen
+    sha256 = "1f7czivsmqzhcbckcyi058lqwa4qds03fmylqa1wa4sybrq4diri"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.7.4"; #lqx
+    version = "6.7.5"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1p8vgz3qsrpv1fbil2nkdlfzq4mfmjy9kvh264ckmwn4iay0kxmw"; #lqx
+    sha256 = "1vkcl0ll7m60mmd1hbdqi9sj7gq513cadfxaamxzb9isq2c1wa03"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index de3248c2dd59..b8fcffd35f37 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -70,11 +70,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.25";
+    version = "535.43.28";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-Ir75rT1xs3Cycd1Wl7EqIUuU5bGfeSPYbGiq2Eqjlsw=";
-    openSha256 = "sha256-HnM4/sUKvZ8hGuwa0YSTAuC9HShw6on3+lk0TcqcPEQ=";
+    sha256_64bit = "sha256-ic7r3MPp65fdEwqDRyc0WiKonL5eF6KZUpfD/C3vYaU=";
+    openSha256 = "sha256-a5iccyISHheOfTwpsrz6puqrVhgzYWFvNlykVG3+PVc=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
diff --git a/nixpkgs/pkgs/os-specific/linux/ocf-resource-agents/default.nix b/nixpkgs/pkgs/os-specific/linux/ocf-resource-agents/default.nix
index 11f094f72c9d..0e6377452670 100644
--- a/nixpkgs/pkgs/os-specific/linux/ocf-resource-agents/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/ocf-resource-agents/default.nix
@@ -5,6 +5,7 @@
 , runCommand
 , lndir
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , pkg-config
 , python3
@@ -32,6 +33,16 @@ let
       sha256 = "0haryi3yrszdfpqnkfnppxj1yiy6ipah6m80snvayc7v0ss0wnir";
     };
 
+    patches = [
+      # autoconf-2.72 upstream fix:
+      #   https://github.com/ClusterLabs/resource-agents/pull/1908
+      (fetchpatch {
+        name = "autoconf-2.72.patch";
+        url = "https://github.com/ClusterLabs/resource-agents/commit/bac658711a61fd704e792e2a0a45a2137213c442.patch";
+        hash = "sha256-Xq7W8pMRmFZmkqb2430bY5zdmVTrUrob6GwGiN6/bKY=";
+      })
+    ];
+
     nativeBuildInputs = [
       autoreconfHook
       pkg-config
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
index 50793167a349..5348f932250e 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, kernel, bc }:
+{ lib, stdenv, fetchFromGitHub, kernel, bc, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "rtl8188eus-aircrack";
@@ -17,6 +17,18 @@ stdenv.mkDerivation {
       --replace /sbin/depmod \# \
       --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
+  # until https://github.com/aircrack-ng/rtl8188eus/pull/275 get merged using patches to fix and add newer kernel 6.7 support
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/aircrack-ng/rtl8188eus/commit/dcf602320ce0cfa316c990ce067317954d75edae.patch";
+      hash = "sha256-AkrqqWv5TPHBfQ7FhS0urXnUw5QHQUrbvEb+NkLxpJA=";
+    })
+    (fetchpatch {
+      url = "https://github.com/aircrack-ng/rtl8188eus/commit/c5647f440a38e72c97054b949760ac14faf22b6c.patch";
+      hash = "sha256-0W0o68V0GkN+pJsI18ZMM8nyQre6FbOPpspegOOMioM=";
+    })
+  ];
+
 
   hardeningDisable = [ "pic" ];
 
@@ -33,6 +45,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/aircrack-ng/rtl8188eus";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ moni ];
-    broken = (lib.versionAtLeast kernel.version "6.6") || ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened);
+    broken = (lib.versionAtLeast kernel.version "6.8") || ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened);
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/teck-udev-rules/default.nix b/nixpkgs/pkgs/os-specific/linux/teck-udev-rules/default.nix
index eec5eac344ef..e0beb09e02ee 100644
--- a/nixpkgs/pkgs/os-specific/linux/teck-udev-rules/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/teck-udev-rules/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
   meta = {
     description = "udev rules for TECK keyboards";
     inherit (teck-programmer.meta) license;
-    maintainers = [ lib.maintainers.lourkeur ];
+    maintainers = [ lib.maintainers.bbjubjub ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix b/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix
index cc9fb7374658..4b9758494dca 100644
--- a/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/undervolt/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "0.3.0";
+  version = "0.4.0";
   pname = "undervolt";
 
   src = fetchFromGitHub {
     owner = "georgewhewell";
     repo = "undervolt";
     rev = version;
-    sha256 = "1aybk8vbb4745raz7rvpkk6b98xrdiwjhkpbv3kwsgsr9sj42lp0";
+    hash = "sha256-G+CK/lnZXkQdyNZPqY9P3owVJsd22H3K8wSpjHFG0ow=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix b/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix
index e470fa66adf3..b186c90ddbd7 100644
--- a/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/xpadneo/default.nix
@@ -4,17 +4,18 @@
 , kernel
 , bluez
 , nixosTests
+, nix-update-script
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xpadneo";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "atar-axis";
     repo = "xpadneo";
     rev = "refs/tags/v${finalAttrs.version}";
-    sha256 = "sha256-rT2Mq40fE055FemDG7PBjt+cxgIHJG9tTjtw2nW6B98=";
+    sha256 = "sha256-pX9zpAGnhDLKUAKOQ5iqtK8cKEkjCqDa5v3MwYViWX4=";
   };
 
   setSourceRoot = ''
@@ -39,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
     xpadneo = nixosTests.xpadneo;
   };
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Advanced Linux driver for Xbox One wireless controllers";
     homepage = "https://atar-axis.github.io/xpadneo";
diff --git a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix
index 691fa523b522..64a1e7955000 100644
--- a/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix
+++ b/nixpkgs/pkgs/os-specific/linux/zfs/unstable.nix
@@ -17,7 +17,7 @@ callPackage ./generic.nix args {
   # check the release notes for compatible kernels
   kernelCompatible =
     if stdenv'.isx86_64 || removeLinuxDRM
-    then kernel.kernelOlder "6.8"
+    then kernel.kernelOlder "6.9"
     else kernel.kernelOlder "6.2";
 
   latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM
@@ -28,13 +28,13 @@ callPackage ./generic.nix args {
   # IMPORTANT: Always use a tagged release candidate or commits from the
   # zfs-<version>-staging branch, because this is tested by the OpenZFS
   # maintainers.
-  version = "2.2.3-unstable-2024-01-26";
-  rev = "3425484eb907d489c315cced2a1fdea08ef03fc4";
+  version = "2.2.3-unstable-2024-02-12";
+  rev = "4635453d9f06771678b2125d5b45852b4d2eb04f";
 
   isUnstable = true;
   tests = [
     nixosTests.zfs.unstable
   ];
 
-  hash = "sha256-P8PIp0qRHm/fxYdxWKVRX9LR5tKZR7fFUSY90QDE/lU=";
+  hash = "sha256-ch1/R61cn1BtWkkH2IViWjVp22XFz4/WbByquN+vybs=";
 }
diff --git a/nixpkgs/pkgs/servers/alice-lg/default.nix b/nixpkgs/pkgs/servers/alice-lg/default.nix
index 09412bb2ccf8..9160b3fe81a9 100644
--- a/nixpkgs/pkgs/servers/alice-lg/default.nix
+++ b/nixpkgs/pkgs/servers/alice-lg/default.nix
@@ -6,22 +6,21 @@
 , yarn
 , nodejs
 , nixosTests
-, git
 , prefetch-yarn-deps
 }:
 
 buildGoModule rec {
   pname = "alice-lg";
-  version = "6.0.0";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "alice-lg";
     repo = "alice-lg";
     rev = version;
-    hash = "sha256-BdhbHAFqyQc8UbVm6eakbVmLS5QgXhr06oxoc6vYtsM=";
+    hash = "sha256-BbwTLHDtpa8HCECIiy+UxyQiLf9iAD2GzE0azXk7QGU=";
   };
 
-  vendorHash = "sha256-SNF46uUTRCaa9qeGCfkHBjyo4BWOlpRaTDq+Uha08y8=";
+  vendorHash = "sha256-8N5E1CW5Z7HujwXRsZLv7y4uNOJkjj155kmX9PCjajQ=";
 
   passthru.ui = stdenv.mkDerivation {
     pname = "alice-lg-ui";
@@ -30,10 +29,10 @@ buildGoModule rec {
 
     yarnOfflineCache = fetchYarnDeps {
       yarnLock = src + "/ui/yarn.lock";
-      hash = "sha256-NeK9IM8E2IH09SVH9lMlV3taCmqwlroo4xzmv4Q01jI=";
+      hash = "sha256-PwByNIegKYTOT8Yg3nDMDFZiLRVkbX07z99YaDiBsIY=";
     };
 
-    nativeBuildInputs = [ nodejs yarn git prefetch-yarn-deps ];
+    nativeBuildInputs = [ nodejs yarn prefetch-yarn-deps ];
     configurePhase = ''
       runHook preConfigure
 
diff --git a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
index eaf32020ef48..b2348730ebe8 100644
--- a/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/nixpkgs/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -38,12 +38,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "rabbitmq-server";
-  version = "3.12.12";
+  version = "3.12.13";
 
   # when updating, consider bumping elixir version in all-packages.nix
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-lR/qwEoEH8v6oTTz6oAMlk2Tl2QSCEWV9rnU+gXX2KY=";
+    hash = "sha256-UjUkiS8ay66DDzeW9EXOJPQVHHxC1sXT8mCn+KVXSQ4=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
diff --git a/nixpkgs/pkgs/servers/birdwatcher/default.nix b/nixpkgs/pkgs/servers/birdwatcher/default.nix
index f3b816a7a2c3..c8842e968e81 100644
--- a/nixpkgs/pkgs/servers/birdwatcher/default.nix
+++ b/nixpkgs/pkgs/servers/birdwatcher/default.nix
@@ -5,7 +5,7 @@
 
 buildGoModule rec {
   pname = "birdwatcher";
-  version = "2.2.4";
+  version = "2.2.5";
 
   vendorHash = "sha256-NTD2pnA/GeTn4tXtIFJ227qjRtvBFCjWYZv59Rumc74=";
 
@@ -13,7 +13,7 @@ buildGoModule rec {
     owner = "alice-lg";
     repo = "birdwatcher";
     rev = version;
-    hash = "sha256-nsmwq7aUcozpp3av38S9wTKv0kiGfmyglQgse9MWSl4=";
+    hash = "sha256-TTU5TYWD/KSh/orDdQnNrQJ/G7z5suBu7psF9V6AAIw=";
   };
 
   deleteVendor = true;
diff --git a/nixpkgs/pkgs/servers/bloat/default.nix b/nixpkgs/pkgs/servers/bloat/default.nix
index 3752b167188f..dfde129e8887 100644
--- a/nixpkgs/pkgs/servers/bloat/default.nix
+++ b/nixpkgs/pkgs/servers/bloat/default.nix
@@ -6,12 +6,12 @@
 
 buildGoModule {
   pname = "bloat";
-  version = "unstable-2023-12-28";
+  version = "unstable-2024-02-12";
 
   src = fetchgit {
     url = "git://git.freesoftwareextremist.com/bloat";
-    rev = "1d61f1aa27376e778b7a517fdd5739a8c1976d2e";
-    hash = "sha256-u75COa68sKhWeR3asQGgu2thQmDDGpJPmXLgnesQfNc=";
+    rev = "6ddec8db3ee73d3abdc85b6a2101020cf2455bce";
+    hash = "sha256-NWi8vL1zyKgPlZo73qpR232r65foaYcjUKkVwyJ/C7c=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/servers/consul/default.nix b/nixpkgs/pkgs/servers/consul/default.nix
index bfc57cc1f10e..3da8b8352b68 100644
--- a/nixpkgs/pkgs/servers/consul/default.nix
+++ b/nixpkgs/pkgs/servers/consul/default.nix
@@ -2,8 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.17.2";
-  rev = "v${version}";
+  version = "1.17.3";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
   # vendored. See
@@ -16,8 +15,8 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
-    inherit rev;
-    hash = "sha256-zfJZUDR6GJlJbnLIXa5duq8VOG0WUN+FP5BLQ4EgPKM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-uJN28p2fPQBBkqnlUWrlBwTNfmHr3Pn/4JiMbOBBppI=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +25,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorHash = "sha256-bKiKfLq/kbZYziUyD2v1o9X2Gs6uiqzPSYWE4cpeU9Q=";
+  vendorHash = "sha256-ToSCLAX+rNcUTnBBVWkWhLX+wjy7Y4vGLKuny1Ye3kY=";
 
   doCheck = false;
 
@@ -38,6 +37,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Tool for service discovery, monitoring and configuration";
+    changelog = "https://github.com/hashicorp/consul/releases/tag/v${version}";
     homepage = "https://www.consul.io/";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.bsl11;
diff --git a/nixpkgs/pkgs/servers/dns/bind/default.nix b/nixpkgs/pkgs/servers/dns/bind/default.nix
index 8edd94fb27ad..1046ead01ad0 100644
--- a/nixpkgs/pkgs/servers/dns/bind/default.nix
+++ b/nixpkgs/pkgs/servers/dns/bind/default.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.18.21";
+  version = "9.18.24";
 
   src = fetchurl {
     url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-pVa+IlBdnqT5xnF67pxUlznGhJiv88ppA1eH7MZI/sU=";
+    hash = "sha256-cJ1zAjyRFd2tO6tltsjHmlkBltDRFPXQyiUz29Ut32Y=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
@@ -91,6 +91,9 @@ stdenv.mkDerivation rec {
   preCheck = lib.optionalString stdenv.hostPlatform.isMusl ''
     # musl doesn't respect TZDIR, skip timezone-related tests
     sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c
+  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+    # Test timeouts on Darwin
+    sed -i '/^ISC_TEST_ENTRY(tcpdns_recv_one/d' tests/isc/netmgr_test.c
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
index d14c7450c8da..6bb931a961fc 100644
--- a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
@@ -18,11 +18,11 @@ lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "5.7.0";
+  version = "5.7.1";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "383ef6db1cccabd2dd788ea9385f05e98a2bafdfeb7f0eda57ff9d572f4fad71";
+    sha256 = "da14b415c61d53747a991f12d6209367ef826a13dc6bf4eeaf5d88760294c3a2";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
index 5ff385cf65ac..e691336d52a9 100644
--- a/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/nixpkgs/pkgs/servers/dns/pdns-recursor/default.nix
@@ -1,26 +1,46 @@
 { lib, stdenv, fetchurl, pkg-config, boost, nixosTests
 , openssl, systemd, lua, luajit, protobuf
+, libsodium
+, curl
+, rustPlatform, cargo, rustc
 , enableProtoBuf ? false
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "pdns-recursor";
-  version = "4.9.2";
+  version = "5.0.2";
 
   src = fetchurl {
-    url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "sha256-TLgYBFjs+1KKPZo0uihEts0u1pyhxGHd4koOvWaCkUQ=";
+    url = "https://downloads.powerdns.com/releases/pdns-recursor-${finalAttrs.version}.tar.bz2";
+    hash = "sha256-qQ6LYf3BgbWWFEw1kgEYynHDuV9GZYzOfoIidQ3kXKk=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit (finalAttrs) src;
+    sourceRoot = "pdns-recursor-${finalAttrs.version}/settings/rust";
+    hash = "sha256-XHzuYkO91TJNU2DYqMlafqrc2zR1WvIrNLjFHL2FcwA=";
+  };
+
+  cargoRoot = "settings/rust";
+
+  nativeBuildInputs = [
+    cargo
+    rustc
+
+    rustPlatform.cargoSetupHook
+    pkg-config
+  ];
   buildInputs = [
     boost openssl systemd
     lua luajit
+    libsodium
+    curl
   ] ++ lib.optional enableProtoBuf protobuf;
 
   configureFlags = [
     "--enable-reproducible"
     "--enable-systemd"
+    "--enable-dns-over-tls"
     "sysconfdir=/etc/pdns-recursor"
   ];
 
@@ -42,4 +62,4 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ rnhmjoj ];
   };
-}
+})
diff --git a/nixpkgs/pkgs/servers/foundationdb/cmake.nix b/nixpkgs/pkgs/servers/foundationdb/cmake.nix
index 337d671275ad..bc0a17166631 100644
--- a/nixpkgs/pkgs/servers/foundationdb/cmake.nix
+++ b/nixpkgs/pkgs/servers/foundationdb/cmake.nix
@@ -2,7 +2,7 @@
 
 { lib, fetchFromGitHub
 , cmake, ninja, python3, openjdk8, mono, pkg-config
-, msgpack, toml11
+, msgpack-cxx, toml11
 
 , gccStdenv, llvmPackages
 , useClang ? false
@@ -37,7 +37,7 @@ let
           inherit rev hash;
         };
 
-        buildInputs = [ ssl boost msgpack toml11 ];
+        buildInputs = [ ssl boost msgpack-cxx toml11 ];
 
         nativeBuildInputs = [ pkg-config cmake ninja python3 openjdk8 mono ]
           ++ lib.optionals useClang [ llvmPackages.lld ];
diff --git a/nixpkgs/pkgs/servers/foundationdb/default.nix b/nixpkgs/pkgs/servers/foundationdb/default.nix
index b9157dda9e3e..966069e6ed6e 100644
--- a/nixpkgs/pkgs/servers/foundationdb/default.nix
+++ b/nixpkgs/pkgs/servers/foundationdb/default.nix
@@ -1,8 +1,8 @@
 { gccStdenv, llvmPackages
-, lib, fetchFromGitHub
+, lib, fetchFromGitHub, fetchpatch
 
 , cmake, ninja, python3, openjdk8, mono, openssl, boost178
-, pkg-config, msgpack, toml11
+, pkg-config, msgpack-cxx, toml11
 }@args:
 
 let
@@ -19,6 +19,12 @@ in {
       ./patches/don-t-run-tests-requiring-doctest.patch
       ./patches/don-t-use-static-boost-libs.patch
       ./patches/fix-open-with-O_CREAT.patch
+      # GetMsgpack: add 4+ versions of upstream
+      # https://github.com/apple/foundationdb/pull/10935
+      (fetchpatch {
+        url = "https://github.com/apple/foundationdb/commit/c35a23d3f6b65698c3b888d76de2d93a725bff9c.patch";
+        hash = "sha256-bneRoZvCzJp0Hp/G0SzAyUyuDrWErSpzv+ickZQJR5w=";
+      })
     ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/geospatial/tile38/default.nix b/nixpkgs/pkgs/servers/geospatial/tile38/default.nix
index e918abf03261..705fa6b9e726 100644
--- a/nixpkgs/pkgs/servers/geospatial/tile38/default.nix
+++ b/nixpkgs/pkgs/servers/geospatial/tile38/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tile38";
-  version = "1.32.1";
+  version = "1.32.2";
 
   src = fetchFromGitHub {
     owner = "tidwall";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hG+ad68Q4KjtovmTlS/63NQxCQ9ZkcC8lrNGfhE9C6U=";
+    sha256 = "sha256-caOdcPVp1WonAK7QIvG34BxhOH7OGprWQmXEo+nsGKQ=";
   };
 
-  vendorHash = "sha256-5mkxTumqLP+fEBTwhJrPpteeDPTN9hLEAh6A4l4lQhs=";
+  vendorHash = "sha256-20zN5ts1jsCDyAolwuygHvkXJdbqGYwSdXh2CY6T1mk=";
 
   subPackages = [ "cmd/tile38-cli" "cmd/tile38-server" ];
 
diff --git a/nixpkgs/pkgs/servers/gotosocial/default.nix b/nixpkgs/pkgs/servers/gotosocial/default.nix
index 85df0a24a63d..3113ed59fc2e 100644
--- a/nixpkgs/pkgs/servers/gotosocial/default.nix
+++ b/nixpkgs/pkgs/servers/gotosocial/default.nix
@@ -9,11 +9,11 @@ let
   owner = "superseriousbusiness";
   repo = "gotosocial";
 
-  version = "0.13.2";
+  version = "0.13.3";
 
   web-assets = fetchurl {
     url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz";
-    hash = "sha256-Iyqn0/VyigmOhlyyz1NfvNIXmWtF617QbWzM2c7jHWw=";
+    hash = "sha256-xC1Acm/CJHXTblV8E63vZB+r/ktBH7EytL7x4eWGko8=";
   };
 in
 buildGoModule rec {
@@ -23,7 +23,7 @@ buildGoModule rec {
   src = fetchFromGitHub {
     inherit owner repo;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VQnE4Xff4gtjQ6V2B42zK8UjosBWEMgcL/3Q8S0wc5Q=";
+    hash = "sha256-zjmIa25veVL0ruFow4c1oV+VtgJGgWrRL99GPdaNc4g";
   };
 
   vendorHash = null;
@@ -43,6 +43,9 @@ buildGoModule rec {
   # tests are working only on x86_64-linux
   doCheck = stdenv.isLinux && stdenv.isx86_64;
 
+  # flaky test
+  checkFlags = [ "-skip=^TestPage/minID,_maxID_and_limit_set$" ];
+
   passthru.tests.gotosocial = nixosTests.gotosocial;
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix b/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
index 89515fa265d3..167e740f2181 100644
--- a/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/appdaemon.nix
@@ -8,8 +8,6 @@ python3.pkgs.buildPythonApplication rec {
   version = "4.4.2";
   pyproject = true;
 
-  disabled = python3.pythonOlder "3.8";
-
   src = fetchFromGitHub {
     owner = "AppDaemon";
     repo = "appdaemon";
@@ -17,12 +15,10 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-T3InE4J4qYeFJTq6nrW8y5BOA7Z0n3t9eVpl641r/xk=";
   };
 
-  postPatch = ''
-    # relax dependencies
-    sed -i 's/~=/>=/' pyproject.toml
-  '';
+  pythonRelaxDeps = true;
 
   nativeBuildInputs = with python3.pkgs; [
+    pythonRelaxDepsHook
     setuptools
   ];
 
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 57faad5e0902..69820ea320de 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2024.2.1";
+  version = "2024.2.2";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -568,7 +568,8 @@
     "brel_home" = ps: with ps; [
     ];
     "bring" = ps: with ps; [
-    ]; # missing inputs: python-bring-api
+      python-bring-api
+    ];
     "broadlink" = ps: with ps; [
       broadlink
     ];
@@ -1806,10 +1807,11 @@
       aiohttp-fast-url-dispatcher
       aiohttp-zlib-ng
       fnv-hash-fast
+      govee-local-api
       ifaddr
       psutil-home-assistant
       sqlalchemy
-    ]; # missing inputs: govee-local-api
+    ];
     "gpsd" = ps: with ps; [
       gps3
     ];
@@ -2730,7 +2732,8 @@
       limitlessled
     ];
     "linear_garage_door" = ps: with ps; [
-    ]; # missing inputs: linear-garage-door
+      linear-garage-door
+    ];
     "linksys_smart" = ps: with ps; [
     ];
     "linode" = ps: with ps; [
@@ -3017,6 +3020,9 @@
     "meteoclimatic" = ps: with ps; [
       pymeteoclimatic
     ];
+    "metoffice" = ps: with ps; [
+      datapoint
+    ];
     "mfi" = ps: with ps; [
     ]; # missing inputs: mficlient
     "microsoft" = ps: with ps; [
@@ -3268,9 +3274,10 @@
       aiohttp-fast-url-dispatcher
       aiohttp-zlib-ng
       fnv-hash-fast
+      myuplink
       psutil-home-assistant
       sqlalchemy
-    ]; # missing inputs: myuplink
+    ];
     "nad" = ps: with ps; [
       nad-receiver
     ];
@@ -4909,7 +4916,8 @@
       tank-utility
     ];
     "tankerkoenig" = ps: with ps; [
-    ]; # missing inputs: aiotankerkoenig
+      aiotankerkoenig
+    ];
     "tapsaff" = ps: with ps; [
     ]; # missing inputs: tapsaff
     "tasmota" = ps: with ps; [
@@ -4926,7 +4934,8 @@
     "tcp" = ps: with ps; [
     ];
     "technove" = ps: with ps; [
-    ]; # missing inputs: python-technove
+      python-technove
+    ];
     "ted5000" = ps: with ps; [
       xmltodict
     ];
@@ -5895,6 +5904,7 @@
     "bond"
     "bosch_shc"
     "braviatv"
+    "bring"
     "broadlink"
     "brother"
     "brottsplatskartan"
@@ -6069,6 +6079,7 @@
     "google_travel_time"
     "google_wifi"
     "govee_ble"
+    "govee_light_local"
     "gpsd"
     "gpslogger"
     "graphite"
@@ -6178,6 +6189,7 @@
     "life360"
     "lifx"
     "light"
+    "linear_garage_door"
     "litterrobot"
     "livisi"
     "local_calendar"
@@ -6217,6 +6229,7 @@
     "met_eireann"
     "meteo_france"
     "meteoclimatic"
+    "metoffice"
     "microsoft_face"
     "microsoft_face_detect"
     "microsoft_face_identify"
@@ -6248,6 +6261,7 @@
     "mysensors"
     "mystrom"
     "mythicbeastsdns"
+    "myuplink"
     "nam"
     "namecheapdns"
     "nanoleaf"
@@ -6483,9 +6497,11 @@
     "tag"
     "tailscale"
     "tailwind"
+    "tankerkoenig"
     "tasmota"
     "tautulli"
     "tcp"
+    "technove"
     "tedee"
     "telegram"
     "telegram_bot"
diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index 9eaafce6eac9..182cfe1bd59b 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -428,7 +428,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2024.2.1";
+  hassVersion = "2024.2.2";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -446,13 +446,13 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-PtBDSxl0744rytMeMOTAj60eERzANzD2dyd4sPivgqQ=";
+    hash = "sha256-nzx1ZaIBjzA2cgCkSlRLCr2Xd51i6kBHSKnfGgt9RpQ=";
   };
 
   # Secondary source is pypi sdist for translations
   sdist = fetchPypi {
     inherit pname version;
-    hash = "sha256-iLCHoDfZ1gz+LxNxIiKNsSDaL2Taq8B3Huu000eXSxc=";
+    hash = "sha256-ITwY3cB5YFmY1qTXBHpulEULdF0yKme334wxQVULvW8=";
   };
 
   nativeBuildInputs = with python.pkgs; [
diff --git a/nixpkgs/pkgs/servers/home-assistant/stubs.nix b/nixpkgs/pkgs/servers/home-assistant/stubs.nix
index 536dce6652a7..5699b3c556f2 100644
--- a/nixpkgs/pkgs/servers/home-assistant/stubs.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2024.2.1";
+  version = "2024.2.2";
   format = "pyproject";
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-1a2iwyRyXOD8iaTzdnEGfwCgw6dU2bV1iWpoD7s35QI=";
+    hash = "sha256-RL3lgeaJO721VOlhLAeOM8wlKMouLQVbYnPsAeOZGxM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/home-automation/evcc/default.nix b/nixpkgs/pkgs/servers/home-automation/evcc/default.nix
index 943286fa7a79..7117859f2fb8 100644
--- a/nixpkgs/pkgs/servers/home-automation/evcc/default.nix
+++ b/nixpkgs/pkgs/servers/home-automation/evcc/default.nix
@@ -1,9 +1,9 @@
 { lib
-, buildGoModule
+, buildGo122Module
 , fetchFromGitHub
 , fetchNpmDeps
 , cacert
-, go
+, go_1_22
 , git
 , enumer
 , mockgen
@@ -14,22 +14,27 @@
 , stdenv
 }:
 
+let
+  buildGoModule = buildGo122Module;
+  go = go_1_22;
+in
+
 buildGoModule rec {
   pname = "evcc";
-  version = "0.124.0";
+  version = "0.124.4";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     rev = version;
-    hash = "sha256-x6BsW4INahGFbFNprE1mZjlW/EoEMZgDIJACd9F+g6A=";
+    hash = "sha256-sSR0aRSIUPph1YGfY6ihUffKiyauSbO7eUSVa3jaY6s=";
   };
 
-  vendorHash = "sha256-/TlbjyKGpVqkQAStx8QaAxpWsVYs0yxBMantqelYkhw=";
+  vendorHash = "sha256-1ZSMI6mz8CkibP3KwWJ3I05BMoBu9r+Fn8vLLDTpVfA=";
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-Tl08gscv8WaMG4XfIVUWqj76xICWwUTBDK0VSs2kwMk=";
+    hash = "sha256-Uu1idwI3zRQmu2xBrbMcFBmJuO/z+N5+6eSRK+n1pg8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/homepage-dashboard/default.nix b/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
index 0a6a831414fa..fe1575000a2f 100644
--- a/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
+++ b/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
@@ -13,16 +13,16 @@
 
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-H8BUyIsbn8UL6VuA2SEJXzJ77S/880rQIoNKFJNApqQ=";
+    hash = "sha256-QPMjf+VpsjvIrjjhDuZqd8VLl2Uu5Wop286Yn8XeRWk=";
   };
 
-  npmDepsHash = "sha256-RC2Y4XZqO+mLEKQxq+j2ukZYi/uu9XIjYadxek9P+SM=";
+  npmDepsHash = "sha256-u15lDdXnV3xlXAC9WQQKLIeV/AgtRM1sFNsacw3j6kU=";
 
   preBuild = ''
     mkdir -p config
diff --git a/nixpkgs/pkgs/servers/http/angie/console-light.nix b/nixpkgs/pkgs/servers/http/angie/console-light.nix
index c39a2001c16c..c4772205a5c7 100644
--- a/nixpkgs/pkgs/servers/http/angie/console-light.nix
+++ b/nixpkgs/pkgs/servers/http/angie/console-light.nix
@@ -6,12 +6,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.1";
+  version = "1.2.1";
   pname = "angie-console-light";
 
   src = fetchurl {
     url = "https://download.angie.software/files/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-Teg+EPl4IvmScTTX3F3rdM6qZ3ztFkMks9oo2B1xHTs=";
+    hash = "sha256-bwnVwhcPyEXGzvpXj2bC1WUGtNbBlHpqZibApKtESq8=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/nixpkgs/pkgs/servers/http/angie/default.nix b/nixpkgs/pkgs/servers/http/angie/default.nix
index 5c8f2ad7c699..233298053b2e 100644
--- a/nixpkgs/pkgs/servers/http/angie/default.nix
+++ b/nixpkgs/pkgs/servers/http/angie/default.nix
@@ -9,12 +9,12 @@
 }@args:
 
 callPackage ../nginx/generic.nix args rec {
-  version = "1.4.0";
+  version = "1.4.1";
   pname = if withQuic then "angieQuic" else "angie";
 
   src = fetchurl {
     url = "https://download.angie.software/files/angie-${version}.tar.gz";
-    hash = "sha256-gaQsPwoxtt6oVSDX1JCWvyUwDQaNprya79CCwu4z8b4=";
+    hash = "sha256-g6PyuyulnltnZJWiZ01iYG1k6Lz5nO+gneb8M4q3WHo=";
   };
 
   configureFlags = lib.optional withQuic [
diff --git a/nixpkgs/pkgs/servers/http/dufs/default.nix b/nixpkgs/pkgs/servers/http/dufs/default.nix
index 3a88f72ae03d..a889f42f97aa 100644
--- a/nixpkgs/pkgs/servers/http/dufs/default.nix
+++ b/nixpkgs/pkgs/servers/http/dufs/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dufs";
-  version = "0.38.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "sigoden";
     repo = "dufs";
     rev = "v${version}";
-    hash = "sha256-YPEJP+RdGxEMVRoDohxGiOkOMmWLhlBrkr+T+zcST5g=";
+    hash = "sha256-BoFoF7V6bTQiJ+afGnivviU/s2ikOxAX06s+AwRxo8Q=";
   };
 
-  cargoHash = "sha256-Dia0/yV2rsUx0Mfd2rQkNh7QB+dZubudcoyfMmeaxx8=";
+  cargoHash = "sha256-B0K/lco7suYM0/02LaDbeqyt4zyiwoeBxhmUPsVTvkw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/servers/http/envoy/default.nix b/nixpkgs/pkgs/servers/http/envoy/default.nix
index 87379c4d7df1..9a50c3063eb3 100644
--- a/nixpkgs/pkgs/servers/http/envoy/default.nix
+++ b/nixpkgs/pkgs/servers/http/envoy/default.nix
@@ -25,15 +25,15 @@ let
     # However, the version string is more useful for end-users.
     # These are contained in a attrset of their own to make it obvious that
     # people should update both.
-    version = "1.27.2";
-    rev = "ae07f9a11715245f7d25d2a13699c260c2ae8ebb";
-    hash = "sha256-VgP3st26Wkx51tTM++tKAZX7+BmPGgy1MIJFGLDu4JU=";
+    version = "1.27.3";
+    rev = "0fd81ee7ffcd7cfc864094b24dc9b5c3ade89ff2";
+    hash = "sha256-WNyyUw3517oKqMd1sJMk9CiLa/V7UrhwlRS+AWNNOOo=";
   };
 
   # these need to be updated for any changes to fetchAttrs
   depsHash = {
-    x86_64-linux = "sha256-389CaxJ3F66eMID7+KgwzCdlT2QPOTkKPLnqpmM49ig=";
-    aarch64-linux = "sha256-ui7AUzWouAn2DZ7kUpp1huNxPGBqzKXqtwcuRZUhmqo=";
+    x86_64-linux = "sha256-wTGHfeFkCuijPdX//lT5GPspaxZsxzBHJffH1tpVM2w=";
+    aarch64-linux = "sha256-9/Wem+Gk/7bFeMNFC4J3mdTm3mrNmyMxiu5oadQcovU=";
   }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
 in
 buildBazelPackage {
@@ -70,7 +70,7 @@ buildBazelPackage {
     # use system C/C++ tools
     ./0003-nixpkgs-use-system-C-C-toolchains.patch
 
-    # bump proxy-wasm-cpp-host until > 1.27.2/1.28.0
+    # bump proxy-wasm-cpp-host until > 1.27.3/1.28.0
     (fetchpatch {
       url = "https://github.com/envoyproxy/envoy/pull/31451.patch";
       hash = "sha256-n8k7bho3B8Gm0dJbgf43kU7ymvo15aGJ2Twi2xR450g=";
@@ -191,6 +191,7 @@ buildBazelPackage {
 
   meta = with lib; {
     homepage = "https://envoyproxy.io";
+    changelog = "https://github.com/envoyproxy/envoy/releases/tag/v${version}";
     description = "Cloud-native edge and service proxy";
     license = licenses.asl20;
     maintainers = with maintainers; [ lukegb ];
diff --git a/nixpkgs/pkgs/servers/http/nginx/mainline.nix b/nixpkgs/pkgs/servers/http/nginx/mainline.nix
index 39877f115d8c..ddb9c14740bb 100644
--- a/nixpkgs/pkgs/servers/http/nginx/mainline.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  version = "1.25.3";
-  hash = "sha256-ZMW5dcooeTnoKDA/qFfSLxQrJR8XgI3+QXM1EtnN7YY=";
+  version = "1.25.4";
+  hash = "sha256-dgcpkBrLqlF5luaB7m6iWQMpheN8J2i+74DfOod97tk=";
 }
diff --git a/nixpkgs/pkgs/servers/klipper/default.nix b/nixpkgs/pkgs/servers/klipper/default.nix
index 341fc484451f..e1d15d55722c 100644
--- a/nixpkgs/pkgs/servers/klipper/default.nix
+++ b/nixpkgs/pkgs/servers/klipper/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2024-01-06";
+  version = "unstable-2024-02-17";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "b50d6669a8b491edf07602c0528d26abe8985536";
-    sha256 = "sha256-qI+0bia5ROzXcuz0JVLdGyRa45NWTU/MH8dBUXGaHgA=";
+    rev = "28f06a104bc0cfe3a7d36db343ade5a805b3e132";
+    sha256 = "sha256-v2nv4g3dQTMbUKIrEJo8s66WRWXnSkWO8K+12fK/cZw=";
   };
 
   sourceRoot = "${src.name}/klippy";
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index 5f9e258fb9d3..992ce7ae932f 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }:
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.6.0";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    sha256 = "sha256-UAH6IF6iEzzXY2Zl/1aeRnFwb73K5Fgp0WWEgo7ZdFM=";
+    sha256 = "sha256-xXHsbvWA0IWAMBMQgVsyKc1qfiqMH+Xm09fvK87R3hE=";
   };
 
   buildInputs = [ dovecot xapian icu64 sqlite ];
diff --git a/nixpkgs/pkgs/servers/mail/stalwart/Cargo.lock b/nixpkgs/pkgs/servers/mail/stalwart/Cargo.lock
index 9871da994f7b..6f9036d99cc8 100644
--- a/nixpkgs/pkgs/servers/mail/stalwart/Cargo.lock
+++ b/nixpkgs/pkgs/servers/mail/stalwart/Cargo.lock
@@ -24,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
 dependencies = [
  "crypto-common",
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -70,9 +70,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
+checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
 dependencies = [
  "getrandom",
  "once_cell",
@@ -81,9 +81,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.7"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff"
 dependencies = [
  "cfg-if",
  "getrandom",
@@ -125,9 +125,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.5"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -139,9 +139,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
@@ -185,9 +185,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 
 [[package]]
 name = "argon2"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9"
+checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
 dependencies = [
  "base64ct",
  "blake2",
@@ -257,9 +257,9 @@ dependencies = [
 
 [[package]]
 name = "async-compression"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
 dependencies = [
  "flate2",
  "futures-core",
@@ -276,7 +276,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -298,7 +298,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -309,7 +309,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -440,9 +440,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64ct"
@@ -491,28 +491,28 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.47",
+ "syn 2.0.48",
  "which",
 ]
 
 [[package]]
 name = "bindgen"
-version = "0.69.1"
+version = "0.69.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
+checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cexpr",
  "clang-sys",
+ "itertools 0.12.1",
  "lazy_static",
  "lazycell",
- "peeking_take_while",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -538,9 +538,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "bitvec"
@@ -592,7 +592,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -601,7 +601,7 @@ version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -610,7 +610,7 @@ version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -636,9 +636,9 @@ dependencies = [
 
 [[package]]
 name = "borsh"
-version = "1.3.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d4d6dafc1a3bb54687538972158f07b2c948bc57d5890df22c0739098b3028"
+checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667"
 dependencies = [
  "borsh-derive",
  "cfg_aliases",
@@ -646,15 +646,15 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive"
-version = "1.3.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0"
+checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd"
 dependencies = [
  "once_cell",
- "proc-macro-crate 2.0.0",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
  "syn_derive",
 ]
 
@@ -685,9 +685,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytecheck"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
 dependencies = [
  "bytecheck_derive",
  "ptr_meta",
@@ -696,9 +696,9 @@ dependencies = [
 
 [[package]]
 name = "bytecheck_derive"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -707,9 +707,9 @@ dependencies = [
 
 [[package]]
 name = "bytemuck"
-version = "1.14.0"
+version = "1.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
 
 [[package]]
 name = "byteorder"
@@ -834,9 +834,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -844,7 +844,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -853,7 +853,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -880,9 +880,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.12"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -890,33 +890,33 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.12"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.0",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cmac"
@@ -960,15 +960,15 @@ dependencies = [
 
 [[package]]
 name = "console"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
  "encode_unicode 0.3.6",
  "lazy_static",
  "libc",
  "unicode-width",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1013,9 +1013,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -1028,20 +1028,19 @@ checksum = "338089f42c427b86394a5ee60ff321da23a5c89c9d89514c829687b26359fcff"
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "crossbeam"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eb9105919ca8e40d437fc9cbb8f1975d916f1bd28afe795a48aae32a2cc8920"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
 dependencies = [
- "cfg-if",
  "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-epoch",
@@ -1051,54 +1050,46 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.10"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.17"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc6598521bb5a83d491e8c1fe51db7296019d2ca3cb93cc6c2a20369a4d78a2"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -1112,7 +1103,7 @@ version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
  "rand_core",
  "subtle",
  "zeroize",
@@ -1124,7 +1115,7 @@ version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
  "rand_core",
  "typenum",
 ]
@@ -1135,7 +1126,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
  "subtle",
 ]
 
@@ -1171,9 +1162,9 @@ dependencies = [
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.1.1"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1194,7 +1185,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1209,12 +1200,12 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"
 dependencies = [
- "darling_core 0.20.3",
- "darling_macro 0.20.3",
+ "darling_core 0.20.5",
+ "darling_macro 0.20.5",
 ]
 
 [[package]]
@@ -1227,22 +1218,22 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
+ "strsim 0.10.0",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.47",
+ "strsim 0.10.0",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1258,13 +1249,13 @@ dependencies = [
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"
 dependencies = [
- "darling_core 0.20.3",
+ "darling_core 0.20.5",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1292,7 +1283,7 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -1403,7 +1394,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
 dependencies = [
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -1422,7 +1413,7 @@ dependencies = [
 name = "directory"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "argon2",
  "async-trait",
  "deadpool",
@@ -1439,7 +1430,7 @@ dependencies = [
  "pbkdf2 0.12.2",
  "pwhash",
  "regex",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "scrypt",
  "serde",
@@ -1502,7 +1493,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1519,9 +1510,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
 name = "dsa"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d88afbb2443ba68ef8593de497e830b2e276434e1408f85cd760b1107b44ead0"
+checksum = "48bc224a9084ad760195584ce5abb3c2c34a225fa312a128ad245a6b412b7689"
 dependencies = [
  "digest 0.10.7",
  "num-bigint-dig",
@@ -1577,11 +1568,11 @@ dependencies = [
 
 [[package]]
 name = "ece"
-version = "2.2.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5463ffecc0677adcd786c4481f73b215714d4757edf2eb37a573c03d00459"
+checksum = "c2ea1d2f2cc974957a4e2575d8e5bb494549bab66338d6320c2789abcfff5746"
 dependencies = [
- "base64 0.13.1",
+ "base64 0.21.7",
  "byteorder",
  "hex",
  "hkdf",
@@ -1605,9 +1596,9 @@ dependencies = [
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
@@ -1620,9 +1611,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "elasticsearch"
@@ -1654,7 +1645,7 @@ dependencies = [
  "crypto-bigint",
  "digest 0.10.7",
  "ff",
- "generic-array",
+ "generic-array 0.14.7",
  "group",
  "hkdf",
  "pem-rfc7468",
@@ -1704,7 +1695,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1748,7 +1739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2"
 dependencies = [
  "bit-set",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.5",
  "regex-syntax 0.8.2",
 ]
 
@@ -1782,9 +1773,9 @@ dependencies = [
 
 [[package]]
 name = "fiat-crypto"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "filetime"
@@ -1905,7 +1896,7 @@ checksum = "83c8d52fe8b46ab822b4decdcc0d6d85aeedfc98f0d52ba2bd4aec4a97807516"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
  "try_map",
 ]
 
@@ -1943,7 +1934,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e"
 dependencies = [
  "frunk_proc_macro_helpers",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1955,7 +1946,7 @@ dependencies = [
  "frunk_core",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1967,7 +1958,7 @@ dependencies = [
  "frunk_core",
  "frunk_proc_macro_helpers",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2032,7 +2023,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2086,6 +2077,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "generic-array"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
 name = "gethostname"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2097,9 +2097,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -2143,9 +2143,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
@@ -2153,7 +2153,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http 0.2.11",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -2162,9 +2162,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.4.0"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d308f63daf4181410c242d34c11f928dcb3aa105852019e043c9d1f4e4368a"
+checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943"
 dependencies = [
  "bytes",
  "fnv",
@@ -2172,7 +2172,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http 1.0.0",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -2185,7 +2185,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash 0.7.7",
+ "ahash 0.7.8",
 ]
 
 [[package]]
@@ -2194,7 +2194,7 @@ version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "allocator-api2",
 ]
 
@@ -2215,9 +2215,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -2408,7 +2408,7 @@ dependencies = [
  "futures-channel",
  "futures-core",
  "futures-util",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.11",
  "http-body 0.4.6",
  "httparse",
@@ -2431,7 +2431,7 @@ dependencies = [
  "bytes",
  "futures-channel",
  "futures-util",
- "h2 0.4.0",
+ "h2 0.4.2",
  "http 1.0.0",
  "http-body 1.0.0",
  "httparse",
@@ -2469,12 +2469,11 @@ dependencies = [
 
 [[package]]
 name = "hyper-util"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdea9aac0dbe5a9240d68cfd9501e2db94222c6dc06843e06640b9e07f0fdc67"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
 dependencies = [
  "bytes",
- "futures-channel",
  "futures-util",
  "http 1.0.0",
  "http-body 1.0.0",
@@ -2482,14 +2481,13 @@ dependencies = [
  "pin-project-lite",
  "socket2 0.5.5",
  "tokio",
- "tracing",
 ]
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.59"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -2551,9 +2549,9 @@ checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284"
 
 [[package]]
 name = "imap"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "dashmap",
  "directory",
  "imap_proto",
@@ -2565,7 +2563,7 @@ dependencies = [
  "nlp",
  "parking_lot",
  "rand",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pemfile 2.0.0",
  "store",
  "tokio",
@@ -2578,7 +2576,7 @@ dependencies = [
 name = "imap_proto"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "chrono",
  "jmap_proto",
  "mail-parser",
@@ -2598,9 +2596,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
  "equivalent",
  "hashbrown 0.14.3",
@@ -2608,9 +2606,9 @@ dependencies = [
 
 [[package]]
 name = "indicatif"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 dependencies = [
  "console",
  "instant",
@@ -2635,7 +2633,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
 dependencies = [
  "block-padding",
- "generic-array",
+ "generic-array 0.14.7",
 ]
 
 [[package]]
@@ -2667,12 +2665,12 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.10"
+version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
 dependencies = [
  "hermit-abi",
- "rustix",
+ "libc",
  "windows-sys 0.52.0",
 ]
 
@@ -2686,6 +2684,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
 version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2728,14 +2735,14 @@ dependencies = [
 
 [[package]]
 name = "jmap"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
  "aes",
  "aes-gcm",
  "aes-gcm-siv",
  "async-stream",
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bincode",
  "cbc",
  "chrono",
@@ -2785,7 +2792,7 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "12c697483ad894a8184d0fd61848e057f86b16642049993b3e6a80c959dbc90a"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "async-stream",
  "base64 0.13.1",
  "chrono",
@@ -2793,7 +2800,7 @@ dependencies = [
  "maybe-async",
  "parking_lot",
  "reqwest",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "serde",
  "serde_json",
@@ -2805,7 +2812,7 @@ dependencies = [
 name = "jmap_proto"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "fast-float",
  "mail-parser",
  "serde",
@@ -2818,18 +2825,18 @@ dependencies = [
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.66"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2840,7 +2847,7 @@ version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
 ]
 
 [[package]]
@@ -2874,7 +2881,7 @@ dependencies = [
  "diff",
  "ena",
  "is-terminal",
- "itertools",
+ "itertools 0.10.5",
  "lalrpop-util",
  "petgraph",
  "regex",
@@ -2945,9 +2952,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libloading"
@@ -2971,7 +2978,7 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall",
 ]
@@ -3005,9 +3012,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
 dependencies = [
  "cc",
  "pkg-config",
@@ -3022,9 +3029,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -3044,9 +3051,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lru"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
 dependencies = [
  "hashbrown 0.14.3",
 ]
@@ -3072,9 +3079,9 @@ dependencies = [
 
 [[package]]
 name = "lz4_flex"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8"
+checksum = "912b45c753ff5f7f5208307e8ace7d2a2e30d024e26d3509f3dce546c044ce15"
 dependencies = [
  "twox-hash",
 ]
@@ -3085,7 +3092,7 @@ version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "224aa436a40caeef3bd3fa1b5b619b28b26d83fcc088c008536886f74ad27951"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "flate2",
  "hickory-resolver",
  "lru-cache",
@@ -3125,20 +3132,20 @@ version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f5982137dccf24ca038daa022eb0ea97a31e9739477445a787a8ef77e015ebb"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "gethostname",
  "md5",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "smtp-proto",
  "tokio",
  "tokio-rustls 0.25.0",
- "webpki-roots 0.26.0",
+ "webpki-roots 0.26.1",
 ]
 
 [[package]]
 name = "mail-server"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
  "directory",
  "imap",
@@ -3155,9 +3162,9 @@ dependencies = [
 
 [[package]]
 name = "managesieve"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "bincode",
  "directory",
  "imap",
@@ -3168,7 +3175,7 @@ dependencies = [
  "mail-send",
  "md5",
  "parking_lot",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pemfile 2.0.0",
  "sieve-rs",
  "store",
@@ -3207,13 +3214,13 @@ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
 [[package]]
 name = "maybe-async"
-version = "0.2.7"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305"
+checksum = "afc95a651c82daf7004c824405aa1019723644950d488571bd718e3ed84646ed"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3288,9 +3295,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
@@ -3313,14 +3320,14 @@ version = "0.30.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "56b0d8a0db9bf6d2213e11f2c701cb91387b0614361625ab7b9743b41aa4938f"
 dependencies = [
- "darling 0.20.3",
+ "darling 0.20.5",
  "heck",
  "num-bigint",
  "proc-macro-crate 1.3.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
  "termcolor",
  "thiserror",
 ]
@@ -3359,7 +3366,7 @@ dependencies = [
  "twox-hash",
  "url",
  "webpki",
- "webpki-roots 0.25.3",
+ "webpki-roots 0.25.4",
 ]
 
 [[package]]
@@ -3368,10 +3375,10 @@ version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06f19e4cfa0ab5a76b627cec2d81331c49b034988eaf302c3bafeada684eadef"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bigdecimal",
- "bindgen 0.69.1",
- "bitflags 2.4.1",
+ "bindgen 0.69.4",
+ "bitflags 2.4.2",
  "bitvec",
  "btoi",
  "byteorder",
@@ -3422,9 +3429,9 @@ dependencies = [
 
 [[package]]
 name = "nlp"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "bincode",
  "farmhash",
  "jieba-rs",
@@ -3498,20 +3505,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -3520,9 +3532,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -3576,11 +3588,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openssl"
-version = "0.10.62"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -3597,7 +3609,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3608,18 +3620,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "300.2.1+3.2.0"
+version = "300.2.3+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3"
+checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.98"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -3636,7 +3648,7 @@ checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a"
 dependencies = [
  "futures-core",
  "futures-sink",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "js-sys",
  "once_cell",
  "pin-project-lite",
@@ -3701,9 +3713,9 @@ dependencies = [
 
 [[package]]
 name = "opentelemetry_sdk"
-version = "0.21.1"
+version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968ba3f2ca03e90e5187f5e4f46c791ef7f2c163ae87789c8ce5f5ca3b7b7de5"
+checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4"
 dependencies = [
  "async-trait",
  "crossbeam-channel",
@@ -3839,7 +3851,7 @@ version = "3.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "serde",
 ]
 
@@ -3865,7 +3877,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
 ]
 
 [[package]]
@@ -3908,7 +3920,7 @@ dependencies = [
  "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3931,22 +3943,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3984,9 +3996,9 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "platforms"
@@ -4018,7 +4030,7 @@ version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "byteorder",
  "bytes",
  "fallible-iterator 0.2.0",
@@ -4066,7 +4078,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
 dependencies = [
  "proc-macro2",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4114,11 +4126,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.0"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_edit 0.20.7",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -4147,9 +4159,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.75"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907a61bd0f64c2f29cd1cf1dc34d05176426a3f504a78010f08416ddb7b13708"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -4171,7 +4183,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
 dependencies = [
  "anyhow",
- "itertools",
+ "itertools 0.10.5",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -4342,7 +4354,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "48d1fd02e16232e942b5e7ce305b447c550d09a9146255a3e8a2cf62a0e2ac2d"
 dependencies = [
  "either",
- "itertools",
+ "itertools 0.10.5",
  "proc-macro2",
  "quote",
  "rayon",
@@ -4361,9 +4373,9 @@ dependencies = [
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -4371,9 +4383,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -4381,9 +4393,9 @@ dependencies = [
 
 [[package]]
 name = "rcgen"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d918c80c5a4c7560db726763020bd16db179e4d5b828078842274a443addb5d"
+checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1"
 dependencies = [
  "pem",
  "ring 0.17.7",
@@ -4444,13 +4456,13 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.5",
  "regex-syntax 0.8.2",
 ]
 
@@ -4465,9 +4477,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -4494,26 +4506,26 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rend"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
 dependencies = [
  "bytecheck",
 ]
 
 [[package]]
 name = "reqwest"
-version = "0.11.23"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
  "async-compression",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.11",
  "http-body 0.4.6",
  "hyper 0.14.28",
@@ -4531,6 +4543,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-rustls 0.24.1",
@@ -4541,7 +4554,7 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots 0.25.3",
+ "webpki-roots 0.25.4",
  "winreg",
 ]
 
@@ -4611,9 +4624,9 @@ dependencies = [
 
 [[package]]
 name = "rkyv"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
 dependencies = [
  "bitvec",
  "bytecheck",
@@ -4629,9 +4642,9 @@ dependencies = [
 
 [[package]]
 name = "rkyv_derive"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4706,7 +4719,7 @@ version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "fallible-iterator 0.3.0",
  "fallible-streaming-iterator",
  "hashlink",
@@ -4768,9 +4781,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.33.1"
+version = "1.34.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4"
+checksum = "b39449a79f45e8da28c57c341891b69a183044b29518bb8f86dbac9df60bb7df"
 dependencies = [
  "arrayvec",
  "borsh",
@@ -4823,11 +4836,11 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -4860,14 +4873,14 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.22.1"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe6b63262c9fcac8659abfaa96cac103d28166d3ff3eaf8f412e19f3ae9e5a48"
+checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
 dependencies = [
  "log",
  "ring 0.17.7",
  "rustls-pki-types",
- "rustls-webpki 0.102.1",
+ "rustls-webpki 0.102.2",
  "subtle",
  "zeroize",
 ]
@@ -4890,7 +4903,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -4899,15 +4912,15 @@ version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "rustls-pki-types",
 ]
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a"
+checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf"
 
 [[package]]
 name = "rustls-webpki"
@@ -4931,9 +4944,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-webpki"
-version = "0.102.1"
+version = "0.102.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b"
+checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
 dependencies = [
  "ring 0.17.7",
  "rustls-pki-types",
@@ -5027,7 +5040,7 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
 dependencies = [
  "base16ct",
  "der",
- "generic-array",
+ "generic-array 0.14.7",
  "pkcs8",
  "subtle",
  "zeroize",
@@ -5079,14 +5092,14 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "sequoia-openpgp"
-version = "1.17.0"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ea026cf8a70d331c742e3ad7e68fd405d0743ff86630fb4334a1bf8d0e194c7"
+checksum = "26e9c71323d9848404e343a6b5c3a73de10bc496ca3481b66586ba9064de027e"
 dependencies = [
  "aes",
  "aes-gcm",
  "anyhow",
- "base64 0.21.5",
+ "base64 0.21.7",
  "block-padding",
  "blowfish 0.9.1",
  "buffered-reader",
@@ -5106,7 +5119,7 @@ dependencies = [
  "ed25519-dalek",
  "getrandom",
  "idea",
- "idna 0.4.0",
+ "idna 0.5.0",
  "lalrpop",
  "lalrpop-util",
  "lazy_static",
@@ -5133,9 +5146,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
@@ -5151,20 +5164,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.110"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
  "itoa",
  "ryu",
@@ -5227,7 +5240,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5262,13 +5275,13 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
 
 [[package]]
 name = "sha1collisiondetection"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0b86a052106b16741199985c9ec2bf501f619f70c48fa479b44b093ad9a68"
+checksum = "f1d5c4be690002e8a5d7638b0b7323f03c268c7a919bd8af69ce963a4dc83220"
 dependencies = [
  "const-oid",
  "digest 0.10.7",
- "generic-array",
+ "generic-array 1.0.0",
 ]
 
 [[package]]
@@ -5312,9 +5325,9 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 
 [[package]]
 name = "shlex"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "sieve-rs"
@@ -5322,7 +5335,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "25494c13da6c336430906aa783e4bb2ae251c84158d6e5a4fdf0449a779c2521"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "bincode",
  "fancy-regex",
  "mail-builder",
@@ -5379,15 +5392,15 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "smtp"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "bincode",
  "blake3",
  "dashmap",
@@ -5414,7 +5427,7 @@ dependencies = [
  "rayon",
  "regex",
  "reqwest",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pemfile 2.0.0",
  "rustls-pki-types",
  "serde",
@@ -5429,16 +5442,19 @@ dependencies = [
  "tracing",
  "unicode-security",
  "utils",
- "webpki-roots 0.26.0",
+ "webpki-roots 0.26.1",
  "whatlang",
  "x509-parser",
 ]
 
 [[package]]
 name = "smtp-proto"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20b37ae016fedcac2174dd0e3029870154830a4d3fb10f533317f2604e72b343"
+checksum = "34344dcc7dd10b3de9224fd68e5f019fff2246d9cdf8e4322f770f48030e0c83"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "snafu"
@@ -5507,7 +5523,7 @@ dependencies = [
 
 [[package]]
 name = "stalwart-cli"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
  "clap",
  "console",
@@ -5531,9 +5547,9 @@ dependencies = [
 
 [[package]]
 name = "stalwart-install"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "clap",
  "dialoguer",
  "flate2",
@@ -5559,8 +5575,10 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 name = "store"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
+ "arc-swap",
  "async-trait",
+ "bincode",
  "blake3",
  "bytes",
  "deadpool",
@@ -5588,7 +5606,7 @@ dependencies = [
  "rocksdb",
  "rusqlite",
  "rust-s3",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "serde",
  "serde_json",
@@ -5631,6 +5649,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
 name = "subprocess"
 version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5659,9 +5683,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.47"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1726efe18f42ae774cc644f330953a5e7b3c3003d3edcecf18850fe9d4dd9afb"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5677,7 +5701,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5738,13 +5762,12 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall",
  "rustix",
  "windows-sys 0.52.0",
 ]
@@ -5762,9 +5785,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -5773,9 +5796,9 @@ dependencies = [
 name = "tests"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "chrono",
  "csv",
@@ -5801,7 +5824,7 @@ dependencies = [
  "num_cpus",
  "rayon",
  "reqwest",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pemfile 2.0.0",
  "rustls-pki-types",
  "serde",
@@ -5820,22 +5843,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5850,12 +5873,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.31"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -5870,10 +5894,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -5913,9 +5938,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.1"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -5948,7 +5973,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5993,7 +6018,7 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "tokio",
 ]
@@ -6017,12 +6042,12 @@ checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
 dependencies = [
  "futures-util",
  "log",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "tokio",
  "tokio-rustls 0.25.0",
  "tungstenite",
- "webpki-roots 0.26.0",
+ "webpki-roots 0.26.1",
 ]
 
 [[package]]
@@ -6051,18 +6076,18 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "toml_datetime",
  "winnow",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "toml_datetime",
  "winnow",
 ]
@@ -6075,11 +6100,11 @@ checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
 dependencies = [
  "async-trait",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "futures-core",
  "futures-util",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.11",
  "http-body 0.4.6",
  "hyper 0.14.28",
@@ -6158,7 +6183,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6254,7 +6279,7 @@ dependencies = [
  "httparse",
  "log",
  "rand",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pki-types",
  "sha1",
  "thiserror",
@@ -6290,9 +6315,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "typewit"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6779a69cc5f9a7388274a0a8a353eb1c9e45195f9ae74a26690b055a7cf9592a"
+checksum = "c6fb9ae6a3cafaf0a5d14c2302ca525f9ae8e07a0f0e6949de88d882c37a6e24"
 dependencies = [
  "typewit_proc_macros",
 ]
@@ -6314,9 +6339,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -6341,9 +6366,9 @@ checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
 
 [[package]]
 name = "unicode-security"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ef5756b3097992b934b06608c69f48448a0fbe804bb1e72b982f6d7983e9e63"
+checksum = "ee9e13753df674873f3c4693b240ae5c03245ddc157dfccf7c26db9329af3a11"
 dependencies = [
  "unicode-normalization",
  "unicode-script",
@@ -6414,11 +6439,12 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "utils"
-version = "0.5.2"
+version = "0.6.0"
 dependencies = [
- "ahash 0.8.7",
+ "ahash 0.8.8",
  "arc-swap",
- "base64 0.21.5",
+ "base64 0.21.7",
+ "blake3",
  "chrono",
  "dashmap",
  "futures",
@@ -6434,9 +6460,10 @@ dependencies = [
  "proxy-header",
  "rand",
  "rcgen",
+ "regex",
  "reqwest",
  "ring 0.17.7",
- "rustls 0.22.1",
+ "rustls 0.22.2",
  "rustls-pemfile 2.0.0",
  "rustls-pki-types",
  "serde",
@@ -6449,15 +6476,15 @@ dependencies = [
  "tracing-journald",
  "tracing-opentelemetry",
  "tracing-subscriber",
- "webpki-roots 0.26.0",
+ "webpki-roots 0.26.1",
  "x509-parser",
 ]
 
 [[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
  "getrandom",
 ]
@@ -6503,9 +6530,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -6513,24 +6540,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -6540,9 +6567,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -6550,28 +6577,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -6582,9 +6609,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.66"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -6630,26 +6657,26 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.3"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "webpki-roots"
-version = "0.26.0"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188"
+checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
 dependencies = [
  "rustls-pki-types",
 ]
 
 [[package]]
 name = "whatlang"
-version = "0.16.3"
+version = "0.16.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcdcd0195a5b871e50926da8e881277f36a4621b3220d85092e7b91cc85f6bd9"
+checksum = "471d1c1645d361eb782a1650b1786a8fb58dd625e681a04c09f5ff7c8764a7b0"
 dependencies = [
- "hashbrown 0.12.3",
+ "hashbrown 0.14.3",
  "once_cell",
 ]
 
@@ -6723,15 +6750,6 @@ dependencies = [
 
 [[package]]
 name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
@@ -6750,21 +6768,6 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-targets"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
@@ -6795,12 +6798,6 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
@@ -6813,12 +6810,6 @@ checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
@@ -6831,12 +6822,6 @@ checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
@@ -6849,12 +6834,6 @@ checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
-[[package]]
-name = "windows_i686_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
@@ -6867,12 +6846,6 @@ checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
@@ -6885,12 +6858,6 @@ checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
@@ -6903,12 +6870,6 @@ checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
 version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
@@ -6921,9 +6882,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
-version = "0.5.32"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8434aeec7b290e8da5c3f0d628cb0eac6cabcb31d14bb74f779a08109a5914d6"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
@@ -6949,9 +6910,9 @@ dependencies = [
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -6977,9 +6938,9 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
  "linux-raw-sys",
@@ -7024,7 +6985,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7044,7 +7005,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.47",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7069,9 +7030,9 @@ dependencies = [
 
 [[package]]
 name = "zip-extract"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb654964c003959ed64cbd0d7b329bcdcbd9690facd50c8617748d3622543972"
+checksum = "e109e5a291403b4c1e514d39f8a22d3f98d257e691a52bb1f16051bb1ffed63e"
 dependencies = [
  "log",
  "thiserror",
diff --git a/nixpkgs/pkgs/servers/mail/stalwart/default.nix b/nixpkgs/pkgs/servers/mail/stalwart/default.nix
index 7c680a53e50f..096e600ba862 100644
--- a/nixpkgs/pkgs/servers/mail/stalwart/default.nix
+++ b/nixpkgs/pkgs/servers/mail/stalwart/default.nix
@@ -14,7 +14,7 @@
 }:
 
 let
-  version = "0.5.2";
+  version = "0.6.0";
 in
 rustPlatform.buildRustPackage {
   pname = "stalwart-mail";
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage {
     owner = "stalwartlabs";
     repo = "mail-server";
     rev = "v${version}";
-    hash = "sha256-U53v123mLD9mGmsNKgHlad8+2vr9lzMXizT4KeOChJY=";
+    hash = "sha256-OHwUWSUW6ovLQTxnuUrolQGhxbhp4YqKSH+ZTpe2WXc=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/servers/mastodon/gemset.nix b/nixpkgs/pkgs/servers/mastodon/gemset.nix
index 537b865fc649..e888bfe750bb 100644
--- a/nixpkgs/pkgs/servers/mastodon/gemset.nix
+++ b/nixpkgs/pkgs/servers/mastodon/gemset.nix
@@ -610,10 +610,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
+      sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.2.3";
   };
   connection_pool = {
     groups = ["default" "test"];
@@ -1723,10 +1723,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mj8mpd6ck5gpcnsimx5brzggw5h5mmmpq2djdypfq16wcw82qq";
+      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   minitest = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
@@ -1881,23 +1881,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "173zavvxlwyi48lfskk48wcrdbkvjlhjhvy4jpcrfx72rpjjx4k8";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.16.2";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
     groups = ["default"];
     platforms = [];
     source = {
-      fetchSubmodules = false;
-      rev = "e020fcc3a54d993ab45b7194d89ab720296c111b";
-      sha256 = "18pbm9qkancy38v0gpb6f5k0xd8r347jl4xvj4jn98ihfhzgwygj";
-      type = "git";
-      url = "https://github.com/jhawthorn/nsa.git";
+      remotes = ["https://rubygems.org"];
+      sha256 = "1narh0bj0c9pg8cb2jhpydfa9mnm3dclckzk5s6xrwa2gm99hnk4";
+      type = "gem";
     };
-    version = "0.2.8";
+    version = "0.3.0";
   };
   oj = {
     groups = ["default"];
@@ -2065,10 +2063,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pfj771p5a29yyyw58qacks464sl86d5m3jxjl5rlqqw2m3v5xq4";
+      sha256 = "0s4vskbydg5k0z86v2g5drf03lslkr4b1l421vz29531jlrsljvy";
       type = "gem";
     };
-    version = "1.5.4";
+    version = "1.5.5";
   };
   pghero = {
     dependencies = ["activerecord"];
@@ -2170,10 +2168,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
+      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.3";
   };
   rack = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
@@ -2781,10 +2779,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w9a1cwv86c9zb3hj1m42gbjk6r7rgs5ismalr9c9nx365yyj90i";
+      sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl";
       type = "gem";
     };
-    version = "6.5.10";
+    version = "6.5.12";
   };
   sidekiq-bulk = {
     dependencies = ["sidekiq"];
@@ -2814,10 +2812,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02f91b24hrrn688wqvxb13lwvcgqb7g9k3sxylnydd6v89wr8mcg";
+      sha256 = "1am17wfx023z1x9sxq90cyjarcmcwb95mi456mcf13m783r4n190";
       type = "gem";
     };
-    version = "7.1.29";
+    version = "7.1.33";
   };
   simple-navigation = {
     dependencies = ["activesupport"];
@@ -3025,10 +3023,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
+      sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   tilt = {
     groups = ["default" "development"];
diff --git a/nixpkgs/pkgs/servers/mastodon/source.nix b/nixpkgs/pkgs/servers/mastodon/source.nix
index 06c07c09df5b..4036b5b48135 100644
--- a/nixpkgs/pkgs/servers/mastodon/source.nix
+++ b/nixpkgs/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.5";
+  version = "4.2.7";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-dgC5V/CVE9F1ORTjPWUWc/JVcWCEj/pb4eWpDV0WliY=";
+      hash = "sha256-lz1HMg/B6BOqGxypzDTTO5yY7C5B6QRNIpRnDZW2eGs=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index b1ad448f0971..1cced1717ac9 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -17,20 +17,20 @@ let
 in
 python3.pkgs.buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.100.0";
+  version = "1.101.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "element-hq";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-6YK/VV0ELvMJoA5ipmoB4S13HqA0UEOnQ6JbQdlkYWU=";
+    hash = "sha256-yhOdIyKp+JM0qUl4dD1aMeYHNhE71DUDxrfCyRDP1VI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-oXIraayA6Dd8aYirRhM9Av8x7bj+WZI6o7dEr9OCtdk=";
+    hash = "sha256-mWvcRNvCYf6WCKU/5LGJipOI032QFG90XpHTxFGs6TU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/mattermost/default.nix b/nixpkgs/pkgs/servers/mattermost/default.nix
index 0b9a7a51da69..0abe7e659e27 100644
--- a/nixpkgs/pkgs/servers/mattermost/default.nix
+++ b/nixpkgs/pkgs/servers/mattermost/default.nix
@@ -8,21 +8,28 @@
 
 buildGoModule rec {
   pname = "mattermost";
-  version = "8.1.7";
+  version = "8.1.10";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mattermost";
     rev = "v${version}";
-    hash = "sha256-ZpjdJ1Uck0kM+togUKpxRij8V0jQX+12Meks+L1Tc90=";
+    hash = "sha256-eloO83koCNZOR/NYzUCdKOtVdF7rk+VrZ9U2bKWkxNU=";
   } + "/server";
 
+  # this can probably be removed again in versions newer than 8.1.10
+  overrideModAttrs = (_: {
+    preBuild = ''
+      go mod tidy
+    '';
+  });
+
   webapp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-    hash = "sha256-eORIoZLoxWdvuRlirJ7djBTgueIzlzIhRAoURy58zCA=";
+    hash = "sha256-qxFW/P+INcMKSzaGZtOOr1Mi/glgZeiKvQ+YN0qX070=";
   };
 
-  vendorHash = "sha256-RPnCAxksKppsjVtZYhwcoJuAmMJ85AstuoBFChKwAOk=";
+  vendorHash = "sha256-ZbLSxG9Gyhk7PBC2V6sMtrQNXvm+ugMfliFIHWO1VLs=";
 
   subPackages = [ "cmd/mattermost" ];
 
@@ -37,6 +44,7 @@ buildGoModule rec {
     "-X github.com/mattermost/mattermost/server/public/model.BuildHash=v${version}"
     "-X github.com/mattermost/mattermost/server/public/model.BuildHashEnterprise=none"
     "-X github.com/mattermost/mattermost/server/public/model.BuildEnterpriseReady=false"
+    "-X github.com/mattermost/mattermost/server/public/model.MockCWS=false"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/servers/mautrix-signal/default.nix b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
index ce07debc24a8..f45b687acaed 100644
--- a/nixpkgs/pkgs/servers/mautrix-signal/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-signal/default.nix
@@ -1,18 +1,14 @@
 { lib, buildGoModule, fetchFromGitHub, olm, libsignal-ffi }:
 
-buildGoModule {
+buildGoModule rec {
   pname = "mautrix-signal";
-  # mautrix-signal's latest released version v0.4.3 still uses the Python codebase
-  # which is broken for new devices, see https://github.com/mautrix/signal/issues/388.
-  # The new Go version fixes this by using the official libsignal as a library and
-  # can be upgraded to directly from the Python version.
-  version = "unstable-2024-01-31";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "signal";
-    rev = "103666990f30a692c63dd84a499b0dd390cef8a4";
-    hash = "sha256-UttLMI+jX5PNG02vs7Dty8pxdko2aM0sVB/90eWwmYw=";
+    rev = "v${version}";
+    hash = "sha256-qlWp9SnS8dWZNAua9HOyOrQwBXQFaaWB3eP9aCGlDFc=";
   };
 
   buildInputs = [
@@ -22,7 +18,7 @@ buildGoModule {
     libsignal-ffi
   ];
 
-  vendorHash = "sha256-LKs/9yCJ7alKQh1VYQsPEg7y+ugZwUnnJh2l4IEjbaQ=";
+  vendorHash = "sha256-sa6M9rMrI7fa8T4su3yfJID4AYB6YnlfrVBM6cPQLvY=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/miniflux/default.nix b/nixpkgs/pkgs/servers/miniflux/default.nix
index 21c754ed90a9..7d97e1dd7bd0 100644
--- a/nixpkgs/pkgs/servers/miniflux/default.nix
+++ b/nixpkgs/pkgs/servers/miniflux/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "miniflux";
-  version = "2.0.51";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "miniflux";
     repo = "v2";
     rev = "refs/tags/${version}";
-    hash = "sha256-gffiZOsHUYTDEjIdKUPyKbsdRKX890aG6GY72LYESkA=";
+    hash = "sha256-c7xKgu3039gTmxdWXoYWuuYDD/oPv3/uYS3m8KRkhTk=";
   };
 
-  vendorHash = "sha256-yO4sNOkEDnM9eETE68C++dPnAfcoSMXznf5Nq4/iQmA=";
+  vendorHash = "sha256-PuyWik0OA77gJipnuOyRgrCCQlDj9gTM/LDRBl6mBRo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/servers/minio/default.nix b/nixpkgs/pkgs/servers/minio/default.nix
index cd498ba55533..3cbcb21b3590 100644
--- a/nixpkgs/pkgs/servers/minio/default.nix
+++ b/nixpkgs/pkgs/servers/minio/default.nix
@@ -21,16 +21,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2024-02-04T22-36-13Z";
+  version = "2024-02-17T01-15-57Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    hash = "sha256-vA1xrwvHyhqrdWjEXqs0MUaPq8S3J2r1uE0IndpwdjQ=";
+    hash = "sha256-lgNQamHw5sI6rGy8TP62Vb5esUOivPkyWj15EOPsjkM=";
   };
 
-  vendorHash = "sha256-eE8F/cG7SdSHrFW4qg+MBdS/rxoz4xB0JbCQ3vi38ok=";
+  vendorHash = "sha256-0EymK7jQhr+NJDg1zgWpcniV5zZ33Av6zpq0IDuWw7M=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/misc/navidrome/default.nix b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
index 09358c12e49c..76e20469faa0 100644
--- a/nixpkgs/pkgs/servers/misc/navidrome/default.nix
+++ b/nixpkgs/pkgs/servers/misc/navidrome/default.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "navidrome";
-  version = "0.51.0";
+  version = "0.51.1";
 
   src = fetchFromGitHub {
     owner = "navidrome";
     repo = "navidrome";
     rev = "v${version}";
-    hash = "sha256-AsDVU1J/lPjTY6R7khzorbBCWuL9FX6aZnMD2snBSys=";
+    hash = "sha256-6IYQrSWqrvYz2tDlk14UaX36bdXN0DbF7ynaa3Qboa4=";
   };
 
   vendorHash = "sha256-Q95OchWkxd/EmG7Vu0e/dge9nOIrGmcTgjGL5dBvEKA=";
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index fcb3c1f2ed3b..8b2a9c02e0df 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -32,7 +32,7 @@ let
 in
 buildGoModule rec {
   pname = "grafana";
-  version = "10.3.1";
+  version = "10.3.3";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" "modowners" ];
 
@@ -40,7 +40,7 @@ buildGoModule rec {
     owner = "grafana";
     repo = "grafana";
     rev = "v${version}";
-    hash = "sha256-UPIq7BWTlT0omt/SM5+vkfOHvsdcx/ikkjcW9X8pcw0=";
+    hash = "sha256-uAfHcW9j+al8IIH2N6X5wssQmSXqJjVQzwERBCxGxVE=";
   };
 
   offlineCache = stdenv.mkDerivation {
@@ -72,7 +72,7 @@ buildGoModule rec {
 
   disallowedRequisites = [ offlineCache ];
 
-  vendorHash = "sha256-Gf2A22d7/8xU/ld7kveqGonVKGFCArGNansPRGhfyXM=";
+  vendorHash = "sha256-nGv/DBNnQ4AOJtrsYIGLCrV1xNmBN0dDf6u46R3TAHo=";
 
   nativeBuildInputs = [ wire yarn jq moreutils removeReferencesTo python3 ];
 
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
index 09fed144e57a..57af5d265452 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
@@ -7,13 +7,13 @@ let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
   src = if lib.isAttrs zipHash then
     fetchurl {
       name = "${pname}-${version}-${plat}.zip";
-      hash = zipHash.${plat} or (throw "unsupported system");
+      hash = zipHash.${plat} or (throw "Unsupported system: ${plat}");
       url = "https://grafana.com/api/plugins/${pname}/versions/${version}/download" + {
         x86_64-linux = "?os=linux&arch=amd64";
         aarch64-linux = "?os=linux&arch=arm64";
         x86_64-darwin = "?os=darwin&arch=amd64";
         aarch64-darwin = "?os=darwin&arch=arm64";
-      }.${plat} or (throw "unknown system");
+      }.${plat} or (throw "Unsupported system: ${plat}");
     }
   else
     fetchurl {
diff --git a/nixpkgs/pkgs/servers/monitoring/mtail/default.nix b/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
index 7e6cbd2e6ca4..089b2311873b 100644
--- a/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/mtail/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "mtail";
-  version = "3.0.0-rc53";
+  version = "3.0.0-rc54";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mtail";
     rev = "v${version}";
-    hash = "sha256-bKNSUXBnKDYaF0VyFn1ke6UkdZWHu5JbUkPPRfIdkh8=";
+    hash = "sha256-c9lMqHyOerqN32UCyM52EZm4t+MQLDibUOD8rBvIARA=";
   };
 
-  vendorHash = "sha256-z71Q1I4PG7a1PqBLQV1yHlXImORp8cEtKik9itfvvNs=";
+  vendorHash = "sha256-TKDOPs5kWOSXrDm6AadEF2PmSEzzrRyTMBWANZEr4cs=";
 
   ldflags = [
     "-X=main.Branch=main"
diff --git a/nixpkgs/pkgs/by-name/op/openobserve/Cargo.lock b/nixpkgs/pkgs/servers/monitoring/openobserve/Cargo.lock
index 3a5fe87a8fa4..eaff98567453 100644
--- a/nixpkgs/pkgs/by-name/op/openobserve/Cargo.lock
+++ b/nixpkgs/pkgs/servers/monitoring/openobserve/Cargo.lock
@@ -4,11 +4,11 @@ version = 3
 
 [[package]]
 name = "actix-codec"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8"
+checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "bytes",
  "futures-core",
  "futures-sink",
@@ -21,9 +21,9 @@ dependencies = [
 
 [[package]]
 name = "actix-cors"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b340e9cfa5b08690aae90fb61beb44e9b06f44fe3d0f93781aaa58cfba86245e"
+checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370"
 dependencies = [
  "actix-utils",
  "actix-web",
@@ -36,17 +36,17 @@ dependencies = [
 
 [[package]]
 name = "actix-http"
-version = "3.4.0"
+version = "3.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9"
+checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743"
 dependencies = [
  "actix-codec",
  "actix-rt",
  "actix-service",
  "actix-utils",
- "ahash 0.8.6",
- "base64 0.21.5",
- "bitflags 2.4.1",
+ "ahash 0.8.7",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "brotli",
  "bytes",
  "bytestring",
@@ -55,7 +55,7 @@ dependencies = [
  "flate2",
  "futures-core",
  "h2",
- "http",
+ "http 0.2.11",
  "httparse",
  "httpdate",
  "itoa",
@@ -70,7 +70,7 @@ dependencies = [
  "tokio",
  "tokio-util",
  "tracing",
- "zstd 0.12.4",
+ "zstd",
 ]
 
 [[package]]
@@ -80,7 +80,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
 dependencies = [
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -118,17 +118,17 @@ dependencies = [
  "parse-size",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "actix-router"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799"
+checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511"
 dependencies = [
  "bytestring",
- "http",
+ "http 0.2.11",
  "regex",
  "serde",
  "tracing",
@@ -156,7 +156,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "mio",
- "socket2 0.5.5",
+ "socket2",
  "tokio",
  "tracing",
 ]
@@ -174,19 +174,18 @@ dependencies = [
 
 [[package]]
 name = "actix-tls"
-version = "3.1.1"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72616e7fbec0aa99c6f3164677fa48ff5a60036d0799c98cab894a44f3e0efc3"
+checksum = "d4cce60a2f2b477bc72e5cde0af1812a6e82d8fd85b5570a5dcf2a5bf2c5be5f"
 dependencies = [
  "actix-rt",
  "actix-service",
  "actix-utils",
  "futures-core",
- "http",
+ "http 0.2.11",
+ "http 1.0.0",
  "impl-more",
  "pin-project-lite",
- "rustls",
- "rustls-webpki",
  "tokio",
  "tokio-util",
  "tracing",
@@ -204,9 +203,9 @@ dependencies = [
 
 [[package]]
 name = "actix-web"
-version = "4.4.0"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9"
+checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984"
 dependencies = [
  "actix-codec",
  "actix-http",
@@ -217,7 +216,7 @@ dependencies = [
  "actix-service",
  "actix-utils",
  "actix-web-codegen",
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "bytes",
  "bytestring",
  "cfg-if 1.0.0",
@@ -237,7 +236,7 @@ dependencies = [
  "serde_json",
  "serde_urlencoded",
  "smallvec",
- "socket2 0.5.5",
+ "socket2",
  "time",
  "url",
 ]
@@ -251,7 +250,7 @@ dependencies = [
  "actix-router",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -262,7 +261,7 @@ checksum = "1d613edf08a42ccc6864c941d30fe14e1b676a77d16f1dbadc1174d065a0a775"
 dependencies = [
  "actix-utils",
  "actix-web",
- "base64 0.21.5",
+ "base64 0.21.7",
  "futures-core",
  "futures-util",
  "log",
@@ -271,9 +270,9 @@ dependencies = [
 
 [[package]]
 name = "actix-web-lab"
-version = "0.20.0"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15f180c2bf7abacfda7d8d9ee4169e7f792ec8983313dc38809e902f61c79d0"
+checksum = "7675c1a84eec1b179c844cdea8488e3e409d8e4984026e92fa96c87dd86f33c6"
 dependencies = [
  "actix-http",
  "actix-router",
@@ -281,7 +280,7 @@ dependencies = [
  "actix-utils",
  "actix-web",
  "actix-web-lab-derive",
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arc-swap",
  "async-trait",
  "bytes",
@@ -290,9 +289,9 @@ dependencies = [
  "derive_more",
  "futures-core",
  "futures-util",
- "http",
+ "http 0.2.11",
  "impl-more",
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "local-channel",
  "mediatype",
  "mime",
@@ -315,7 +314,7 @@ checksum = "9aa0b287c8de4a76b691f29dbb5451e8dd5b79d777eaf87350c9b0cbfdb5e968"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -354,7 +353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd68c2339c8e4498a4b9b83392b58b85c337c835baf38c90757e3236e1121c97"
 dependencies = [
  "actix-web",
- "base64 0.21.5",
+ "base64 0.21.7",
  "brotli",
  "chrono",
  "flate2",
@@ -419,9 +418,9 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.6"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
  "cfg-if 1.0.0",
  "const-random",
@@ -478,10 +477,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -493,43 +498,43 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "anymap"
@@ -545,9 +550,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 
 [[package]]
 name = "argon2"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9"
+checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
 dependencies = [
  "base64ct",
  "blake2",
@@ -569,11 +574,10 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "arrow"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bc25126d18a012146a888a0298f2c22e1150327bd2765fc76d710a556b2d614"
+checksum = "aa285343fba4d829d49985bdc541e3789cf6000ed0e84be7c039438df4a4e78c"
 dependencies = [
- "ahash 0.8.6",
  "arrow-arith",
  "arrow-array",
  "arrow-buffer",
@@ -591,9 +595,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-arith"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ccd45e217ffa6e53bbb0080990e77113bdd4e91ddb84e97b77649810bcf1a7"
+checksum = "753abd0a5290c1bcade7c6623a556f7d1659c5f4148b140b5b63ce7bd1a45705"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -606,27 +610,26 @@ dependencies = [
 
 [[package]]
 name = "arrow-array"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d"
+checksum = "d390feeb7f21b78ec997a4081a025baef1e2e0d6069e181939b61864c9779609"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow-buffer",
  "arrow-data",
  "arrow-schema",
  "chrono",
  "chrono-tz",
  "half",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "num",
- "packed_simd",
 ]
 
 [[package]]
 name = "arrow-buffer"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c"
+checksum = "69615b061701bcdffbc62756bc7e85c827d5290b472b580c972ebbbf690f5aa4"
 dependencies = [
  "bytes",
  "half",
@@ -635,16 +638,16 @@ dependencies = [
 
 [[package]]
 name = "arrow-cast"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dc0368ed618d509636c1e3cc20db1281148190a78f43519487b2daf07b63b4a"
+checksum = "e448e5dd2f4113bf5b74a1f26531708f5edcacc77335b7066f9398f4bcf4cdef"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
  "arrow-data",
  "arrow-schema",
  "arrow-select",
- "base64 0.21.5",
+ "base64 0.21.7",
  "chrono",
  "comfy-table",
  "half",
@@ -654,9 +657,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-csv"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e09aa6246a1d6459b3f14baeaa49606cfdbca34435c46320e14054d244987ca"
+checksum = "46af72211f0712612f5b18325530b9ad1bfbdc87290d5fbfd32a7da128983781"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -673,9 +676,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-data"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634"
+checksum = "67d644b91a162f3ad3135ce1184d0a31c28b816a581e08f29e8e9277a574c64e"
 dependencies = [
  "arrow-buffer",
  "arrow-schema",
@@ -685,9 +688,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-ipc"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79a43d6808411886b8c7d4f6f7dd477029c1e77ffffffb7923555cc6579639cd"
+checksum = "03dea5e79b48de6c2e04f03f62b0afea7105be7b77d134f6c5414868feefb80d"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -696,14 +699,14 @@ dependencies = [
  "arrow-schema",
  "flatbuffers",
  "lz4_flex",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
 name = "arrow-json"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d82565c91fd627922ebfe2810ee4e8346841b6f9361b87505a9acea38b614fee"
+checksum = "8950719280397a47d37ac01492e3506a8a724b3fb81001900b866637a829ee0f"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -721,9 +724,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-ord"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b23b0e53c0db57c6749997fd343d4c0354c994be7eca67152dd2bdb9a3e1bb4"
+checksum = "1ed9630979034077982d8e74a942b7ac228f33dd93a93b615b4d02ad60c260be"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -736,35 +739,35 @@ dependencies = [
 
 [[package]]
 name = "arrow-row"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "361249898d2d6d4a6eeb7484be6ac74977e48da12a4dd81a708d620cc558117a"
+checksum = "007035e17ae09c4e8993e4cb8b5b96edf0afb927cd38e2dff27189b274d83dcf"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow-array",
  "arrow-buffer",
  "arrow-data",
  "arrow-schema",
  "half",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
 name = "arrow-schema"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167"
+checksum = "0ff3e9c01f7cd169379d269f926892d0e622a704960350d09d331be3ec9e0029"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "arrow-select"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f6208466590960efc1d2a7172bc4ff18a67d6e25c529381d7f96ddaf0dc4036"
+checksum = "1ce20973c1912de6514348e064829e50947e35977bb9d7fb637dc99ea9ffd78c"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow-array",
  "arrow-buffer",
  "arrow-data",
@@ -774,9 +777,9 @@ dependencies = [
 
 [[package]]
 name = "arrow-string"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a48149c63c11c9ff571e50ab8f017d2a7cb71037a882b42f6354ed2da9acc7"
+checksum = "00f3b37f2aeece31a2636d1b037dabb69ef590e03bdc7eb68519b51ec86932a7"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -799,24 +802,31 @@ dependencies = [
 
 [[package]]
 name = "askama"
-version = "0.11.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb98f10f371286b177db5eeb9a6e5396609555686a35e1d4f7b9a9c6d8af0139"
+checksum = "b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28"
 dependencies = [
  "askama_derive",
  "askama_escape",
- "askama_shared",
+ "humansize",
+ "num-traits",
+ "percent-encoding",
 ]
 
 [[package]]
 name = "askama_derive"
-version = "0.11.2"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71"
+checksum = "19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83"
 dependencies = [
- "askama_shared",
+ "askama_parser",
+ "basic-toml",
+ "mime",
+ "mime_guess",
  "proc-macro2",
- "syn 1.0.109",
+ "quote",
+ "serde",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -826,30 +836,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
 
 [[package]]
-name = "askama_shared"
-version = "0.12.2"
+name = "askama_parser"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf722b94118a07fcbc6640190f247334027685d4e218b794dbfe17c32bf38ed0"
+checksum = "acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0"
 dependencies = [
- "askama_escape",
- "humansize",
- "mime",
- "mime_guess",
  "nom",
- "num-traits",
- "percent-encoding",
- "proc-macro2",
- "quote",
- "serde",
- "syn 1.0.109",
- "toml",
 ]
 
 [[package]]
 name = "async-compression"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
 dependencies = [
  "bzip2",
  "flate2",
@@ -859,8 +858,8 @@ dependencies = [
  "pin-project-lite",
  "tokio",
  "xz2",
- "zstd 0.13.0",
- "zstd-safe 7.0.0",
+ "zstd",
+ "zstd-safe",
 ]
 
 [[package]]
@@ -871,7 +870,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -893,18 +892,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -917,6 +916,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "atomic-write-file"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
+dependencies = [
+ "nix 0.27.1",
+ "rand",
+]
+
+[[package]]
 name = "atty"
 version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -935,9 +944,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "awc"
-version = "3.2.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fa3c705a9c7917ac0f41c0757a0a747b43bbc29b0b364b081bd7c5fc67fb223"
+checksum = "68c09cc97310b926f01621faee652f3d1b0962545a3cec6c9ac07def9ea36c2c"
 dependencies = [
  "actix-codec",
  "actix-http",
@@ -945,7 +954,7 @@ dependencies = [
  "actix-service",
  "actix-tls",
  "actix-utils",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "cfg-if 1.0.0",
  "cookie",
@@ -953,7 +962,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http",
+ "http 0.2.11",
  "itoa",
  "log",
  "mime",
@@ -986,7 +995,7 @@ dependencies = [
  "bytes",
  "fastrand 2.0.1",
  "hex",
- "http",
+ "http 0.2.11",
  "hyper",
  "ring 0.16.20",
  "time",
@@ -1021,7 +1030,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http",
+ "http 0.2.11",
  "http-body",
  "lazy_static",
  "percent-encoding",
@@ -1044,7 +1053,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "fastrand 2.0.1",
- "http",
+ "http 0.2.11",
  "percent-encoding",
  "tracing",
  "uuid",
@@ -1069,7 +1078,7 @@ dependencies = [
  "aws-types",
  "bytes",
  "fastrand 2.0.1",
- "http",
+ "http 0.2.11",
  "regex",
  "tokio-stream",
  "tracing",
@@ -1093,7 +1102,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-types",
  "bytes",
- "http",
+ "http 0.2.11",
  "regex",
  "tokio-stream",
  "tracing",
@@ -1118,7 +1127,7 @@ dependencies = [
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "http",
+ "http 0.2.11",
  "regex",
  "tracing",
 ]
@@ -1133,7 +1142,7 @@ dependencies = [
  "form_urlencoded",
  "hex",
  "hmac",
- "http",
+ "http 0.2.11",
  "once_cell",
  "percent-encoding",
  "regex",
@@ -1166,7 +1175,7 @@ dependencies = [
  "aws-smithy-types",
  "bytes",
  "fastrand 2.0.1",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "hyper-rustls",
@@ -1188,7 +1197,7 @@ dependencies = [
  "bytes",
  "bytes-utils",
  "futures-core",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "once_cell",
@@ -1209,7 +1218,7 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http",
+ "http 0.2.11",
  "http-body",
  "pin-project-lite",
  "tower",
@@ -1248,7 +1257,7 @@ dependencies = [
  "aws-smithy-types",
  "bytes",
  "fastrand 2.0.1",
- "http",
+ "http 0.2.11",
  "http-body",
  "once_cell",
  "pin-project-lite",
@@ -1267,7 +1276,7 @@ dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
  "bytes",
- "http",
+ "http 0.2.11",
  "tokio",
  "tracing",
 ]
@@ -1306,7 +1315,7 @@ dependencies = [
  "aws-smithy-client",
  "aws-smithy-http",
  "aws-smithy-types",
- "http",
+ "http 0.2.11",
  "rustc_version",
  "tracing",
 ]
@@ -1322,7 +1331,7 @@ dependencies = [
  "bitflags 1.3.2",
  "bytes",
  "futures-util",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "itoa",
@@ -1348,7 +1357,7 @@ dependencies = [
  "async-trait",
  "bytes",
  "futures-util",
- "http",
+ "http 0.2.11",
  "http-body",
  "mime",
  "rustversion",
@@ -1372,6 +1381,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "base-encode"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c"
+
+[[package]]
 name = "base16"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1391,9 +1406,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64-simd"
@@ -1418,6 +1433,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7b7172542a3d446ca7b2be4e28e4f4c119a89c396712f7ca1ad2822bfc54ca2"
 
 [[package]]
+name = "basic-toml"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2db21524cad41c5591204d22d75e1970a2d1f71060214ca931dc7d5afe2c14e5"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "bincode"
 version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1449,9 +1473,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -1511,9 +1535,9 @@ dependencies = [
 
 [[package]]
 name = "borsh"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf617fabf5cdbdc92f774bfe5062d870f228b80056d41180797abf48bed4056e"
+checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667"
 dependencies = [
  "borsh-derive",
  "cfg_aliases",
@@ -1521,15 +1545,15 @@ dependencies = [
 
 [[package]]
 name = "borsh-derive"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
+checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd"
 dependencies = [
  "once_cell",
- "proc-macro-crate 2.0.0",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
  "syn_derive",
 ]
 
@@ -1556,9 +1580,9 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
 dependencies = [
  "memchr",
  "serde",
@@ -1572,9 +1596,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytecheck"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627"
+checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2"
 dependencies = [
  "bytecheck_derive",
  "ptr_meta",
@@ -1583,9 +1607,9 @@ dependencies = [
 
 [[package]]
 name = "bytecheck_derive"
-version = "0.6.11"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
+checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1606,9 +1630,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "bytes-utils"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"
+checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35"
 dependencies = [
  "bytes",
  "either",
@@ -1657,6 +1681,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cf034765b7d19a011c6d619e880582bf95e8186b580e6fab56589872dd87dcf5"
 
 [[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
 name = "cbc"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1758,9 +1788,9 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1768,14 +1798,14 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "chrono-tz"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76"
+checksum = "91d7b79e99bfaa0d47da0687c43aa3b7381938a62ad3a6498599039321f660b7"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -1794,6 +1824,33 @@ dependencies = [
 ]
 
 [[package]]
+name = "ciborium"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
+dependencies = [
+ "ciborium-io",
+ "half",
+]
+
+[[package]]
 name = "cidr-utils"
 version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1818,6 +1875,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "cityhasher"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ceab37c9e94f42414cccae77e930232c517f1bb190947018cffb0ab41fc40992"
+
+[[package]]
 name = "clap"
 version = "3.2.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1829,31 +1892,31 @@ dependencies = [
  "clap_lex 0.2.4",
  "indexmap 1.9.3",
  "once_cell",
- "strsim",
+ "strsim 0.10.0",
  "termcolor",
  "textwrap",
 ]
 
 [[package]]
 name = "clap"
-version = "4.4.8"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64"
+checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
 dependencies = [
  "clap_builder",
- "clap_derive 4.4.7",
+ "clap_derive 4.5.0",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.8"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc"
+checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
 dependencies = [
  "anstream",
  "anstyle",
- "clap_lex 0.6.0",
- "strsim",
+ "clap_lex 0.7.0",
+ "strsim 0.11.0",
 ]
 
 [[package]]
@@ -1871,14 +1934,14 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1892,9 +1955,9 @@ dependencies = [
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "clipboard-win"
@@ -1923,7 +1986,7 @@ dependencies = [
  "delegate-attr",
  "futures",
  "hostname",
- "http",
+ "http 0.2.11",
  "serde",
  "serde_json",
  "snafu 0.6.10",
@@ -1976,7 +2039,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4f6af96839c04974cf381e427792a99913ecf3f7bfb348f153dc8a8e5f9803ad"
 dependencies = [
  "anyhow",
- "base64 0.21.5",
+ "base64 0.21.7",
  "hex",
  "lazy_static",
  "num_enum",
@@ -1984,10 +2047,58 @@ dependencies = [
 ]
 
 [[package]]
+name = "config"
+version = "0.1.0"
+dependencies = [
+ "actix-web-prometheus",
+ "ahash 0.8.7",
+ "anyhow",
+ "arrow",
+ "arrow-json",
+ "arrow-schema",
+ "aws-sdk-dynamodb",
+ "base64 0.21.7",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "cityhasher",
+ "dashmap",
+ "dotenv_config",
+ "dotenvy",
+ "get_if_addrs",
+ "getrandom",
+ "gxhash",
+ "hashbrown 0.14.3",
+ "hex",
+ "indexmap 2.1.0",
+ "itertools 0.12.1",
+ "log",
+ "memchr",
+ "murmur3",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "parquet",
+ "prometheus",
+ "rand",
+ "reqwest",
+ "segment",
+ "serde",
+ "serde_json",
+ "svix-ksuid",
+ "sysinfo",
+ "tokio",
+ "tracing",
+ "tracing-log 0.2.0",
+ "tracing-subscriber",
+ "utoipa",
+ "walkdir",
+]
+
+[[package]]
 name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "const-random"
@@ -2043,9 +2154,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2053,9 +2164,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpp_demangle"
@@ -2068,9 +2179,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -2100,57 +2211,82 @@ dependencies = [
 ]
 
 [[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap 4.5.0",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if 1.0.0",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if 1.0.0",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -2216,9 +2352,9 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -2226,27 +2362,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.39",
+ "strsim 0.10.0",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2256,7 +2392,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if 1.0.0",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
  "parking_lot_core 0.9.9",
@@ -2265,18 +2401,20 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "datafusion"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4328f5467f76d890fe3f924362dbc3a838c6a733f762b32d87f9e0b7bef5fb49"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow",
  "arrow-array",
+ "arrow-ipc",
  "arrow-schema",
  "async-compression",
  "async-trait",
@@ -2295,9 +2433,9 @@ dependencies = [
  "futures",
  "glob",
  "half",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "indexmap 2.1.0",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "log",
  "num_cpus",
  "object_store",
@@ -2312,15 +2450,16 @@ dependencies = [
  "url",
  "uuid",
  "xz2",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
 name = "datafusion-common"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29a7752143b446db4a2cccd9a6517293c6b97e8c39e520ca43ccd07135a4f7e"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow",
  "arrow-array",
  "arrow-buffer",
@@ -2336,8 +2475,9 @@ dependencies = [
 
 [[package]]
 name = "datafusion-execution"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d447650af16e138c31237f53ddaef6dd4f92f0e2d3f2f35d190e16c214ca496"
 dependencies = [
  "arrow",
  "chrono",
@@ -2345,7 +2485,7 @@ dependencies = [
  "datafusion-common",
  "datafusion-expr",
  "futures",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "log",
  "object_store",
  "parking_lot 0.12.1",
@@ -2356,10 +2496,11 @@ dependencies = [
 
 [[package]]
 name = "datafusion-expr"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8d19598e48a498850fb79f97a9719b1f95e7deb64a7a06f93f313e8fa1d524b"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow",
  "arrow-array",
  "datafusion-common",
@@ -2371,8 +2512,9 @@ dependencies = [
 
 [[package]]
 name = "datafusion-optimizer"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b7feb0391f1fc75575acb95b74bfd276903dc37a5409fcebe160bc7ddff2010"
 dependencies = [
  "arrow",
  "async-trait",
@@ -2380,34 +2522,35 @@ dependencies = [
  "datafusion-common",
  "datafusion-expr",
  "datafusion-physical-expr",
- "hashbrown 0.14.2",
- "itertools 0.12.0",
+ "hashbrown 0.14.3",
+ "itertools 0.12.1",
  "log",
  "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "datafusion-physical-expr"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e911bca609c89a54e8f014777449d8290327414d3e10c57a3e3c2122e38878d0"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow",
  "arrow-array",
  "arrow-buffer",
  "arrow-ord",
  "arrow-schema",
- "base64 0.21.5",
+ "base64 0.21.7",
  "blake2",
  "blake3",
  "chrono",
  "datafusion-common",
  "datafusion-expr",
  "half",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "hex",
  "indexmap 2.1.0",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "log",
  "md-5",
  "paste",
@@ -2421,10 +2564,11 @@ dependencies = [
 
 [[package]]
 name = "datafusion-physical-plan"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e96b546b8a02e9c2ab35ac6420d511f12a4701950c1eb2e568c122b4fefb0be3"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow",
  "arrow-array",
  "arrow-buffer",
@@ -2437,9 +2581,9 @@ dependencies = [
  "datafusion-physical-expr",
  "futures",
  "half",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "indexmap 2.1.0",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "log",
  "once_cell",
  "parking_lot 0.12.1",
@@ -2451,8 +2595,9 @@ dependencies = [
 
 [[package]]
 name = "datafusion-sql"
-version = "33.0.0"
-source = "git+https://github.com/apache/arrow-datafusion.git?rev=b648d4e22e82989c65523e62312e1995a1543888#b648d4e22e82989c65523e62312e1995a1543888"
+version = "35.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d18d36f260bbbd63aafdb55339213a23d540d3419810575850ef0a798a6b768"
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -2501,9 +2646,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
  "serde",
@@ -2542,20 +2687,11 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
-name = "dirs"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
- "dirs-sys 0.4.1",
+ "dirs-sys",
 ]
 
 [[package]]
@@ -2570,17 +2706,6 @@ dependencies = [
 
 [[package]]
 name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "dirs-sys"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
@@ -2616,7 +2741,7 @@ checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "socket2 0.5.5",
+ "socket2",
  "windows-sys 0.48.0",
 ]
 
@@ -2628,9 +2753,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
 name = "dotenv_config"
-version = "0.1.6"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72ef519d2aabc15ca3dba4729976066fa23f80187bf2b19d623d24fe1a0ec3ea"
+checksum = "4bce5ef5fd13358c4135f7ec808e6eb0e4fe8a93e399ea73d9ea24e3ec3f78b5"
 dependencies = [
  "anyhow",
  "askama",
@@ -2695,29 +2820,29 @@ dependencies = [
 
 [[package]]
 name = "enum-iterator"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689"
+checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94"
 dependencies = [
  "enum-iterator-derive",
 ]
 
 [[package]]
 name = "enum-iterator-derive"
-version = "1.2.1"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
+checksum = "03cdc46ec28bd728e67540c528013c6a10eb69a02eb31078a1bda695438cbfb8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -2734,12 +2859,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2754,12 +2879,12 @@ dependencies = [
 
 [[package]]
 name = "etcd-client"
-version = "0.12.1"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d982a3b3088a5f95d19882d298b352a2e0be20703e3080c1e6767731d5dec79"
+checksum = "4ae697f3928e8c89ae6f4dcf788059f49fd01a76dc53e63628f5a33881f5715e"
 dependencies = [
- "http",
- "prost 0.12.2",
+ "http 0.2.11",
+ "prost 0.12.3",
  "tokio",
  "tokio-stream",
  "tonic 0.10.2",
@@ -2818,24 +2943,25 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "faststr"
-version = "0.2.11"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "284eac9300ad17d2492e1e87219768b8ab97fb2c74a61cdbc0ced31d3f711159"
+checksum = "c176ff74f084f24c4fdc98ac22d11e27da8daffbcbd13f4d71180758a319c2e3"
 dependencies = [
  "bytes",
  "serde",
+ "simdutf8",
 ]
 
 [[package]]
 name = "filetime"
-version = "0.2.22"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.3.5",
- "windows-sys 0.48.0",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2911,9 +3037,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -2936,9 +3062,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
 
 [[package]]
 name = "futures"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2951,9 +3077,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2961,15 +3087,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2989,9 +3115,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -3010,32 +3136,32 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -3108,9 +3234,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -3133,9 +3259,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -3145,15 +3271,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "globset"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
  "aho-corasick",
  "bstr",
- "fnv",
  "log",
- "regex",
+ "regex-automata 0.4.5",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -3167,17 +3293,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "gxhash"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc9a192659d9fd88d8bd8b8ccdec491225e3623083c1251a1a406c47934415c"
+dependencies = [
+ "rand",
+ "rustc_version",
+]
+
+[[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http",
+ "http 0.2.11",
  "indexmap 2.1.0",
  "slab",
  "tokio",
@@ -3197,16 +3333,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "halfbrown"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec"
-dependencies = [
- "hashbrown 0.13.2",
- "serde",
-]
-
-[[package]]
 name = "hashbrown"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3217,21 +3343,13 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash 0.8.6",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "allocator-api2",
+ "serde",
 ]
 
 [[package]]
@@ -3240,7 +3358,7 @@ version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
 dependencies = [
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -3263,9 +3381,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -3275,9 +3393,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -3293,11 +3411,11 @@ dependencies = [
 
 [[package]]
 name = "home"
-version = "0.5.5"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3323,6 +3441,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "http"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
 name = "http-auth-basic"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3333,12 +3462,12 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http",
+ "http 0.2.11",
  "pin-project-lite",
 ]
 
@@ -3356,9 +3485,12 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humansize"
-version = "1.1.1"
+version = "2.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
+checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
+dependencies = [
+ "libm",
+]
 
 [[package]]
 name = "humantime"
@@ -3368,22 +3500,22 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-core",
  "futures-util",
  "h2",
- "http",
+ "http 0.2.11",
  "http-body",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2",
  "tokio",
  "tower-service",
  "tracing",
@@ -3397,7 +3529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
  "futures-util",
- "http",
+ "http 0.2.11",
  "hyper",
  "log",
  "rustls",
@@ -3420,9 +3552,9 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -3449,9 +3581,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -3480,7 +3612,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
  "serde",
 ]
 
@@ -3491,6 +3623,61 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
 
 [[package]]
+name = "infra"
+version = "0.1.0"
+dependencies = [
+ "ahash 0.8.7",
+ "anyhow",
+ "async-trait",
+ "aws-config",
+ "aws-sdk-dynamodb",
+ "bytes",
+ "chrono",
+ "config",
+ "datafusion",
+ "etcd-client",
+ "futures",
+ "hashbrown 0.14.3",
+ "hashlink",
+ "log",
+ "object_store",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "serde",
+ "serde_json",
+ "sled",
+ "sqlx",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "ingester"
+version = "0.1.0"
+dependencies = [
+ "arrow",
+ "arrow-schema",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "config",
+ "futures",
+ "hashbrown 0.14.3",
+ "indexmap 2.1.0",
+ "itertools 0.12.1",
+ "log",
+ "once_cell",
+ "parquet",
+ "serde",
+ "serde_json",
+ "snafu 0.7.5",
+ "tokio",
+ "wal",
+ "walkdir",
+]
+
+[[package]]
 name = "inout"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3521,7 +3708,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi 0.3.5",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -3552,13 +3739,13 @@ dependencies = [
 
 [[package]]
 name = "is-terminal"
-version = "0.4.9"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+checksum = "fe8f25ce1159c7740ff0b9b2f5cdf4a8428742ba7c112b9f20f22cd5219c7dab"
 dependencies = [
- "hermit-abi 0.3.3",
- "rustix 0.38.24",
- "windows-sys 0.48.0",
+ "hermit-abi 0.3.5",
+ "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -3581,18 +3768,18 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jni"
@@ -3618,18 +3805,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3641,10 +3828,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
 
 [[package]]
+name = "jsonwebtoken"
+version = "9.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4"
+dependencies = [
+ "base64 0.21.7",
+ "js-sys",
+ "pem",
+ "ring 0.17.7",
+ "serde",
+ "serde_json",
+ "simple_asn1",
+]
+
+[[package]]
 name = "keccak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
+checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
 dependencies = [
  "cpufeatures",
 ]
@@ -3758,9 +3960,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.150"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libflate"
@@ -3804,16 +4006,16 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall 0.4.1",
 ]
 
 [[package]]
 name = "libsqlite3-sys"
-version = "0.26.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
 dependencies = [
  "cc",
  "pkg-config",
@@ -3822,9 +4024,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
 dependencies = [
  "cc",
  "pkg-config",
@@ -3845,9 +4047,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "local-channel"
@@ -3937,9 +4139,9 @@ dependencies = [
 
 [[package]]
 name = "lz4_flex"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ea9b256699eda7b0387ffbc776dd625e28bde3918446381781245b7a50349d8"
+checksum = "912b45c753ff5f7f5208307e8ace7d2a2e30d024e26d3509f3dce546c044ce15"
 dependencies = [
  "twox-hash",
 ]
@@ -4018,32 +4220,33 @@ dependencies = [
 
 [[package]]
 name = "mediatype"
-version = "0.19.15"
+version = "0.19.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c408dc227d302f1496c84d9dc68c00fec6f56f9228a18f3023f976f3ca7c945"
+checksum = "8878cd8d1b3c8c8ae4b2ba0a36652b7cf192f618a599a7fbdfa25cffd4ea72dd"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memmap2"
-version = "0.8.0"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
+name = "memory-stats"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "34f79cf9964c5c9545493acda1263f1912f8d2c56c8a2ffee2606cb960acaacc"
 dependencies = [
- "autocfg",
+ "libc",
+ "winapi 0.3.9",
 ]
 
 [[package]]
@@ -4079,18 +4282,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
  "log",
@@ -4105,6 +4308,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
 
 [[package]]
+name = "murmur3"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9252111cf132ba0929b6f8e030cac2a24b507f3a4d6db6fb2896f27b354c714b"
+
+[[package]]
 name = "names"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4148,6 +4357,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.2",
+ "cfg-if 1.0.0",
+ "libc",
+]
+
+[[package]]
 name = "nom"
 version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4220,28 +4440,33 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
+checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6"
 dependencies = [
  "num-traits",
 ]
 
 [[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-integer"
-version = "0.1.45"
+version = "0.1.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
 dependencies = [
- "autocfg",
  "num-traits",
 ]
 
 [[package]]
 name = "num-iter"
-version = "0.1.43"
+version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -4262,9 +4487,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -4276,7 +4501,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.3",
+ "hermit-abi 0.3.5",
  "libc",
 ]
 
@@ -4298,7 +4523,7 @@ dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -4312,34 +4537,34 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "object_store"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050"
+checksum = "d139f545f64630e2e3688fd9f81c470888ab01edeb72d13b4e86c566f1130000"
 dependencies = [
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "chrono",
  "futures",
  "humantime",
  "hyper",
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "parking_lot 0.12.1",
  "percent-encoding",
  "quick-xml",
  "rand",
  "reqwest",
- "ring 0.17.5",
- "rustls-pemfile",
+ "ring 0.17.7",
+ "rustls-pemfile 2.0.0",
  "serde",
  "serde_json",
  "snafu 0.7.5",
@@ -4360,9 +4585,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "onig"
@@ -4387,6 +4612,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
 name = "opaque-debug"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4394,7 +4625,7 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openobserve"
-version = "0.7.1"
+version = "0.8.1"
 dependencies = [
  "actix-cors",
  "actix-multipart",
@@ -4404,7 +4635,7 @@ dependencies = [
  "actix-web-opentelemetry",
  "actix-web-prometheus",
  "actix-web-rust-embed-responder",
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "anyhow",
  "argon2",
  "arrow",
@@ -4412,21 +4643,17 @@ dependencies = [
  "async-recursion",
  "async-trait",
  "awc",
- "aws-config",
- "aws-sdk-dynamodb",
- "base64 0.21.5",
+ "base64 0.21.7",
  "blake3",
- "byteorder",
  "bytes",
  "chrono",
- "clap 4.4.8",
+ "clap 4.5.0",
  "cloudevents-sdk",
+ "config",
  "csv",
  "dashmap",
  "datafusion",
  "datafusion-expr",
- "dotenv_config",
- "dotenvy",
  "enrichment",
  "env_logger",
  "etcd-client",
@@ -4435,18 +4662,18 @@ dependencies = [
  "flate2",
  "float-cmp",
  "futures",
- "get_if_addrs",
  "getrandom",
- "glob",
- "hashlink",
+ "hashbrown 0.14.3",
  "hex",
  "http-auth-basic",
- "indexmap 2.1.0",
+ "infra",
+ "ingester",
  "ipnetwork 0.20.0",
- "itertools 0.12.0",
+ "itertools 0.12.1",
+ "jsonwebtoken",
  "log",
  "maxminddb",
- "memchr",
+ "memory-stats",
  "mimalloc",
  "object_store",
  "once_cell",
@@ -4466,21 +4693,17 @@ dependencies = [
  "regex",
  "regex-syntax 0.8.2",
  "reqwest",
- "rs-snowflake",
  "rust-embed-for-web",
  "segment",
  "serde",
  "serde_json",
  "sha256",
- "simd-json",
- "sled",
+ "snafu 0.7.5",
  "snap",
  "sqlparser",
- "sqlx",
  "strum",
  "sysinfo",
  "syslog_loose 0.18.0",
- "tempfile",
  "thiserror",
  "tikv-jemallocator",
  "time",
@@ -4489,17 +4712,16 @@ dependencies = [
  "tonic 0.8.3",
  "tonic-build 0.8.4",
  "tracing",
+ "tracing-appender",
  "tracing-opentelemetry",
  "tracing-subscriber",
  "uaparser",
  "url",
  "utoipa",
  "utoipa-swagger-ui",
- "uuid",
  "vrl",
  "walkdir",
- "xxhash-rust",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
@@ -4552,7 +4774,7 @@ checksum = "1edc79add46364183ece1a4542592ca593e6421c60807232f5b8f7a31703825d"
 dependencies = [
  "async-trait",
  "bytes",
- "http",
+ "http 0.2.11",
  "opentelemetry_api 0.18.0",
  "reqwest",
 ]
@@ -4566,7 +4788,7 @@ dependencies = [
  "async-trait",
  "futures",
  "futures-util",
- "http",
+ "http 0.2.11",
  "opentelemetry 0.18.0",
  "opentelemetry-http",
  "opentelemetry-proto 0.1.0",
@@ -4708,9 +4930,9 @@ dependencies = [
 
 [[package]]
 name = "ordered-float"
-version = "4.1.1"
+version = "4.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "536900a8093134cf9ccf00a27deb3532421099e958d9dd431135d0c7543ca1e8"
+checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e"
 dependencies = [
  "num-traits",
 ]
@@ -4734,16 +4956,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
-name = "packed_simd"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f9f08af0c877571712e2e3e686ad79efad9657dbf0f7c3c8ba943ff6c38932d"
-dependencies = [
- "cfg-if 1.0.0",
- "num-traits",
-]
-
-[[package]]
 name = "packedvec"
 version = "1.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4809,11 +5021,11 @@ dependencies = [
 
 [[package]]
 name = "parquet"
-version = "49.0.0"
+version = "50.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af88740a842787da39b3d69ce5fbf6fce97d20211d3b299fee0a0da6430c74d4"
+checksum = "547b92ebf0c1177e3892f44c8f79757ee62e678d564a9834189725f2c5b7a750"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "arrow-array",
  "arrow-buffer",
  "arrow-cast",
@@ -4821,13 +5033,14 @@ dependencies = [
  "arrow-ipc",
  "arrow-schema",
  "arrow-select",
- "base64 0.21.5",
+ "base64 0.21.7",
  "brotli",
  "bytes",
  "chrono",
  "flate2",
  "futures",
- "hashbrown 0.14.2",
+ "half",
+ "hashbrown 0.14.3",
  "lz4_flex",
  "num",
  "num-bigint",
@@ -4838,7 +5051,7 @@ dependencies = [
  "thrift",
  "tokio",
  "twox-hash",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
@@ -4880,6 +5093,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e9ed2178b0575fff8e1b83b58ba6f75e727aafac2e1b6c795169ad3b17eb518"
 
 [[package]]
+name = "pem"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310"
+dependencies = [
+ "base64 0.21.7",
+ "serde",
+]
+
+[[package]]
 name = "pem-rfc7468"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4890,15 +5113,15 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546"
 dependencies = [
  "memchr",
  "thiserror",
@@ -4907,9 +5130,9 @@ dependencies = [
 
 [[package]]
 name = "pest_derive"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
+checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809"
 dependencies = [
  "pest",
  "pest_generator",
@@ -4917,22 +5140,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
+checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
+checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a"
 dependencies = [
  "once_cell",
  "pest",
@@ -4998,22 +5221,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5051,9 +5274,9 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "poly1305"
@@ -5083,7 +5306,7 @@ dependencies = [
  "findshlibs",
  "libc",
  "log",
- "nix",
+ "nix 0.26.4",
  "once_cell",
  "parking_lot 0.12.1",
  "smallvec",
@@ -5116,12 +5339,12 @@ dependencies = [
 
 [[package]]
 name = "prettyplease"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
+checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
 dependencies = [
  "proc-macro2",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5149,11 +5372,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.0"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_edit 0.20.7",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -5182,9 +5405,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -5221,9 +5444,9 @@ dependencies = [
 
 [[package]]
 name = "promql-parser"
-version = "0.2.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49ba47c84c4e66bcde38e8ac608feebddf65636d5fc8ed1763836e05013850f3"
+checksum = "a24c16fbf55ea420c6286ef5ee86772062332d9f3b10d24a6edbc2e88840e1ad"
 dependencies = [
  "cfgrammar",
  "lazy_static",
@@ -5244,12 +5467,12 @@ dependencies = [
 
 [[package]]
 name = "prost"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5a410fc7882af66deb8d01d01737353cf3ad6204c408177ba494291a626312"
+checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
 dependencies = [
  "bytes",
- "prost-derive 0.12.2",
+ "prost-derive 0.12.3",
 ]
 
 [[package]]
@@ -5276,9 +5499,9 @@ dependencies = [
 
 [[package]]
 name = "prost-build"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fa3d084c8704911bfefb2771be2f9b6c5c0da7343a71e0021ee3c665cada738"
+checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"
 dependencies = [
  "bytes",
  "heck",
@@ -5287,11 +5510,11 @@ dependencies = [
  "multimap",
  "once_cell",
  "petgraph",
- "prettyplease 0.2.15",
- "prost 0.12.2",
- "prost-types 0.12.2",
+ "prettyplease 0.2.16",
+ "prost 0.12.3",
+ "prost-types 0.12.3",
  "regex",
- "syn 2.0.39",
+ "syn 2.0.48",
  "tempfile",
  "which",
 ]
@@ -5311,15 +5534,15 @@ dependencies = [
 
 [[package]]
 name = "prost-derive"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065717a5dfaca4a83d2fe57db3487b311365200000551d7a364e715dbf4346bc"
+checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
 dependencies = [
  "anyhow",
  "itertools 0.11.0",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5333,11 +5556,11 @@ dependencies = [
 
 [[package]]
 name = "prost-types"
-version = "0.12.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8339f32236f590281e2f6368276441394fcd1b2133b549cc895d0ae80f2f9a52"
+checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
 dependencies = [
- "prost 0.12.2",
+ "prost 0.12.3",
 ]
 
 [[package]]
@@ -5428,9 +5651,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -5494,9 +5717,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -5504,9 +5727,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -5523,15 +5746,6 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
@@ -5551,34 +5765,14 @@ dependencies = [
 ]
 
 [[package]]
-name = "ref-cast"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280"
-dependencies = [
- "ref-cast-impl",
-]
-
-[[package]]
-name = "ref-cast-impl"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.5",
  "regex-syntax 0.8.2",
 ]
 
@@ -5593,9 +5787,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -5622,26 +5816,26 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rend"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
 dependencies = [
  "bytecheck",
 ]
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
  "h2",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "hyper-rustls",
@@ -5653,10 +5847,12 @@ dependencies = [
  "percent-encoding",
  "pin-project-lite",
  "rustls",
- "rustls-pemfile",
+ "rustls-native-certs",
+ "rustls-pemfile 1.0.4",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-rustls",
@@ -5667,7 +5863,7 @@ dependencies = [
  "wasm-bindgen-futures",
  "wasm-streams",
  "web-sys",
- "webpki-roots 0.25.2",
+ "webpki-roots",
  "winreg",
 ]
 
@@ -5688,9 +5884,9 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.17.5"
+version = "0.17.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
 dependencies = [
  "cc",
  "getrandom",
@@ -5702,12 +5898,13 @@ dependencies = [
 
 [[package]]
 name = "rkyv"
-version = "0.7.42"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
 dependencies = [
  "bitvec",
  "bytecheck",
+ "bytes",
  "hashbrown 0.12.3",
  "ptr_meta",
  "rend",
@@ -5719,9 +5916,9 @@ dependencies = [
 
 [[package]]
 name = "rkyv_derive"
-version = "0.7.42"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -5744,16 +5941,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "rs-snowflake"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e60ef3b82994702bbe4e134d98aadca4b49ed04440148985678d415c68127666"
-
-[[package]]
 name = "rsa"
-version = "0.9.3"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
 dependencies = [
  "const-oid",
  "digest",
@@ -5771,9 +5962,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40"
+checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f"
 dependencies = [
  "rust-embed-impl",
  "rust-embed-utils",
@@ -5782,9 +5973,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-for-web"
-version = "11.1.4"
+version = "11.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb0ac27c82044eed85bb65ff80438d9c9a9b7335ccded5ee43d5d90c5e69be75"
+checksum = "69f84d0a081592f9a39ab2d4a203423b7c5a5beddea477a23e9a74a8bf4f1956"
 dependencies = [
  "rust-embed-for-web-impl",
  "rust-embed-for-web-utils",
@@ -5793,9 +5984,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-for-web-impl"
-version = "11.1.4"
+version = "11.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8550045ff1cf11e67aaa2b651163256461cb6aa4ba1e13957a98ac1472206a3"
+checksum = "d4d1c01db6abf4e30579a31246030c5409d58eee37af20e44193f5c5603cd4bb"
 dependencies = [
  "brotli",
  "flate2",
@@ -5803,16 +5994,16 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-for-web-utils",
- "shellexpand 3.1.0",
- "syn 2.0.39",
+ "shellexpand",
+ "syn 2.0.48",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-for-web-utils"
-version = "11.1.4"
+version = "11.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c747ac20c1b87c0a7dee62f2b47ca26a9112b164a66b1c2d2fafae958d8cfd75"
+checksum = "7956b3948b20e5a24e3f77e266e9bdd191907fcdf919ea4dfc178dc5c3226d02"
 dependencies = [
  "base85rs",
  "chrono",
@@ -5824,23 +6015,23 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-impl"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29"
+checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16"
 dependencies = [
  "proc-macro2",
  "quote",
  "rust-embed-utils",
- "shellexpand 2.1.2",
- "syn 2.0.39",
+ "shellexpand",
+ "syn 2.0.48",
  "walkdir",
 ]
 
 [[package]]
 name = "rust-embed-utils"
-version = "8.0.0"
+version = "8.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada"
+checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665"
 dependencies = [
  "sha2",
  "walkdir",
@@ -5848,9 +6039,9 @@ dependencies = [
 
 [[package]]
 name = "rust_decimal"
-version = "1.33.0"
+version = "1.34.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "076ba1058b036d3ca8bcafb1d54d0b0572e99d7ecd3e4222723e18ca8e9ca9a8"
+checksum = "755392e1a2f77afd95580d3f0d0e94ac83eeeb7167552c9b5bca549e61a94d83"
 dependencies = [
  "arrayvec",
  "borsh",
@@ -5893,25 +6084,25 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.24"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.11",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.21.8"
+version = "0.21.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
 dependencies = [
  "log",
- "ring 0.17.5",
+ "ring 0.17.7",
  "rustls-webpki",
  "sct",
 ]
@@ -5923,7 +6114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
 dependencies = [
  "openssl-probe",
- "rustls-pemfile",
+ "rustls-pemfile 1.0.4",
  "schannel",
  "security-framework",
 ]
@@ -5934,16 +6125,32 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
 ]
 
 [[package]]
+name = "rustls-pemfile"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4"
+dependencies = [
+ "base64 0.21.7",
+ "rustls-pki-types",
+]
+
+[[package]]
+name = "rustls-pki-types"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf"
+
+[[package]]
 name = "rustls-webpki"
 version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.7",
  "untrusted 0.9.0",
 ]
 
@@ -5959,13 +6166,13 @@ version = "12.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "994eca4bca05c87e86e15d90fc7a91d1be64b4482b38cb2d27474568fe7c9db9"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if 1.0.0",
  "clipboard-win",
  "libc",
  "log",
  "memchr",
- "nix",
+ "nix 0.26.4",
  "scopeguard",
  "unicode-segmentation",
  "unicode-width",
@@ -5975,9 +6182,9 @@ dependencies = [
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "salsa20"
@@ -5999,11 +6206,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -6018,7 +6225,7 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.5",
+ "ring 0.17.7",
  "untrusted 0.9.0",
 ]
 
@@ -6067,9 +6274,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "seq-macro"
@@ -6079,29 +6286,29 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.192"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.192"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_html_form"
-version = "0.2.2"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde65b75f2603066b78d6fa239b2c07b43e06ead09435f60554d3912962b4a3c"
+checksum = "20e1066e1cfa6692a722cf40386a2caec36da5ddc4a2c16df592f0f609677e8c"
 dependencies = [
  "form_urlencoded",
  "indexmap 2.1.0",
@@ -6112,9 +6319,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
  "itoa",
  "ryu",
@@ -6189,9 +6396,9 @@ dependencies = [
 
 [[package]]
 name = "sha256"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7895c8ae88588ccead14ff438b939b0c569cd619116f14b4d13fdff7b8333386"
+checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0"
 dependencies = [
  "async-trait",
  "bytes",
@@ -6221,20 +6428,11 @@ dependencies = [
 
 [[package]]
 name = "shellexpand"
-version = "2.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
-dependencies = [
- "dirs 4.0.0",
-]
-
-[[package]]
-name = "shellexpand"
 version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b"
 dependencies = [
- "dirs 5.0.1",
+ "dirs",
 ]
 
 [[package]]
@@ -6257,28 +6455,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "simd-json"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5a3720326b20bf5b95b72dbbd133caae7e0dcf71eae8f6e6656e71a7e5c9aaa"
-dependencies = [
- "getrandom",
- "halfbrown",
- "lexical-core",
- "ref-cast",
- "serde",
- "serde_json",
- "simdutf8",
- "value-trait",
-]
-
-[[package]]
 name = "simdutf8"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
 
 [[package]]
+name = "simple_asn1"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "thiserror",
+ "time",
+]
+
+[[package]]
 name = "siphasher"
 version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6311,9 +6505,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "snafu"
@@ -6360,19 +6554,9 @@ dependencies = [
 
 [[package]]
 name = "snap"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831"
-
-[[package]]
-name = "socket2"
-version = "0.4.10"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
+checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b"
 
 [[package]]
 name = "socket2"
@@ -6413,9 +6597,9 @@ dependencies = [
 
 [[package]]
 name = "spki"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
 dependencies = [
  "base64ct",
  "der",
@@ -6423,20 +6607,20 @@ dependencies = [
 
 [[package]]
 name = "sqlformat"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85"
+checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
 dependencies = [
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "nom",
  "unicode_categories",
 ]
 
 [[package]]
 name = "sqlparser"
-version = "0.39.0"
+version = "0.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7"
+checksum = "5cc2c25a6c66789625ef164b4c7d2e548d627902280c13710d33da8222169964"
 dependencies = [
  "log",
  "serde",
@@ -6445,20 +6629,20 @@ dependencies = [
 
 [[package]]
 name = "sqlparser_derive"
-version = "0.1.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55fe75cb4a364c7f7ae06c7dbbc8d84bddd85d6cdf9975963c3935bc1991761e"
+checksum = "01b2e185515564f15375f593fb966b5718bc624ba77fe49fa4616ad619690554"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "sqlx"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
+checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
 dependencies = [
  "sqlx-core",
  "sqlx-macros",
@@ -6469,11 +6653,11 @@ dependencies = [
 
 [[package]]
 name = "sqlx-core"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
+checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
 dependencies = [
- "ahash 0.8.6",
+ "ahash 0.8.7",
  "atoi",
  "byteorder",
  "bytes",
@@ -6497,7 +6681,7 @@ dependencies = [
  "paste",
  "percent-encoding",
  "rustls",
- "rustls-pemfile",
+ "rustls-pemfile 1.0.4",
  "serde",
  "serde_json",
  "sha2",
@@ -6508,14 +6692,14 @@ dependencies = [
  "tokio-stream",
  "tracing",
  "url",
- "webpki-roots 0.24.0",
+ "webpki-roots",
 ]
 
 [[package]]
 name = "sqlx-macros"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
+checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6526,10 +6710,11 @@ dependencies = [
 
 [[package]]
 name = "sqlx-macros-core"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
+checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
 dependencies = [
+ "atomic-write-file",
  "dotenvy",
  "either",
  "heck",
@@ -6552,13 +6737,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-mysql"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
+checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
 dependencies = [
  "atoi",
- "base64 0.21.5",
- "bitflags 2.4.1",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "byteorder",
  "bytes",
  "chrono",
@@ -6595,13 +6780,13 @@ dependencies = [
 
 [[package]]
 name = "sqlx-postgres"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
+checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
 dependencies = [
  "atoi",
- "base64 0.21.5",
- "bitflags 2.4.1",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "byteorder",
  "chrono",
  "crc",
@@ -6635,9 +6820,9 @@ dependencies = [
 
 [[package]]
 name = "sqlx-sqlite"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
+checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
 dependencies = [
  "atoi",
  "chrono",
@@ -6654,6 +6839,7 @@ dependencies = [
  "sqlx-core",
  "tracing",
  "url",
+ "urlencoding",
 ]
 
 [[package]]
@@ -6714,6 +6900,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
 name = "strum"
 version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6732,7 +6924,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6742,10 +6934,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 
 [[package]]
+name = "svix-ksuid"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "66f014385b7fc154f59e9480770c2187b6e61037c2439895788a9a4d421d7859"
+dependencies = [
+ "base-encode",
+ "byteorder",
+ "getrandom",
+ "serde",
+ "time",
+]
+
+[[package]]
 name = "symbolic-common"
-version = "12.6.0"
+version = "12.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "405af7bd5edd866cef462e22ef73f11cf9bf506c9d62824fef8364eb69d4d4ad"
+checksum = "1cccfffbc6bb3bb2d3a26cd2077f4d055f6808d266f9d4d158797a4c60510dfe"
 dependencies = [
  "debugid",
  "memmap2",
@@ -6755,9 +6960,9 @@ dependencies = [
 
 [[package]]
 name = "symbolic-demangle"
-version = "12.6.0"
+version = "12.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bcd041ccfb77d9c70639efcd5b804b508ac7a273e9224d227379e225625daf9"
+checksum = "76a99812da4020a67e76c4eb41f08c87364c14170495ff780f30dd519c221a68"
 dependencies = [
  "cpp_demangle",
  "rustc-demangle",
@@ -6777,9 +6982,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.39"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6795,7 +7000,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6806,9 +7011,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
 name = "sysinfo"
-version = "0.29.10"
+version = "0.29.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5"
+checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666"
 dependencies = [
  "cfg-if 1.0.0",
  "core-foundation-sys",
@@ -6868,15 +7073,14 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tempfile"
-version = "3.8.1"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if 1.0.0",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
- "rustix 0.38.24",
- "windows-sys 0.48.0",
+ "rustix 0.38.31",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -6892,9 +7096,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -6907,22 +7111,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6968,12 +7172,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -6988,10 +7193,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -7005,6 +7211,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "tinyvec"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7021,9 +7237,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.34.0"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes",
@@ -7033,7 +7249,7 @@ dependencies = [
  "parking_lot 0.12.1",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.5",
+ "socket2",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -7056,7 +7272,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7095,15 +7311,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
 name = "toml_datetime"
 version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7122,9 +7329,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.20.7"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
  "indexmap 2.1.0",
  "toml_datetime",
@@ -7146,7 +7353,7 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "hyper-timeout",
@@ -7173,18 +7380,18 @@ dependencies = [
  "async-stream",
  "async-trait",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "h2",
- "http",
+ "http 0.2.11",
  "http-body",
  "hyper",
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
- "prost 0.12.2",
+ "prost 0.12.3",
  "rustls",
- "rustls-pemfile",
+ "rustls-pemfile 1.0.4",
  "tokio",
  "tokio-rustls",
  "tokio-stream",
@@ -7213,11 +7420,11 @@ version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
 dependencies = [
- "prettyplease 0.2.15",
+ "prettyplease 0.2.16",
  "proc-macro2",
- "prost-build 0.12.2",
+ "prost-build 0.12.3",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7265,6 +7472,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "tracing-appender"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf"
+dependencies = [
+ "crossbeam-channel",
+ "thiserror",
+ "time",
+ "tracing-subscriber",
+]
+
+[[package]]
 name = "tracing-attributes"
 version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7272,7 +7491,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7332,6 +7551,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "tracing-serde"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
+dependencies = [
+ "serde",
+ "tracing-core",
+]
+
+[[package]]
 name = "tracing-subscriber"
 version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7341,19 +7570,22 @@ dependencies = [
  "nu-ansi-term",
  "once_cell",
  "regex",
+ "serde",
+ "serde_json",
  "sharded-slab",
  "smallvec",
  "thread_local",
  "tracing",
  "tracing-core",
  "tracing-log 0.2.0",
+ "tracing-serde",
 ]
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "try_from"
@@ -7411,9 +7643,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -7432,9 +7664,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
@@ -7478,9 +7710,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -7496,9 +7728,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
 name = "utf8-width"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
+checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
 
 [[package]]
 name = "utf8parse"
@@ -7508,9 +7740,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "utoipa"
-version = "4.1.0"
+version = "4.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ff05e3bac2c9428f57ade702667753ca3f5cf085e2011fe697de5bfd49aa72d"
+checksum = "272ebdfbc99111033031d2f10e018836056e4d2c8e2acda76450ec7974269fa7"
 dependencies = [
  "indexmap 2.1.0",
  "serde",
@@ -7520,15 +7752,15 @@ dependencies = [
 
 [[package]]
 name = "utoipa-gen"
-version = "4.1.0"
+version = "4.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0b6f4667edd64be0e820d6631a60433a269710b6ee89ac39525b872b76d61d"
+checksum = "d3c9f4d08338c1bfa70dde39412a040a884c6f318b3d09aaaf3437a1e52027fc"
 dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -7549,46 +7781,21 @@ dependencies = [
 
 [[package]]
 name = "uuid"
-version = "1.5.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
  "getrandom",
- "rand",
- "uuid-macro-internal",
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "uuid-macro-internal"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d8c6bba9b149ee82950daefc9623b32bb1dacbfb1890e352f6b887bd582adaf"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.39",
-]
-
-[[package]]
 name = "valuable"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 
 [[package]]
-name = "value-trait"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea87257cfcbedcb9444eda79c59fdfea71217e6305afee8ee33f500375c2ac97"
-dependencies = [
- "float-cmp",
- "halfbrown",
- "itoa",
- "ryu",
-]
-
-[[package]]
 name = "vcpkg"
 version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7635,7 +7842,7 @@ dependencies = [
  "aes",
  "anymap",
  "base16",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "cbc",
  "cfb-mode",
@@ -7645,7 +7852,7 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "cidr-utils",
- "clap 4.4.8",
+ "clap 4.5.0",
  "codespan-reporting",
  "community-id",
  "crypto_secretbox",
@@ -7670,7 +7877,7 @@ dependencies = [
  "ofb",
  "once_cell",
  "onig",
- "ordered-float 4.1.1",
+ "ordered-float 4.2.0",
  "paste",
  "peeking_take_while",
  "percent-encoding",
@@ -7701,7 +7908,7 @@ dependencies = [
  "uuid",
  "webbrowser",
  "woothee",
- "zstd 0.13.0",
+ "zstd",
 ]
 
 [[package]]
@@ -7737,6 +7944,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
+name = "wal"
+version = "0.1.0"
+dependencies = [
+ "byteorder",
+ "bytes",
+ "crc32fast",
+ "criterion",
+ "parking_lot 0.12.1",
+ "snafu 0.7.5",
+ "snap",
+ "tempfile",
+]
+
+[[package]]
 name = "walkdir"
 version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7769,9 +7990,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -7779,24 +8000,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -7806,9 +8027,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -7816,28 +8037,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -7848,9 +8069,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -7875,18 +8096,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
-dependencies = [
- "rustls-webpki",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.25.2"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "which"
@@ -7897,7 +8109,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.24",
+ "rustix 0.38.31",
 ]
 
 [[package]]
@@ -7945,11 +8157,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -7971,6 +8183,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8001,6 +8222,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8013,6 +8249,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8025,6 +8267,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8037,6 +8285,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8049,6 +8303,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8061,6 +8321,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8073,6 +8339,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8085,10 +8357,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winnow"
-version = "0.5.19"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
  "memchr",
 ]
@@ -8129,12 +8407,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
-name = "xxhash-rust"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b"
-
-[[package]]
 name = "xz2"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8154,29 +8426,29 @@ dependencies = [
 
 [[package]]
 name = "zerocopy"
-version = "0.7.26"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
 dependencies = [
  "zerocopy-derive",
 ]
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.7.26"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.39",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "zeroize"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12a3946ecfc929b583800f4629b6c25b88ac6e92a40ea5670f77112a85d40a8b"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
 
 [[package]]
 name = "zip"
@@ -8192,30 +8464,11 @@ dependencies = [
 
 [[package]]
 name = "zstd"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
-dependencies = [
- "zstd-safe 6.0.6",
-]
-
-[[package]]
-name = "zstd"
 version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
 dependencies = [
- "zstd-safe 7.0.0",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "6.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
-dependencies = [
- "libc",
- "zstd-sys",
+ "zstd-safe",
 ]
 
 [[package]]
diff --git a/nixpkgs/pkgs/by-name/op/openobserve/build.rs.patch b/nixpkgs/pkgs/servers/monitoring/openobserve/build.rs.patch
index 1cfb91c7c12b..1cfb91c7c12b 100644
--- a/nixpkgs/pkgs/by-name/op/openobserve/build.rs.patch
+++ b/nixpkgs/pkgs/servers/monitoring/openobserve/build.rs.patch
diff --git a/nixpkgs/pkgs/by-name/op/openobserve/package.nix b/nixpkgs/pkgs/servers/monitoring/openobserve/default.nix
index 3cc229348bba..0f1bb02d55f2 100644
--- a/nixpkgs/pkgs/by-name/op/openobserve/package.nix
+++ b/nixpkgs/pkgs/servers/monitoring/openobserve/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , protobuf
 , bzip2
@@ -10,17 +11,17 @@
 , zlib
 , zstd
 , stdenv
-, darwin
+, apple_sdk
 , buildNpmPackage
 }:
 
 let
-  version = "0.7.2";
+  version = "0.8.1";
   src = fetchFromGitHub {
     owner = "openobserve";
     repo = "openobserve";
     rev = "v${version}";
-    hash = "sha256-BFLQL3msDuurRSFOCbqN0vK4NrTS9M6k1hNwet/9mnw=";
+    hash = "sha256-J8TuaWjtuR39XA7tizyI+DFkpOaLFweM+/9VImGj8UE=";
   };
   web = buildNpmPackage {
     inherit src version;
@@ -28,7 +29,7 @@ let
 
     sourceRoot = "source/web";
 
-    npmDepsHash = "sha256-eYrspgejb5VR51wAXdGr+pSXDdGnRyX5cwwopK3Kex8=";
+    npmDepsHash = "sha256-RNUCR80ewFt9F/VHv7kXLa87h0fz0YBp+9gSOUhtrdU=";
 
     preBuild = ''
       # Patch vite config to not open the browser to visualize plugin composition
@@ -37,6 +38,7 @@ let
     '';
 
     env = {
+      NODE_OPTIONS = "--max-old-space-size=8192";
       # cypress tries to download binaries otherwise
       CYPRESS_INSTALL_BINARY = 0;
     };
@@ -53,8 +55,14 @@ rustPlatform.buildRustPackage {
   pname = "openobserve";
   inherit version src;
 
-  # prevent using git to determine version info during build time
   patches = [
+    (fetchpatch {
+      name = "fix-test-hash-partition.patch";
+      url = "https://github.com/openobserve/openobserve/commit/24919333d6b6696f0f9d9aff0a883431481e8fce.patch";
+      includes = ["src/common/meta/stream.rs"];
+      hash = "sha256-GB3Pgmp1swJt6ESgKL2eWOZ3jBcsN0r+5Dxasgg50D4=";
+    })
+    # prevent using git to determine version info during build time
     ./build.rs.patch
   ];
 
@@ -65,7 +73,6 @@ rustPlatform.buildRustPackage {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "enrichment-0.1.0" = "sha256-FDPSCBkx+DPeWwTBz9+ORcbbiSBC2a8tJaay9Pxwz4w=";
-      "datafusion-33.0.0" = "sha256-RZAgk7up83zxPbmNzdnzB6M0yjjK9MYms+6TpXVDJ1o=";
     };
   };
 
@@ -81,8 +88,9 @@ rustPlatform.buildRustPackage {
     xz
     zlib
     zstd
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+  ] ++ lib.optionals stdenv.isDarwin (with apple_sdk.frameworks; [
     CoreFoundation
+    CoreServices
     IOKit
     Security
     SystemConfiguration
@@ -130,7 +138,7 @@ rustPlatform.buildRustPackage {
   ];
 
   meta = with lib; {
-    description = "10x easier, 🚀 140x lower storage cost, 🚀 high performance,  🚀 petabyte scale - Elasticsearch/Splunk/Datadog alternative for 🚀 (logs, metrics, traces";
+    description = "A cloud-native observability platform built specifically for logs, metrics, traces, analytics & realtime user-monitoring";
     homepage = "https://github.com/openobserve/openobserve";
     license = licenses.asl20;
     maintainers = with maintainers; [ happysalada ];
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
index 01945f08ccdf..b511faf42fb6 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
@@ -31,10 +31,10 @@
 }:
 
 let
-  version = "2.49.0";
+  version = "2.49.1";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    hash = "sha256-VchnXJ+WBHDywjwXtsT4q8CZLnGHkMbcU7MpShe5d78=";
+    hash = "sha256-cHMzu7/WquRvbCUlAs4U6PrLP4PAigdYOyNbvxNoeIA=";
   };
 in
 buildGoModule rec {
@@ -47,7 +47,7 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    hash = "sha256-l8gjOrDCQbglXc3wVvN4BriW9qw9sPVXmlYr6VVRXas=";
+    hash = "sha256-cqUyjRL+T7ARGcUWMCaeWMo7DR1gvPp08maNz9a3RG0=";
   };
 
   vendorHash = "sha256-fDT7YrnUfS93yseo+1mLrSGPBewm7CpcHPCz1kxM6Uo=";
diff --git a/nixpkgs/pkgs/servers/mqtt/flashmq/default.nix b/nixpkgs/pkgs/servers/mqtt/flashmq/default.nix
index eb4c607b7804..4603ffbda0c8 100644
--- a/nixpkgs/pkgs/servers/mqtt/flashmq/default.nix
+++ b/nixpkgs/pkgs/servers/mqtt/flashmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flashmq";
-  version = "1.8.4";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "halfgaar";
     repo = "FlashMQ";
     rev = "v${version}";
-    hash = "sha256-CMZim7FSTzjUaViVFq5OABOAUX3Aee+I3/HQhNIdIVM=";
+    hash = "sha256-LxmD/NfD4OJR77erwRnHoe6VRiytqzMlWvRtgY8RD94=";
   };
 
   nativeBuildInputs = [ cmake installShellFiles ];
diff --git a/nixpkgs/pkgs/servers/nats-server/default.nix b/nixpkgs/pkgs/servers/nats-server/default.nix
index d3e55fa00805..ae556728d3b3 100644
--- a/nixpkgs/pkgs/servers/nats-server/default.nix
+++ b/nixpkgs/pkgs/servers/nats-server/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "nats-server";
-  version = "2.10.10";
+  version = "2.10.11";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9iV3zw0PtncI6eJNJlQ9cCAIFWA2w+sKk0kH7fpQyOo=";
+    hash = "sha256-fRbjAqu1tFLUUk7aeIkEifcWkDUhNCbVZ957b2ntD+o=";
   };
 
-  vendorHash = "sha256-uhEjZcp3y+nFEChb2/Ac/eolOuJxF4WpAjKtXsfpRaw=";
+  vendorHash = "sha256-lVCWTZvzLkYl+o+EUQ0kzIhgl9C236w9i3RRA5o+IAw=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/26.json b/nixpkgs/pkgs/servers/nextcloud/packages/26.json
index 2d12cddd6cb0..7bdbb87ffb68 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/26.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/26.json
@@ -90,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "0rx3kcbachs3pk56cmzrc2iy5wg5cwvs8n6myxbgz86qm0pbxmzk",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.4/forms-v3.4.4.tar.gz",
-    "version": "3.4.4",
+    "sha256": "143paalwm44vd9sa9ql30q986bm9z8kr39ky5hvcfai52w1ysrjq",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.5/forms-v3.4.5.tar.gz",
+    "version": "3.4.5",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -129,6 +129,16 @@
       "agpl"
     ]
   },
+  "integration_openai": {
+    "sha256": "1hh35gadyxqal19pplblarffb35qc547ig3jp5464m317mykd03d",
+    "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.0.11/integration_openai-v1.0.11.tar.gz",
+    "version": "1.0.11",
+    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "homepage": "https://github.com/nextcloud/integration_openai",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
     "sha256": "15268xavb4wpkc12anz6wiry87hvy55nf141lc660wr22iivy79r",
     "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.5/mail-v3.5.5.tar.gz",
@@ -220,9 +230,9 @@
     ]
   },
   "polls": {
-    "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p",
-    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz",
-    "version": "5.4.2",
+    "sha256": "1y6908yp327j6v9caawylah5zayh4m1d7658j3yh0r5siml9lq94",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.3/polls.tar.gz",
+    "version": "5.4.3",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/27.json b/nixpkgs/pkgs/servers/nextcloud/packages/27.json
index 217430479d75..4e76a413fa1f 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/27.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/27.json
@@ -90,9 +90,9 @@
     ]
   },
   "forms": {
-    "sha256": "0rx3kcbachs3pk56cmzrc2iy5wg5cwvs8n6myxbgz86qm0pbxmzk",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.4/forms-v3.4.4.tar.gz",
-    "version": "3.4.4",
+    "sha256": "143paalwm44vd9sa9ql30q986bm9z8kr39ky5hvcfai52w1ysrjq",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v3.4.5/forms-v3.4.5.tar.gz",
+    "version": "3.4.5",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -129,6 +129,16 @@
       "agpl"
     ]
   },
+  "integration_openai": {
+    "sha256": "1cb5csdn85y5fkwhbxxl9i1qy92iqx9v9ccavcp66xfpyk4dlf22",
+    "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.1.5/integration_openai-v1.1.5.tar.gz",
+    "version": "1.1.5",
+    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "homepage": "https://github.com/nextcloud/integration_openai",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
     "sha256": "15268xavb4wpkc12anz6wiry87hvy55nf141lc660wr22iivy79r",
     "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.5/mail-v3.5.5.tar.gz",
@@ -220,9 +230,9 @@
     ]
   },
   "polls": {
-    "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p",
-    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz",
-    "version": "5.4.2",
+    "sha256": "1y6908yp327j6v9caawylah5zayh4m1d7658j3yh0r5siml9lq94",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.3/polls.tar.gz",
+    "version": "5.4.3",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/28.json b/nixpkgs/pkgs/servers/nextcloud/packages/28.json
index a9112345e430..d7d5a780f919 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/28.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/28.json
@@ -70,9 +70,9 @@
     ]
   },
   "forms": {
-    "sha256": "1ffga26v01d14rh4mjwyjqp7slh7h7d07vs3yldb8csi826ynji4",
-    "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.0.0/forms-v4.0.0.tar.gz",
-    "version": "4.0.0",
+    "sha256": "1j0jmwvy6cqiqc20w66na5wzdf0ri60v4fc6cd90fxq9p93m41wi",
+    "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.1.0/forms-v4.1.0.tar.gz",
+    "version": "4.1.0",
     "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
@@ -109,6 +109,16 @@
       "agpl"
     ]
   },
+  "integration_openai": {
+    "sha256": "0qk0w5xiy9jrk29mpmzfsp0jya6i4si8n3m03kb05r225n4ya9ig",
+    "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v1.2.0/integration_openai-v1.2.0.tar.gz",
+    "version": "1.2.0",
+    "description": "This app includes 3 custom smart pickers for Nextcloud:\n* ChatGPT-like answers\n* Image generation (with DALL·E 2 or LocalAI)\n* Whisper dictation\n\nIt also implements\n\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance.\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via OpenAI API: 🔴\n\nNegative:\n* the software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be run on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALL·E via OpenAI API: 🔴\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via OpenAI API: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: 🟢\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n* the training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: 🟡\n\nPositive:\n* the software for training and inferencing of this model is open source\n* the trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
+    "homepage": "https://github.com/nextcloud/integration_openai",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "mail": {
     "sha256": "15268xavb4wpkc12anz6wiry87hvy55nf141lc660wr22iivy79r",
     "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.5.5/mail-v3.5.5.tar.gz",
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
index 971886287071..825063b6fad3 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
@@ -12,6 +12,7 @@
 , "gpoddersync": "agpl3Only"
 , "groupfolders": "agpl3Plus"
 , "impersonate": "agpl3Plus"
+, "integration_openai": "agpl3Only"
 , "mail": "agpl3Plus"
 , "maps": "agpl3Plus"
 , "memories": "agpl3Plus"
diff --git a/nixpkgs/pkgs/servers/nfs-ganesha/default.nix b/nixpkgs/pkgs/servers/nfs-ganesha/default.nix
index 5f32437970c9..54f0cdbd4857 100644
--- a/nixpkgs/pkgs/servers/nfs-ganesha/default.nix
+++ b/nixpkgs/pkgs/servers/nfs-ganesha/default.nix
@@ -6,6 +6,7 @@
 stdenv.mkDerivation rec {
   pname = "nfs-ganesha";
   version = "5.7";
+  outputs = [ "out" "tools" ];
 
   src = fetchFromGitHub {
     owner = "nfs-ganesha";
@@ -43,10 +44,18 @@ stdenv.mkDerivation rec {
     nfs-utils
   ];
 
+  postPatch = ''
+    substituteInPlace src/tools/mount.9P --replace "/bin/mount" "/usr/bin/env mount"
+  '';
+
   postFixup = ''
     patchelf --add-rpath $out/lib $out/bin/ganesha.nfsd
   '';
 
+  postInstall = ''
+    install -Dm755 $src/src/tools/mount.9P $tools/bin/mount.9P
+  '';
+
   meta = with lib; {
     description = "NFS server that runs in user space";
     homepage = "https://github.com/nfs-ganesha/nfs-ganesha/wiki";
@@ -54,5 +63,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.lgpl3Plus;
     mainProgram = "ganesha.nfsd";
+    outputsToInstall = [ "out" "tools" ];
   };
 }
diff --git a/nixpkgs/pkgs/servers/nosql/surrealdb/default.nix b/nixpkgs/pkgs/servers/nosql/surrealdb/default.nix
index d32ad5214565..ce1ed67d2046 100644
--- a/nixpkgs/pkgs/servers/nosql/surrealdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/surrealdb/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "surrealdb";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "surrealdb";
     repo = "surrealdb";
     rev = "v${version}";
-    hash = "sha256-3xH0trwTs2Cr07/PtA4K808PUwaT6WmrIr2+11L7t6A=";
+    hash = "sha256-ICQvAyBV+7cyHiwwiPEaoGT/W/pM4yiSpqByzkByRK4=";
   };
 
-  cargoHash = "sha256-dNn2HMZ7c/q/EhfMUHqWV79+3gMA9URqEozdEixkV/0=";
+  cargoHash = "sha256-a9ZRr6U7mKCk2uaXJmCJMaCQxJ9adbRLMRUpJrsookk=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/plex/raw.nix b/nixpkgs/pkgs/servers/plex/raw.nix
index 0f3055277efd..c6751136dd62 100644
--- a/nixpkgs/pkgs/servers/plex/raw.nix
+++ b/nixpkgs/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.32.8.7639-fb6452ebf";
+  version = "1.40.0.7998-c29d4c0c8";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "sha256-v9Fb5dlgIWqXfL9a4GkbGDEzYueyHs8P8R6TSyXDLrc=";
+    sha256 = "sha256-uVsOI6sItfq7wLP+xPOYSC9ueOv/lcDeL+vnrx1WdRA=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "sha256-jdGVAdvm7kjxTP3CQ5w6dKZbfCRwSy9TrtxRHaV0/cs=";
+    sha256 = "sha256-ucxDtnGpfTpQURaGvLwohHeIZPE3aulXtoITRZCYA9c=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/nixpkgs/pkgs/servers/pocketbase/default.nix b/nixpkgs/pkgs/servers/pocketbase/default.nix
index 43e173c90244..1a77d0d6b820 100644
--- a/nixpkgs/pkgs/servers/pocketbase/default.nix
+++ b/nixpkgs/pkgs/servers/pocketbase/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "pocketbase";
-  version = "0.21.2";
+  version = "0.21.3";
 
   src = fetchFromGitHub {
     owner = "pocketbase";
     repo = "pocketbase";
     rev = "v${version}";
-    hash = "sha256-EOj+x6n0ww6al57X4mDM4T9/3Za5w8N/Bno5Trlb5dY=";
+    hash = "sha256-M3wLx77Oidrwl0uzJE3NIFiA7GvN8X1xYRSnAFnINGM=";
   };
 
   vendorHash = "sha256-u7VgZkv9Ajtra9ikeIxJRLZleH+rzs1g2SZO9zj/bes=";
diff --git a/nixpkgs/pkgs/servers/prowlarr/default.nix b/nixpkgs/pkgs/servers/prowlarr/default.nix
index a2fca49db2d3..6e53489af971 100644
--- a/nixpkgs/pkgs/servers/prowlarr/default.nix
+++ b/nixpkgs/pkgs/servers/prowlarr/default.nix
@@ -21,15 +21,15 @@ let
   }.${stdenv.hostPlatform.system} or unsupported;
 
   hash = {
-    aarch64-darwin = "sha256-l2HS1/HoKYf93qKxfMU80J3QOXjMRtX2A9hJm8E2Kh4=";
-    aarch64-linux = "sha256-ab5xavO2TVL1j9vqNv97bgAmQLZQJxnbam08DzdgDVE=";
-    x86_64-darwin = "sha256-nXas2i2eq7qdTFV0S+F5sPuqzSwE4qeJ+ms4fcJgZmQ=";
-    x86_64-linux = "sha256-HltmiQSJSwoW5+iEiXlJiCWwKRmuxDBcPbvOkJwLQXA=";
+    aarch64-darwin = "sha256-fYIHpO36nnWZlhS5ExOeLIBTUV7RSQlImdQjiRIzpGU=";
+    aarch64-linux = "sha256-vnJiC5lUVMEl0SLLiKrY1nrZf9Lc89x7+GgqdeuXUFs=";
+    x86_64-darwin = "sha256-aba1OR7I5fDr1WmgK5gxwtt/5c8FCuR/U0XOD3I4oEM=";
+    x86_64-linux = "sha256-8yESqqILrYZXhOPXLrlEVkQca0MYRfzKO+GtFqyLeGs=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.10.5.4116";
+  version = "1.13.3.4273";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/nixpkgs/pkgs/servers/radarr/default.nix b/nixpkgs/pkgs/servers/radarr/default.nix
index ed916f656421..ea840413f5ef 100644
--- a/nixpkgs/pkgs/servers/radarr/default.nix
+++ b/nixpkgs/pkgs/servers/radarr/default.nix
@@ -10,15 +10,15 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-RXvpKTIXDOcPUyRa07+8N4xkav23t8aWAshhPEK5pCI=";
-    arm64-linux_hash = "sha256-zAwlyW6uU+3/XQk2HxA/ClvF/EozxMnlH/6C2cx99bU=";
-    x64-osx_hash = "sha256-j7cvUyDMxf+9ry9pMSO+xfjBgoqeOhda3pnzHA2RDw4=";
-    arm64-osx_hash = "sha256-v8SuAWlyBT7bIFRkQDJ5E2y7uxckfdW5cCG/nJ+27cg=";
+    x64-linux_hash = "sha256-oZI2nvxvxOiv9F9c2AaP9hEBVd3kV4tjuEmvaR5V0Lc=";
+    arm64-linux_hash = "sha256-Pquc/b/VXJEi4N8uOfvg4X1083JaOdCXg2IPAGZAMV0=";
+    x64-osx_hash = "sha256-HHmx8bI4d+xmL63v/qmUIJDt+laoSs5Iqp+I7OzoU/k=";
+    arm64-osx_hash = "sha256-Us/ZEDlZ96/ybs8lxnl4bSFICwc9xJtXScA+hGEwfWk=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "radarr";
-  version = "5.2.6.8376";
+  version = "5.3.6.8612";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/nixpkgs/pkgs/servers/samba/4.x.nix b/nixpkgs/pkgs/servers/samba/4.x.nix
index fda0649de220..9e4beaa0586b 100644
--- a/nixpkgs/pkgs/servers/samba/4.x.nix
+++ b/nixpkgs/pkgs/servers/samba/4.x.nix
@@ -165,8 +165,14 @@ stdenv.mkDerivation rec {
     ++ optional (!enablePam) "--without-pam"
     ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "--bundled-libraries=!asn1_compile,!compile_et"
-  ] ++ optionals stdenv.isAarch32 [
-    # https://bugs.gentoo.org/683148
+  ] ++ optionals stdenv.buildPlatform.is32bit [
+    # By default `waf configure` spawns as many as available CPUs. On
+    # 32-bit systems with many CPUs (like `i686` chroot on `x86_64`
+    # kernel) it can easily exhaust 32-bit address space and hang up:
+    #   https://github.com/NixOS/nixpkgs/issues/287339#issuecomment-1949462057
+    #   https://bugs.gentoo.org/683148
+    # Limit the job count down to the minimal on system with limited address
+    # space.
     "--jobs 1"
   ];
 
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/Cargo.lock b/nixpkgs/pkgs/servers/search/meilisearch/Cargo.lock
index acbeed1c710f..37c8e8ec207c 100644
--- a/nixpkgs/pkgs/servers/search/meilisearch/Cargo.lock
+++ b/nixpkgs/pkgs/servers/search/meilisearch/Cargo.lock
@@ -491,7 +491,7 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "benchmarks"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "anyhow",
  "bytes",
@@ -1402,7 +1402,7 @@ dependencies = [
 
 [[package]]
 name = "dump"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "anyhow",
  "big_s",
@@ -1634,7 +1634,7 @@ dependencies = [
 
 [[package]]
 name = "file-store"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "faux",
  "tempfile",
@@ -1656,7 +1656,7 @@ dependencies = [
 
 [[package]]
 name = "filter-parser"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "insta",
  "nom",
@@ -1687,7 +1687,7 @@ dependencies = [
 
 [[package]]
 name = "flatten-serde-json"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "criterion",
  "serde_json",
@@ -1805,7 +1805,7 @@ dependencies = [
 
 [[package]]
 name = "fuzzers"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "arbitrary",
  "clap",
@@ -2763,7 +2763,7 @@ dependencies = [
 
 [[package]]
 name = "index-scheduler"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "anyhow",
  "big_s",
@@ -2960,7 +2960,7 @@ dependencies = [
 
 [[package]]
 name = "json-depth-checker"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "criterion",
  "serde_json",
@@ -3472,7 +3472,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
 
 [[package]]
 name = "meili-snap"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "insta",
  "md5",
@@ -3481,7 +3481,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "actix-cors",
  "actix-http",
@@ -3572,7 +3572,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-auth"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "base64 0.21.5",
  "enum-iterator",
@@ -3591,7 +3591,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-types"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "actix-web",
  "anyhow",
@@ -3621,7 +3621,7 @@ dependencies = [
 
 [[package]]
 name = "meilitool"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "anyhow",
  "clap",
@@ -3669,7 +3669,7 @@ dependencies = [
 
 [[package]]
 name = "milli"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "arroy",
  "big_s",
@@ -4076,7 +4076,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "permissive-json-pointer"
-version = "1.6.1"
+version = "1.6.2"
 dependencies = [
  "big_s",
  "serde_json",
diff --git a/nixpkgs/pkgs/servers/search/meilisearch/default.nix b/nixpkgs/pkgs/servers/search/meilisearch/default.nix
index 45059659b97d..1a0f387d15ef 100644
--- a/nixpkgs/pkgs/servers/search/meilisearch/default.nix
+++ b/nixpkgs/pkgs/servers/search/meilisearch/default.nix
@@ -8,7 +8,7 @@
 , nix-update-script
 }:
 
-let version = "1.6.1";
+let version = "1.6.2";
 in
 rustPlatform.buildRustPackage {
   pname = "meilisearch";
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
     owner = "meilisearch";
     repo = "MeiliSearch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bA0UWRX16HTB/XCuzRa1C71DxfMJx1fZ/xVZFkxq1SM=";
+    hash = "sha256-D8KAleYaeMv3rCwhGE0IteuDUVk4RiOxsTBe7LhLAKg=";
   };
 
   cargoBuildFlags = [
diff --git a/nixpkgs/pkgs/servers/search/weaviate/default.nix b/nixpkgs/pkgs/servers/search/weaviate/default.nix
index 796118df4d34..b99f5aa2d423 100644
--- a/nixpkgs/pkgs/servers/search/weaviate/default.nix
+++ b/nixpkgs/pkgs/servers/search/weaviate/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.23.8";
+  version = "1.23.9";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-+ER6g6oZaYuAO5wAPo4XT6h7n+DV5btB/zmqoFCiSEc=";
+    hash = "sha256-cl8jTMrX/N/MNxmFtF818veZEFuBQ1APXzqs8WC/Bt4=";
   };
 
   vendorHash = "sha256-UEdGoXKq7ewNszahgcomjjuO2uzRZpiwkvvnXyFc9Og=";
diff --git a/nixpkgs/pkgs/servers/sickbeard/sickgear.nix b/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
index 1081b4b1b0d2..ffb5994269e9 100644
--- a/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
+++ b/nixpkgs/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "3.30.9";
+  version = "3.30.10";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    hash = "sha256-Ik+A7CqSRsXPzqbgmwpam7v2hyj6BweyWJnF5ix/JNg=";
+    hash = "sha256-pTcetcZ62rHMcnplteTJQkuEIQrPUKdX+cSV5V4ZqA4=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/servers/snac2/default.nix b/nixpkgs/pkgs/servers/snac2/default.nix
index 0d3d17ad7c32..3770a620b7a8 100644
--- a/nixpkgs/pkgs/servers/snac2/default.nix
+++ b/nixpkgs/pkgs/servers/snac2/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "snac2";
-  version = "2.46";
+  version = "2.47";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "grunfink";
     repo = pname;
     rev = version;
-    hash = "sha256-t2o1aNgVl5dKmwOO9W7mn2uIf/rrbag476y3H3ugCfc=";
+    hash = "sha256-zK8Ypdp8kP4E3p04BAkTjcMiKtCQTtdDWArK/f1QhJw=";
   };
 
   buildInputs = [ curl openssl ];
diff --git a/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix b/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
index 71afc98562af..83bfb3c839cc 100644
--- a/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
+++ b/nixpkgs/pkgs/servers/sql/pgbouncer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openssl, libevent, c-ares, pkg-config, nixosTests }:
+{ lib, stdenv, fetchurl, openssl, libevent, c-ares, pkg-config, systemd, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "pgbouncer";
@@ -10,8 +10,10 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libevent openssl c-ares ];
+  buildInputs = [ libevent openssl c-ares ]
+    ++ lib.optional stdenv.isLinux systemd;
   enableParallelBuilding = true;
+  configureFlags = lib.optional stdenv.isLinux "--with-systemd";
 
   passthru.tests = {
     pgbouncer = nixosTests.pgbouncer;
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/citus.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/citus.nix
index 3b6d58030c15..b5e8cfbeebcc 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/citus.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/citus.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "citus";
-  version = "12.1.1";
+  version = "12.1.2";
 
   src = fetchFromGitHub {
     owner = "citusdata";
     repo = "citus";
     rev = "v${version}";
-    hash = "sha256-g2/PJ4H5N7XA0yWiT6GbgCRh8mBDAfNhW9hx8r3X1Cs=";
+    hash = "sha256-0uYNMLAYigtGlDRvOEkQeC5i58QfXcdSVjTQwWVFX+8=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index ee582067dd85..d4d316dd6547 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgroonga";
-  version = "3.1.6";
+  version = "3.1.7";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-XfHpKstgdBQ6Oo0cDpOphUJNTu9KgfBuxAa8RadvjyA=";
+    hash = "sha256-13hRe7nooWvx0VhQ1fvZs6ytu30AwJFBwDGjAawDRBI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 82f82e65f8c9..9986f2131f30 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -3,15 +3,15 @@
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
   # Move to stable version when it's released.
-  version = "unstable-2023-12-04";
+  version = "unstable-2024-02-10";
 
   buildInputs = [ postgresql freetds ];
 
   src = fetchFromGitHub {
     owner  = "tds-fdw";
     repo   = "tds_fdw";
-    rev    = "14b147fde8d99f3946fbd7b84aaaf5fc00af90e2";
-    hash   = "sha256-h1kTcm796ibfcrkRRs+yi1TRpcyZog95Genw8hMh0cg=";
+    rev    = "f78bd38955d01d3ca357b90717588ec2f90b4991";
+    hash   = "sha256-3J8wzk0YIxRPhALd5PgVW000hzQw3r4rTrnqg9uB/Bo=";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 1eccedf1fda5..c4ee2385296a 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb${lib.optionalString (!enableUnfree) "-apache"}";
-  version = "2.14.0";
+  version = "2.14.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl libkrb5 ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "timescale";
     repo = "timescaledb";
     rev = version;
-    hash = "sha256-CtuJSLhrgvUAyJDnPvCNH2Rizl0W6SuMjWA6wpDqRtE=";
+    hash = "sha256-SzldMtVkR0sJEzrLSXZ2jSBaXftA8z09fU5RtxXmfmo=";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
diff --git a/nixpkgs/pkgs/servers/sql/rqlite/default.nix b/nixpkgs/pkgs/servers/sql/rqlite/default.nix
index 88313fb9565c..df1d760b68e4 100644
--- a/nixpkgs/pkgs/servers/sql/rqlite/default.nix
+++ b/nixpkgs/pkgs/servers/sql/rqlite/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "rqlite";
-  version = "8.19.0";
+  version = "8.20.3";
 
   src = fetchFromGitHub {
     owner = "rqlite";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kTFuvdWOHLLfIFC4HeOX8q52ylXhVQ0TMN+8LUKXvuA=";
+    sha256 = "sha256-pblCeabZeAL45L4prwYwKh0uIG/I/2TnFciOJS1N3Ds=";
   };
 
   vendorHash = "sha256-FzxY6CTcFwSmW9LEKzPRtCsKxsGedwU9G3A3efYG9zk=";
diff --git a/nixpkgs/pkgs/servers/tailscale/default.nix b/nixpkgs/pkgs/servers/tailscale/default.nix
index 2f36358e912c..11bace1ae1e3 100644
--- a/nixpkgs/pkgs/servers/tailscale/default.nix
+++ b/nixpkgs/pkgs/servers/tailscale/default.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  version = "1.58.2";
+  version = "1.60.0";
 in
 buildGoModule {
   pname = "tailscale";
@@ -22,9 +22,9 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-FiFFfUtse0CKR4XJ82HEjpZNxCaa4FnwSJfEzJ5kZgk=";
+    hash = "sha256-qx6ukgaEsdsq76E+GQkYH/Ydv3VKO9jLTh1zm0pGeWw=";
   };
-  vendorHash = "sha256-BK1zugKGtx2RpWHDvFZaFqz/YdoewsG8SscGt25uwtQ=";
+  vendorHash = "sha256-eci4f6golU1eIQOezplA+I+gmOfof40ktIdpr0v/uMc=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix b/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix
index a95a6acdfb7c..00cbbfd0ad24 100644
--- a/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/dokuwiki/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dokuwiki";
-  version = "2023-04-04a";
+  version = "2024-02-06a";
 
   src = fetchFromGitHub {
     owner = "dokuwiki";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "sha256-PVfJfGYa2Drf4ljnnhb7kNpjfQlW4dDt5Xd5h+C8tP4=";
+    sha256 = "sha256-gAoEUskTTbcpHgDUBSsAv6QQDvPuxQ1jXZ4TTKrjWIU=";
   };
 
   preload = writeText "preload.php" ''
diff --git a/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix b/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
index f689aff626bf..ca3b815eb021 100644
--- a/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dolibarr";
-  version = "18.0.4";
+  version = "18.0.5";
 
   src = fetchFromGitHub {
     owner = "Dolibarr";
     repo = "dolibarr";
     rev = version;
-    sha256 = "sha256-VHLkd8WAyPcfDzmzZl4G1pSTaklC2k0ez/YaZ+ci/1Q=";
+    hash = "sha256-DMy5GrQ6xKwMqJtJv3IW0CuLVq85pDCF9qJBs+1B5H4=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/package.json b/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
index 5b7f477f7c29..813c77507225 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/package.json
@@ -1,19 +1,19 @@
 {
   "name": "lemmy-ui",
-  "version": "0.18.5",
   "description": "An isomorphic UI for lemmy",
-  "repository": "https://github.com/LemmyNet/lemmy-ui",
-  "license": "AGPL-3.0",
+  "version": "0.19.3",
   "author": "Dessalines <tyhou13@gmx.com>",
+  "license": "AGPL-3.0",
   "scripts": {
     "analyze": "webpack --mode=none",
-    "prebuild:dev": "yarn clean && node generate_translations.js",
     "build:dev": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=development",
-    "prebuild:prod": "yarn clean && node generate_translations.js",
     "build:prod": "webpack --env COMMIT_HASH=$(git rev-parse --short HEAD) --mode=production",
     "clean": "yarn run rimraf dist",
     "dev": "yarn build:dev --watch",
     "lint": "yarn translations:generate && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx \"src/**\" && prettier --check \"src/**/*.{ts,tsx,js,css,scss}\"",
+    "postinstall": "husky install",
+    "prebuild:dev": "yarn clean && node generate_translations.js",
+    "prebuild:prod": "yarn clean && node generate_translations.js",
     "prepare": "husky install",
     "themes:build": "sass src/assets/css/themes/:src/assets/css/themes",
     "themes:watch": "sass --watch src/assets/css/themes/:src/assets/css/themes",
@@ -21,120 +21,124 @@
     "translations:init": "git submodule init && yarn translations:update",
     "translations:update": "git submodule update --remote --recursive"
   },
-  "lint-staged": {
-    "*.{ts,tsx,js}": [
-      "prettier --write",
-      "eslint --fix"
-    ],
-    "*.{css, scss}": [
-      "prettier --write"
-    ],
-    "package.json": [
-      "sortpack"
-    ]
+  "repository": "https://github.com/LemmyNet/lemmy-ui",
+  "engines": {
+    "node": ">=8.9.0"
   },
   "dependencies": {
-    "@babel/plugin-proposal-decorators": "^7.21.5",
-    "@babel/plugin-transform-runtime": "^7.21.5",
-    "@babel/plugin-transform-typescript": "^7.21.5",
-    "@babel/preset-env": "7.21.5",
+    "@babel/plugin-proposal-class-properties": "^7.18.6",
+    "@babel/plugin-proposal-decorators": "^7.23.7",
+    "@babel/plugin-transform-runtime": "^7.23.7",
+    "@babel/plugin-transform-typescript": "^7.23.6",
+    "@babel/preset-env": "^7.23.8",
     "@babel/preset-typescript": "^7.21.5",
-    "@babel/runtime": "^7.21.5",
+    "@babel/runtime": "^7.23.8",
     "@emoji-mart/data": "^1.1.0",
+    "@shortcm/qr-image": "^9.0.2",
     "autosize": "^6.0.1",
-    "babel-loader": "^9.1.2",
-    "babel-plugin-inferno": "^6.6.0",
+    "babel-loader": "^9.1.3",
+    "babel-plugin-inferno": "^6.7.1",
     "bootstrap": "^5.3.1",
     "check-password-strength": "^2.0.7",
-    "classnames": "^2.3.1",
+    "classnames": "^2.5.1",
     "clean-webpack-plugin": "^4.0.0",
-    "cookie": "^0.5.0",
-    "copy-webpack-plugin": "^11.0.0",
-    "cross-fetch": "^4.0.0",
-    "css-loader": "^6.7.3",
-    "date-fns": "^2.30.0",
+    "cookie": "^0.6.0",
+    "copy-webpack-plugin": "^12.0.2",
+    "css-loader": "^6.9.1",
+    "date-fns": "^3.2.0",
     "emoji-mart": "^5.4.0",
     "emoji-short-name": "^2.0.0",
     "express": "~4.18.2",
     "history": "^5.3.0",
     "html-to-text": "^9.0.5",
-    "i18next": "^23.3.0",
-    "inferno": "^8.2.2",
-    "inferno-create-element": "^8.2.2",
+    "husky": "^8.0.3",
+    "i18next": "^23.7.16",
+    "inferno": "^8.2.3",
+    "inferno-create-element": "^8.2.3",
     "inferno-helmet": "^5.2.1",
-    "inferno-hydrate": "^8.2.2",
+    "inferno-hydrate": "^8.2.3",
     "inferno-i18next-dess": "0.0.2",
-    "inferno-router": "^8.2.2",
-    "inferno-server": "^8.2.2",
-    "jwt-decode": "^3.1.2",
-    "lemmy-js-client": "0.18.1",
+    "inferno-router": "^8.2.3",
+    "inferno-server": "^8.2.3",
+    "jwt-decode": "^4.0.0",
+    "lemmy-js-client": "0.19.2-alpha.1",
     "lodash.isequal": "^4.5.0",
-    "markdown-it": "^13.0.1",
-    "markdown-it-container": "^3.0.0",
-    "markdown-it-emoji": "^2.0.2",
-    "markdown-it-footnote": "^3.0.3",
+    "markdown-it": "^14.0.0",
+    "markdown-it-bidi": "^0.1.0",
+    "markdown-it-container": "^4.0.0",
+    "markdown-it-emoji": "^3.0.0",
+    "markdown-it-footnote": "^4.0.0",
+    "markdown-it-highlightjs": "^4.0.1",
     "markdown-it-html5-embed": "^1.0.0",
     "markdown-it-ruby": "^0.1.1",
-    "markdown-it-sub": "^1.0.0",
-    "markdown-it-sup": "^1.0.0",
-    "mini-css-extract-plugin": "^2.7.5",
+    "markdown-it-sub": "^2.0.0",
+    "markdown-it-sup": "^2.0.0",
+    "mini-css-extract-plugin": "^2.7.7",
     "register-service-worker": "^1.7.2",
     "run-node-webpack-plugin": "^1.3.0",
+    "rxjs": "^7.8.1",
     "sanitize-html": "^2.11.0",
-    "sass": "^1.64.1",
-    "sass-loader": "^13.3.2",
-    "serialize-javascript": "^6.0.1",
+    "sass": "^1.70.0",
+    "sass-loader": "^14.0.0",
+    "serialize-javascript": "^6.0.2",
     "service-worker-webpack": "^1.0.0",
-    "sharp": "^0.32.4",
+    "sharp": "0.32.6",
     "tippy.js": "^6.3.7",
     "toastify-js": "^1.12.0",
     "tributejs": "^5.1.3",
-    "webpack": "5.88.2",
+    "webpack": "^5.89.0",
     "webpack-cli": "^5.1.4",
     "webpack-node-externals": "^3.0.0"
   },
   "devDependencies": {
-    "@babel/core": "^7.21.5",
-    "@babel/plugin-proposal-class-properties": "^7.18.6",
+    "@babel/core": "^7.23.7",
     "@types/autosize": "^4.0.0",
     "@types/bootstrap": "^5.2.6",
-    "@types/cookie": "^0.5.1",
+    "@types/cookie": "^0.6.0",
     "@types/express": "^4.17.17",
     "@types/html-to-text": "^9.0.0",
     "@types/lodash.isequal": "^4.5.6",
-    "@types/markdown-it": "^12.2.3",
+    "@types/markdown-it": "^13.0.7",
     "@types/markdown-it-container": "^2.0.6",
-    "@types/node": "^20.4.5",
+    "@types/node": "^20.11.5",
     "@types/path-browserify": "^1.0.0",
     "@types/sanitize-html": "^2.9.0",
     "@types/serialize-javascript": "^5.0.1",
     "@types/toastify-js": "^1.12.0",
-    "@typescript-eslint/eslint-plugin": "^6.2.0",
-    "@typescript-eslint/parser": "^6.2.0",
-    "eslint": "^8.45.0",
-    "eslint-plugin-inferno": "^7.32.2",
+    "@typescript-eslint/eslint-plugin": "^6.19.0",
+    "@typescript-eslint/parser": "^6.19.0",
+    "eslint": "^8.56.0",
+    "eslint-plugin-inferno": "^7.33.3",
     "eslint-plugin-jsx-a11y": "^6.7.1",
-    "eslint-plugin-prettier": "^5.0.0",
-    "husky": "^8.0.3",
+    "eslint-plugin-prettier": "^5.1.3",
     "import-sort-style-module": "^6.0.0",
-    "lint-staged": "^13.2.3",
-    "prettier": "^3.0.0",
+    "lint-staged": "^15.2.0",
+    "prettier": "^3.2.4",
     "prettier-plugin-import-sort": "^0.0.7",
     "prettier-plugin-organize-imports": "^3.2.3",
-    "prettier-plugin-packagejson": "^2.4.5",
+    "prettier-plugin-packagejson": "^2.4.9",
     "rimraf": "^5.0.0",
-    "sortpack": "^2.3.4",
-    "style-loader": "^3.3.2",
-    "terser": "^5.19.2",
-    "typescript": "^5.1.6",
-    "typescript-language-server": "^3.3.2",
+    "sortpack": "^2.4.0",
+    "style-loader": "^3.3.4",
+    "terser": "^5.27.0",
+    "typescript": "^5.3.3",
+    "typescript-language-server": "^4.3.1",
     "webpack-bundle-analyzer": "^4.9.0",
     "webpack-dev-server": "4.15.1"
   },
-  "packageManager": "yarn@1.22.19",
-  "engines": {
-    "node": ">=8.9.0"
+  "lint-staged": {
+    "*.{css, scss}": [
+      "prettier --write"
+    ],
+    "*.{ts,tsx,js}": [
+      "prettier --write",
+      "eslint --fix"
+    ],
+    "package.json": [
+      "sortpack"
+    ]
   },
+  "packageManager": "yarn@1.22.19",
   "engineStrict": true,
   "importSort": {
     ".js, .jsx, .ts, .tsx": {
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json b/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
index f7a4d855f406..fdab1c9d63d6 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/pin.json
@@ -1,8 +1,8 @@
 {
-  "serverVersion": "0.18.5",
-  "uiVersion": "0.18.5",
-  "serverHash": "sha256-tj8zryCzW3r6VGiNGlI5eo0I+rJfhTUOGtb3YieodpQ=",
-  "serverCargoHash": "sha256-80jk1GhnXos+lil3joEtPwJjsE8qSEm/WinCfZ3CF/c=",
-  "uiHash": "sha256-fyXKhVTFc1+gG2TXb9l/YkcwRt/p7DWtB1FO5mpQ3i4=",
-  "uiYarnDepsHash": "sha256-rLP1CQd75nVfI6C0sC21TUskzVfbGHm2fblcYr6JcGc="
+  "serverVersion": "0.19.3",
+  "uiVersion": "0.19.3",
+  "serverHash": "sha256-iO7bY2oChx0cZbwgXMrrV4e1kffop9s4xmepNywnApU=",
+  "serverCargoHash": "sha256-XXfg0o/LQ/imnsHsREoBXMDP1hU5Stxv0s6AP+o+USc=",
+  "uiHash": "sha256-6GGiKCNL0PALdz0W0d1OOPyMIA5kaoL3148j9GWzrMM=",
+  "uiYarnDepsHash": "sha256-UQ+B2vF34L+HuisyO7wdW2zCfEEGa8YdnoaB4jHi+DY="
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix b/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
index 1f5d3b8b4cea..4f605b0b2dbd 100644
--- a/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
+++ b/nixpkgs/pkgs/servers/web-apps/lemmy/server.nix
@@ -46,6 +46,11 @@ rustPlatform.buildRustPackage rec {
   PROTOC_INCLUDE = "${protobuf}/include";
   nativeBuildInputs = [ protobuf rustfmt ];
 
+  checkFlags = [
+    # test requires database access
+    "--skip=session_middleware::tests::test_session_auth"
+  ];
+
   passthru.updateScript = ./update.py;
   passthru.tests.lemmy-server = nixosTests.lemmy;
 
diff --git a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
index 35711eda3f8d..79fb83749e60 100644
--- a/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, writeText, plugins ? [ ], nixosTests }:
 
 let
-  version = "4.3.2";
+  version = "4.3.3";
 
   versionParts = lib.take 2 (lib.splitVersion version);
   # 4.2 -> 402, 3.11 -> 311
@@ -15,7 +15,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/download.php/direct/stable${stableVersion}/${pname}-${version}.tgz";
-    hash = "sha256-CR+UVIPknk4yGqemx6V7qdCRW5uWdp2VnnxJS+I35N0=";
+    hash = "sha256-yFrD277bO25O5GeXVG4VhKO/oH9dsgqoTsrlMZoXHbI=";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/nixpkgs/pkgs/servers/web-apps/pixelfed/default.nix b/nixpkgs/pkgs/servers/web-apps/pixelfed/default.nix
index f183f3cdb730..537c4c626465 100644
--- a/nixpkgs/pkgs/servers/web-apps/pixelfed/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/pixelfed/default.nix
@@ -10,13 +10,13 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "pixelfed";
-  version = "0.11.11";
+  version = "0.11.12";
 
   src = fetchFromGitHub {
     owner = "pixelfed";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-ytE1ZCKQvoigC8jKPfQ/17jYA0XYOzospq7wY18o2Nk=";
+    hash = "sha256-tHwNchnB5z21Q1I8qwKn2s5rfHFvMxRLAyPkUEhC6qQ=";
   };
 
   vendorHash = "sha256-nRCrmF1p+fZI+iyrM5I3bVCSwjQdn8BSW8Jj62lpn8E=";
diff --git a/nixpkgs/pkgs/shells/murex/default.nix b/nixpkgs/pkgs/shells/murex/default.nix
index 432bd618177d..d44c32e81cfc 100644
--- a/nixpkgs/pkgs/shells/murex/default.nix
+++ b/nixpkgs/pkgs/shells/murex/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "murex";
-  version = "5.3.7000";
+  version = "6.0.1000";
 
   src = fetchFromGitHub {
     owner = "lmorg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wXpiJQ/9A45cmi0v5ZAgOCBvK86fqiOe9G8zOVCetBg=";
+    sha256 = "sha256-biwwNuCUgBNV//4/PYKf/n4HA69uiBEYFWVwspI1GG8=";
   };
 
   vendorHash = "sha256-qOItRqCIxoHigufI6b7j2VdBDo50qGDe+LAaccgDh5w=";
diff --git a/nixpkgs/pkgs/test/default.nix b/nixpkgs/pkgs/test/default.nix
index b89fcc3ecb6d..5382cae6159f 100644
--- a/nixpkgs/pkgs/test/default.nix
+++ b/nixpkgs/pkgs/test/default.nix
@@ -111,6 +111,7 @@ with pkgs;
   fetchzip = callPackages ../build-support/fetchzip/tests.nix { };
   fetchgit = callPackages ../build-support/fetchgit/tests.nix { };
   fetchFirefoxAddon = callPackages ../build-support/fetchfirefoxaddon/tests.nix { };
+  fetchPypiLegacy = callPackages ../build-support/fetchpypilegacy/tests.nix { };
 
   install-shell-files = callPackage ./install-shell-files {};
 
diff --git a/nixpkgs/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json b/nixpkgs/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
index 4ecb86ff6dcf..e20a11baadaf 100644
--- a/nixpkgs/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
+++ b/nixpkgs/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
@@ -1,4 +1,4 @@
 {
-  "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
-  "ci-path": "/nix/store/4kv4fyb6x5ivn0qncg7d9i5zhqhzy7bi-nixpkgs-check-by-name"
+  "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0",
+  "ci-path": "/nix/store/5fjdmbiziyp47gfc9kmfgvxdlzd6bba1-nixpkgs-check-by-name"
 }
diff --git a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
index c267a8386b35..f988f3cfe975 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }:
+{ lib, stdenv, fetchurl, libxslt, docbook_xsl, gettext, libiconv, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "xdg-user-dirs";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-7G8G10lc26N6cyA5+bXhV4vLKWV2/eDaQO2y9SIg3zw=";
   };
 
-  nativeBuildInputs = [ makeWrapper libxslt docbook_xsl ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
+  nativeBuildInputs = [ makeWrapper libxslt docbook_xsl ] ++ lib.optionals stdenv.isDarwin [ gettext ];
 
   preFixup = ''
     # fallback values need to be last
@@ -22,6 +24,6 @@ stdenv.mkDerivation rec {
     description = "A tool to help manage well known user directories like the desktop folder and the music folder";
     license = licenses.gpl2;
     maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/tools/X11/xrestop/default.nix b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
index 2837d2a83d73..b6d04c790843 100644
--- a/nixpkgs/pkgs/tools/X11/xrestop/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xrestop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xrestop";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchurl {
-    url = "https://xorg.freedesktop.org/archive/individual/app/xrestop-${version}.tar.bz2";
-    sha256 = "06ym32famav8qhdms5k7y5i14nfq89hhvfn5g452jjqzkpcsbl49";
+    url = "https://xorg.freedesktop.org/archive/individual/app/xrestop-${version}.tar.xz";
+    hash = "sha256-Li7BEcSyeYtdwtwrPsevT2smGUbpA7jhTbBGgx0gOyk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/tools/admin/acme-sh/default.nix b/nixpkgs/pkgs/tools/admin/acme-sh/default.nix
index ead37f84f034..6f82567ab02d 100644
--- a/nixpkgs/pkgs/tools/admin/acme-sh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/acme-sh/default.nix
@@ -74,5 +74,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with lib.maintainers; [ mkaito ] ++ teams.serokell.members;
     inherit (coreutils.meta) platforms;
+    mainProgram = "acme.sh";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/adtool/default.nix b/nixpkgs/pkgs/tools/admin/adtool/default.nix
deleted file mode 100644
index 62d6fa3803e3..000000000000
--- a/nixpkgs/pkgs/tools/admin/adtool/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchurl, openldap }:
-
-stdenv.mkDerivation rec {
-  pname = "adtool";
-  version = "1.3.3";
-
-  src = fetchurl {
-    url = "https://gp2x.org/adtool/${pname}-${version}.tar.gz";
-    sha256  = "1awmpjamrwivi69i0j2fyrziy9s096ckviqd9c4llc3990mfsn4n";
-  };
-
-  configureFlags = [
-    "--sysconfdir=/etc"
-  ];
-
-  installFlags = [
-    "sysconfdir=$(out)/etc"
-  ];
-
-  buildInputs = [ openldap ];
-
-  # Workaround build failure on -fno-common toolchains like upstream
-  # gcc-10. Otherwise build fails as:
-  #   ld: ../../src/lib/libactive_directory.a(active_directory.o):/build/adtool-1.3.3/src/lib/active_directory.h:31:
-  #     multiple definition of `system_config_file'; adtool.o:/build/adtool-1.3.3/src/tools/../../src/lib/active_directory.h:31: first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-
-  enableParallelBuilding = true;
-
-  postInstall = ''
-    mkdir -p $out/share/doc/adtool
-    mv $out/etc/* $out/share/doc/adtool
-    rmdir $out/etc
-  '';
-
-  # It requires an LDAP server for tests
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Active Directory administration utility for Unix";
-    homepage = "https://gp2x.org/adtool";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ peterhoeg ];
-    broken = true; # does not link against recent libldap versions and unmaintained since 2017
-  };
-}
diff --git a/nixpkgs/pkgs/tools/admin/afterburn/default.nix b/nixpkgs/pkgs/tools/admin/afterburn/default.nix
index ddb8d0c9bfd4..bd104a2687d3 100644
--- a/nixpkgs/pkgs/tools/admin/afterburn/default.nix
+++ b/nixpkgs/pkgs/tools/admin/afterburn/default.nix
@@ -33,5 +33,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.asl20;
     maintainers = [ maintainers.arianvp ];
     platforms = platforms.linux;
+    mainProgram = "afterburn";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/analog/default.nix b/nixpkgs/pkgs/tools/admin/analog/default.nix
index 54d863bb958f..187dc6234cc2 100644
--- a/nixpkgs/pkgs/tools/admin/analog/default.nix
+++ b/nixpkgs/pkgs/tools/admin/analog/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     description = "Powerful tool to generate web server statistics";
     platforms = lib.platforms.all;
+    mainProgram = "analog";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/admin/aws-env/default.nix b/nixpkgs/pkgs/tools/admin/aws-env/default.nix
index 3ec84e80bb94..c16d8374c9b0 100644
--- a/nixpkgs/pkgs/tools/admin/aws-env/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-env/default.nix
@@ -21,5 +21,6 @@ buildGoPackage rec {
     homepage = "https://github.com/Droplr/aws-env";
     license = licenses.mit;
     maintainers = with maintainers; [ srhb ];
+    mainProgram = "aws-env";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
index 2529cbc21a6b..af8acd946fb1 100644
--- a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
@@ -44,5 +44,6 @@ buildGoModule rec {
     changelog = "https://github.com/rebuy-de/aws-nuke/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ grahamc ];
+    mainProgram = "aws-nuke";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/aws-rotate-key/default.nix b/nixpkgs/pkgs/tools/admin/aws-rotate-key/default.nix
index 965c6807803e..298584ce8d24 100644
--- a/nixpkgs/pkgs/tools/admin/aws-rotate-key/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-rotate-key/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/Fullscreen/aws-rotate-key";
     license = licenses.mit;
     maintainers = [ maintainers.mbode ];
+    mainProgram = "aws-rotate-key";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/aws-vault/default.nix b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
index 79f97c330fd7..99255f568fa9 100644
--- a/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-vault/default.nix
@@ -3,6 +3,7 @@
 , installShellFiles
 , lib
 , makeWrapper
+, stdenv
 , xdg-utils
 }:
 buildGoModule rec {
@@ -22,7 +23,8 @@ buildGoModule rec {
 
   postInstall = ''
     # make xdg-open overrideable at runtime
-    wrapProgram $out/bin/aws-vault --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
+    # aws-vault uses https://github.com/skratchdot/open-golang/blob/master/open/open.go to open links
+    ${lib.optionalString (!stdenv.isDarwin) "wrapProgram $out/bin/aws-vault --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}"}
     installShellCompletion --cmd aws-vault \
       --bash $src/contrib/completions/bash/aws-vault.bash \
       --fish $src/contrib/completions/fish/aws-vault.fish \
diff --git a/nixpkgs/pkgs/tools/admin/awsls/default.nix b/nixpkgs/pkgs/tools/admin/awsls/default.nix
index 973d1f106227..f65f603e80da 100644
--- a/nixpkgs/pkgs/tools/admin/awsls/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awsls/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/jckuester/awsls";
     license = licenses.mit;
     maintainers = [ maintainers.markus1189 ];
+    mainProgram = "awsls";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/awsrm/default.nix b/nixpkgs/pkgs/tools/admin/awsrm/default.nix
index be29737066be..72fb4454870c 100644
--- a/nixpkgs/pkgs/tools/admin/awsrm/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awsrm/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/jckuester/awsrm";
     license = licenses.mit;
     maintainers = [ maintainers.markus1189 ];
+    mainProgram = "awsrm";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
index 38a5a01b8b21..9f0489c4dbb1 100644
--- a/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awsweeper/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/jckuester/awsweeper";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "awsweeper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/berglas/default.nix b/nixpkgs/pkgs/tools/admin/berglas/default.nix
index 150b5535f1ce..e35fd2bfe0e0 100644
--- a/nixpkgs/pkgs/tools/admin/berglas/default.nix
+++ b/nixpkgs/pkgs/tools/admin/berglas/default.nix
@@ -56,5 +56,6 @@ buildGoModule rec {
     description = "A tool for managing secrets on Google Cloud";
     homepage = "https://github.com/GoogleCloudPlatform/berglas";
     license = licenses.asl20;
+    mainProgram = "berglas";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/bom/default.nix b/nixpkgs/pkgs/tools/admin/bom/default.nix
index 22714565795b..0ff37c5d2e00 100644
--- a/nixpkgs/pkgs/tools/admin/bom/default.nix
+++ b/nixpkgs/pkgs/tools/admin/bom/default.nix
@@ -65,5 +65,6 @@ buildGoModule rec {
     description = "A utility to generate SPDX-compliant Bill of Materials manifests";
     license = licenses.asl20;
     maintainers = with maintainers; [ developer-guy ];
+    mainProgram = "bom";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/certigo/default.nix b/nixpkgs/pkgs/tools/admin/certigo/default.nix
index 0fcf8bd8a695..6274833b26d7 100644
--- a/nixpkgs/pkgs/tools/admin/certigo/default.nix
+++ b/nixpkgs/pkgs/tools/admin/certigo/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/square/certigo";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "certigo";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/cf-vault/default.nix b/nixpkgs/pkgs/tools/admin/cf-vault/default.nix
index a9e1e0316d60..877e4d56d09c 100644
--- a/nixpkgs/pkgs/tools/admin/cf-vault/default.nix
+++ b/nixpkgs/pkgs/tools/admin/cf-vault/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     homepage = "https://github.com/jacobbednarz/cf-vault/";
     license = licenses.mit;
     maintainers = with maintainers; [ viraptor ];
+    mainProgram = "cf-vault";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/chamber/default.nix b/nixpkgs/pkgs/tools/admin/chamber/default.nix
index 3924b76432d3..2b3975002a16 100644
--- a/nixpkgs/pkgs/tools/admin/chamber/default.nix
+++ b/nixpkgs/pkgs/tools/admin/chamber/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/segmentio/chamber";
     license = licenses.mit;
     maintainers = with maintainers; [ kalekseev ];
+    mainProgram = "chamber";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/cjdns-tools/default.nix b/nixpkgs/pkgs/tools/admin/cjdns-tools/default.nix
index 7b314e1aa131..0d2140940017 100644
--- a/nixpkgs/pkgs/tools/admin/cjdns-tools/default.nix
+++ b/nixpkgs/pkgs/tools/admin/cjdns-tools/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "cjdns-tools";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/cli53/default.nix b/nixpkgs/pkgs/tools/admin/cli53/default.nix
index 2cab2ad4b748..a6f677b287cf 100644
--- a/nixpkgs/pkgs/tools/admin/cli53/default.nix
+++ b/nixpkgs/pkgs/tools/admin/cli53/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     homepage = "https://github.com/barnybug/cli53";
     license = licenses.mit;
     maintainers = with maintainers; [ benley ];
+    mainProgram = "cli53";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/coldsnap/default.nix b/nixpkgs/pkgs/tools/admin/coldsnap/default.nix
index 417bbd14c139..1178b6a7b81e 100644
--- a/nixpkgs/pkgs/tools/admin/coldsnap/default.nix
+++ b/nixpkgs/pkgs/tools/admin/coldsnap/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/awslabs/coldsnap/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = teams.determinatesystems.members;
+    mainProgram = "coldsnap";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/colmena/default.nix b/nixpkgs/pkgs/tools/admin/colmena/default.nix
index 6cb763c88d1e..b41b8a1457c5 100644
--- a/nixpkgs/pkgs/tools/admin/colmena/default.nix
+++ b/nixpkgs/pkgs/tools/admin/colmena/default.nix
@@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ zhaofengli ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "colmena";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix b/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
index ed75736224cd..64fc1b20920b 100644
--- a/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
@@ -44,5 +44,6 @@ buildGoModule rec {
     changelog = "https://github.com/aws/copilot-cli/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ jiegec ];
+    mainProgram = "copilot";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
index f53258574808..d9d630e243bb 100644
--- a/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/credhub-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "credhub-cli";
-  version = "2.9.25";
+  version = "2.9.26";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry-incubator";
     repo = "credhub-cli";
     rev = version;
-    sha256 = "sha256-QGsnNQvER5IaWY4Zh9sFa7eOeLnDdNDrLLpwgBALGm8=";
+    sha256 = "sha256-dohi1nlQniZnF3IL9lO2H6bkq4SaXoEnIat0KYR0lxg=";
   };
 
   # these tests require network access that we're not going to give them
diff --git a/nixpkgs/pkgs/tools/admin/cw/default.nix b/nixpkgs/pkgs/tools/admin/cw/default.nix
index d60db14bd356..aa1d58e5156b 100644
--- a/nixpkgs/pkgs/tools/admin/cw/default.nix
+++ b/nixpkgs/pkgs/tools/admin/cw/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/lucagrulla/cw";
     license = licenses.asl20;
     maintainers = with maintainers; [ onthestairs ];
+    mainProgram = "cw";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/damon/default.nix b/nixpkgs/pkgs/tools/admin/damon/default.nix
index 7ad922d6893d..861b86985e04 100644
--- a/nixpkgs/pkgs/tools/admin/damon/default.nix
+++ b/nixpkgs/pkgs/tools/admin/damon/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     license = licenses.mpl20;
     description = "A terminal UI (TUI) for HashiCorp Nomad";
     maintainers = teams.iog.members;
+    mainProgram = "damon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/docker-credential-gcr/default.nix b/nixpkgs/pkgs/tools/admin/docker-credential-gcr/default.nix
index 30736215ff84..3899b2f6dc92 100644
--- a/nixpkgs/pkgs/tools/admin/docker-credential-gcr/default.nix
+++ b/nixpkgs/pkgs/tools/admin/docker-credential-gcr/default.nix
@@ -48,5 +48,6 @@ buildGoModule rec {
     homepage = "https://github.com/GoogleCloudPlatform/docker-credential-gcr";
     license = licenses.asl20;
     maintainers = with maintainers; [ suvash ];
+    mainProgram = "docker-credential-gcr";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/ejson2env/default.nix b/nixpkgs/pkgs/tools/admin/ejson2env/default.nix
index 26a1b737d8b6..9675d3775681 100644
--- a/nixpkgs/pkgs/tools/admin/ejson2env/default.nix
+++ b/nixpkgs/pkgs/tools/admin/ejson2env/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/Shopify/ejson2env";
     maintainers = with maintainers; [ viraptor ];
     license = licenses.mit;
+    mainProgram = "ejson2env";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/fastlane/default.nix b/nixpkgs/pkgs/tools/admin/fastlane/default.nix
index d8d4ffd4f134..b1ad9fa401c8 100644
--- a/nixpkgs/pkgs/tools/admin/fastlane/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fastlane/default.nix
@@ -24,5 +24,6 @@ bundlerApp {
       shahrukh330
       marsam
     ];
+    mainProgram = "fastlane";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/fioctl/default.nix b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
index e6207b440252..06c30bda2be0 100644
--- a/nixpkgs/pkgs/tools/admin/fioctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/fioctl/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     homepage = "https://github.com/foundriesio/fioctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ nixinator matthewcroughan ];
+    mainProgram = "fioctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/gimme-aws-creds/default.nix b/nixpkgs/pkgs/tools/admin/gimme-aws-creds/default.nix
index e33587b94670..82081a68af43 100644
--- a/nixpkgs/pkgs/tools/admin/gimme-aws-creds/default.nix
+++ b/nixpkgs/pkgs/tools/admin/gimme-aws-creds/default.nix
@@ -20,36 +20,19 @@ let
           hash = "sha256-tF6JphCc/Lfxu1E3dqotZAjpXEgi+DolORi5RAg0Zuw=";
         };
       });
-
-      okta = super.okta.overridePythonAttrs (oldAttrs: rec {
-        version = "0.0.4";
-        format = "setuptools";
-        src = fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          hash = "sha256-U+eSxo02hP9BQLTLHAKvOCEJA2j4EQ/eVMC9tjhEkzI=";
-        };
-        propagatedBuildInputs = [
-          self.six
-          self.python-dateutil
-          self.requests
-        ];
-        pythonImportsCheck = [ "okta" ];
-        doCheck = false; # no tests were included with this version
-      });
     };
   };
 in
 python.pkgs.buildPythonApplication rec {
   pname = "gimme-aws-creds";
-  version = "2.7.2"; # N.B: if you change this, check if overrides are still up-to-date
+  version = "2.8.0"; # N.B: if you change this, check if overrides are still up-to-date
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Nike-Inc";
     repo = "gimme-aws-creds";
     rev = "v${version}";
-    hash = "sha256-ydzGaUQ43vvQqU9xvhPJqHG/2PUtBbASIVpZCDnsR60=";
+    hash = "sha256-RcqvI+jR7TiNAzq8F6VGVhyj6MxnmsjQKh0CiZvLY9Q=";
   };
 
   nativeBuildInputs = with python.pkgs; [
@@ -69,6 +52,8 @@ python.pkgs.buildPythonApplication rec {
     requests
     okta
     pyjwt
+    html5lib
+    furl
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix b/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix
index 0f649a6948f4..2dfbccc08c50 100644
--- a/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix
@@ -74,5 +74,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ raskin offline ];
     platforms = platforms.unix;
+    mainProgram = "gvnccapture";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/iamy/default.nix b/nixpkgs/pkgs/tools/admin/iamy/default.nix
index 583becb9b4ef..63dc5fe371b0 100644
--- a/nixpkgs/pkgs/tools/admin/iamy/default.nix
+++ b/nixpkgs/pkgs/tools/admin/iamy/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/99designs/iamy";
     license = licenses.mit;
     maintainers = with maintainers; [ suvash ];
+    mainProgram = "iamy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/infra/default.nix b/nixpkgs/pkgs/tools/admin/infra/default.nix
index bfb44acc6ed5..996bb80d98c9 100644
--- a/nixpkgs/pkgs/tools/admin/infra/default.nix
+++ b/nixpkgs/pkgs/tools/admin/infra/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     changelog = "https://github.com/infrahq/infra/raw/v${version}/CHANGELOG.md";
     license = licenses.elastic20;
     maintainers = with maintainers; [ peterromfeldhk ];
+    mainProgram = "infra";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/iredis/default.nix b/nixpkgs/pkgs/tools/admin/iredis/default.nix
index 95f8a98ed4a4..2c57aa166978 100644
--- a/nixpkgs/pkgs/tools/admin/iredis/default.nix
+++ b/nixpkgs/pkgs/tools/admin/iredis/default.nix
@@ -6,16 +6,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "iredis";
-  version = "1.14.0";
+  version = "1.14.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "laixintao";
     repo = "iredis";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5TMO1c29ahAQDbAJZb3u2oY0Z8M+6b8hwbNfqMsuPzM=";
+    hash = "sha256-ojS2wtxggZPp73n9SjPRAzBlnF1ScK/pNVGvAYKmQ5Y=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail 'wcwidth = "0.1.9"' 'wcwidth = "*"'
+  '';
+
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/tools/admin/itamae/default.nix b/nixpkgs/pkgs/tools/admin/itamae/default.nix
index 8a0f101b9c2d..d84da4fd9741 100644
--- a/nixpkgs/pkgs/tools/admin/itamae/default.nix
+++ b/nixpkgs/pkgs/tools/admin/itamae/default.nix
@@ -13,5 +13,6 @@ bundlerApp {
     license = with licenses; mit;
     maintainers = with maintainers; [ refi64 ];
     platforms = platforms.unix;
+    mainProgram = "itamae";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/kics/default.nix b/nixpkgs/pkgs/tools/admin/kics/default.nix
index d7c4cb79e741..3b4a8b6859d7 100644
--- a/nixpkgs/pkgs/tools/admin/kics/default.nix
+++ b/nixpkgs/pkgs/tools/admin/kics/default.nix
@@ -43,5 +43,6 @@ buildGoModule rec {
     homepage = "https://github.com/Checkmarx/kics";
     license = licenses.asl20;
     maintainers = with maintainers; [ patryk4815 ];
+    mainProgram = "kics";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index 8d3954c31dee..c79b0e0d243a 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -26,6 +26,7 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://go-acme.github.io/lego/";
     maintainers = teams.acme.members;
+    mainProgram = "lego";
   };
 
   passthru.tests.lego = nixosTests.acme;
diff --git a/nixpkgs/pkgs/tools/admin/lxd/ui.nix b/nixpkgs/pkgs/tools/admin/lxd/ui.nix
index d2110d4c4d7c..afcb062630a5 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/ui.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/ui.nix
@@ -10,18 +10,18 @@
 
 stdenv.mkDerivation rec {
   pname = "lxd-ui";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "lxd-ui";
     rev = "refs/tags/${version}";
-    hash = "sha256-52MRf7bk8Un9wqz00+JjDmuJgPKYhgAhIbMbcAuf8W8=";
+    hash = "sha256-3Ts6lKyzpMDVATCKD1fFIGTskWzWpQUT9S8cPFnlEOs=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-WWnNjwzhN57PzTPmLWWzPoj66VFUnuzW1hTjKlVV8II=";
+    hash = "sha256-0pyxwMGGqogEe1w3sail8NUDHtxLQZU9Wg8E6rQNy4o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/admin/meshcentral/default.nix b/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
index 745eb1048079..98993d7e6b77 100644
--- a/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
+++ b/nixpkgs/pkgs/tools/admin/meshcentral/default.nix
@@ -47,5 +47,6 @@ yarn2nix-moretea.mkYarnPackage {
     homepage = "https://meshcentral.com/";
     maintainers = with maintainers; [ ma27 ];
     license = licenses.asl20;
+    mainProgram = "meshcentral";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/netbox2netshot/default.nix b/nixpkgs/pkgs/tools/admin/netbox2netshot/default.nix
index 76ca3a68cf3d..47b6dc2e293d 100644
--- a/nixpkgs/pkgs/tools/admin/netbox2netshot/default.nix
+++ b/nixpkgs/pkgs/tools/admin/netbox2netshot/default.nix
@@ -36,5 +36,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/scaleway/netbox2netshot";
     license = licenses.asl20;
     maintainers = with maintainers; [ janik ];
+    mainProgram = "netbox2netshot";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/netplan/default.nix b/nixpkgs/pkgs/tools/admin/netplan/default.nix
index 0e048d1468ed..8b6443bfd137 100644
--- a/nixpkgs/pkgs/tools/admin/netplan/default.nix
+++ b/nixpkgs/pkgs/tools/admin/netplan/default.nix
@@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
 
     # from upstream https://github.com/canonical/netplan/blob/ee0d5df7b1dfbc3197865f02c724204b955e0e58/rpm/netplan.spec#L81
     sed -e "s/-Werror//g" -i Makefile
+
+    substituteInPlace netplan/cli/utils.py \
+      --replace-fail "/usr/libexec/netplan/generate" "${placeholder "out"}/lib/netplan/generate"
   '';
 
   makeFlags = [
@@ -66,5 +69,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ mkg20001 ];
     platforms = platforms.linux;
+    mainProgram = "netplan";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/okta-aws-cli/default.nix b/nixpkgs/pkgs/tools/admin/okta-aws-cli/default.nix
index 805683df8d51..f9a4fad19554 100644
--- a/nixpkgs/pkgs/tools/admin/okta-aws-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/okta-aws-cli/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "okta-aws-cli";
-  version = "2.0.1";
+  version = "2.1.0";
 
   subPackages = [ "cmd/okta-aws-cli" ];
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner  = "okta";
     repo   = "okta-aws-cli";
     rev    = "v${version}";
-    sha256 = "sha256-A49TpwvF7zQFCqffLeb1FOxbRwe4yhKSGs7YKNfpNSY=";
+    sha256 = "sha256-ovmN/BYQInbfvMaSl7WNXC7dBkLMyZdZstc164yj5Qo=";
   };
 
   vendorHash = "sha256-SjABVO6tHYRc/1pYjOqfZP+NfnK1/WnAcY5NQ4hMssE=";
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/okta/okta-aws-cli";
     license = licenses.asl20;
     maintainers = with maintainers; [ daniyalsuri6 ];
+    mainProgram = "okta-aws-cli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/ossutil/default.nix b/nixpkgs/pkgs/tools/admin/ossutil/default.nix
index f8347b282880..c858b9706b16 100644
--- a/nixpkgs/pkgs/tools/admin/ossutil/default.nix
+++ b/nixpkgs/pkgs/tools/admin/ossutil/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/aliyun/ossutil/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jpetrucciani ];
+    mainProgram = "ossutil";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/pbm/default.nix b/nixpkgs/pkgs/tools/admin/pbm/default.nix
index 4fe6c95a4893..e681d6f286db 100644
--- a/nixpkgs/pkgs/tools/admin/pbm/default.nix
+++ b/nixpkgs/pkgs/tools/admin/pbm/default.nix
@@ -13,5 +13,6 @@ buildDotnetGlobalTool {
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ anpin mdarocha ];
+    mainProgram = "pbm";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/pulumi-bin/data.nix b/nixpkgs/pkgs/tools/admin/pulumi-bin/data.nix
index 00cd07621ae9..ce63140757ef 100644
--- a/nixpkgs/pkgs/tools/admin/pulumi-bin/data.nix
+++ b/nixpkgs/pkgs/tools/admin/pulumi-bin/data.nix
@@ -1,160 +1,160 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.95.0";
+  version = "3.106.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-x64.tar.gz";
-        sha256 = "1ig942izr0bjjnmccjdrna1fy1245s0l5mbr80xbxm5lima9z66p";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.106.0-linux-x64.tar.gz";
+        sha256 = "1rkbx76n15cn6hyglxzzm8msrd1yiqlp3xym7ngafx385926j3n9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-amd64.tar.gz";
-        sha256 = "1ppfs7cnhns4lqxj7cs87f78hcvy73r32fa7wxcybl5wnd73g5c6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.11.3-linux-amd64.tar.gz";
+        sha256 = "1yarg14596lwl6mf7xwba4yp3lgcdkj9q5m5x3qibpwc7psjzndc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.1-linux-amd64.tar.gz";
-        sha256 = "0pf1pka8pq4cizlnf5hm5ji1hf5nchkj21mwpi2cxdk2w4ghw0ds";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.2-linux-amd64.tar.gz";
+        sha256 = "0h1hh45rswp0s5xzf6hf2ncp645nnxqsslriaqyy4dqal3q6iisv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-amd64.tar.gz";
-        sha256 = "0cp4f5syq1jbkvw1gjxyfwf6kv1qkzb68x7gqm2xdb9j4glx4wab";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.49.0-linux-amd64.tar.gz";
+        sha256 = "07wyxig26ss9a4jcdwwrpy615ii17gky9s0ncz1nlrwrgiazmah0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-amd64.tar.gz";
-        sha256 = "0gha4nm5gg4s3hqy7whdywkd0mpndmgjq9xmswqzvapjj7hjcnh6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v6.1.4-linux-amd64.tar.gz";
+        sha256 = "0ck22ygb0dhkhpp47fwy7zq30i0cnqs7c76lfmzxvlb7435h5j7r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "05mhvif4minkr5mi0yjghsd9ffx9wyb5chjp0kz3256d4clld6ai";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.2-linux-amd64.tar.gz";
+        sha256 = "06gz2xqmwms01r4p59l9yvv3w3jvmlyaqr8y2z91hn0im4l8df2b";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-amd64.tar.gz";
-        sha256 = "1p4k8fx6ix8y7bb8mjvk0avq5r7lam3yywncb05vxiw5qwqls9s0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.22.2-linux-amd64.tar.gz";
+        sha256 = "1mc8xlmkb84v2zvghnllx7216cg9kg8k56abfv8adsi19ylfglgf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-amd64.tar.gz";
-        sha256 = "0dl60nrgilg9ccn28dnyrv0lw6sqrcy26r4kgcbdqkw0f15isjhv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.47.1-linux-amd64.tar.gz";
+        sha256 = "068hi7f8jyia6rsmlzyc2vc7qgyl7b7ll05kx5czjrq132mv56d6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-amd64.tar.gz";
-        sha256 = "029xymc6ynb7aq5wdkvksgqhjl9aix5j3rn8dfzlbmrmmz0xyvxr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.15.0-linux-amd64.tar.gz";
+        sha256 = "0jaqkf7ibp0vxrvz6imaal9iyf60p6hhay7vmh62vmm0jgdv1ply";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-amd64.tar.gz";
-        sha256 = "17q3186a3awbh0v0rxby4a8qdl49zbbc46a1fjaqhsg14sizryfl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.66.1-linux-amd64.tar.gz";
+        sha256 = "043ma740h4036h6f57m49djw5nl7vrkwbk33hylv9v5grkmwb6b9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-amd64.tar.gz";
-        sha256 = "05k325y99wcg3584bbgkrh20zq46y6hi1sk2bi0jm6njvwyb786w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.20.0-linux-amd64.tar.gz";
+        sha256 = "0yf181l9nc7lzqkc0gyw7y5dr0lcz2sz8sv369chz4zm3dqaripk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-amd64.tar.gz";
-        sha256 = "1v8x27yi6mqj8sxwwl7jvw5960pv98y4lkyj9gyx3260a3hsgav2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.1-linux-amd64.tar.gz";
+        sha256 = "1rjh73d5jq2p9ll6xann3mns4dsnb8jgnkndjxbgcpv45i0k1ih6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-amd64.tar.gz";
-        sha256 = "0bsbfsc7wxsjyqyz5klxn91hd1lwini4pbpm0lw5pf78af7z8v0z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.25.1-linux-amd64.tar.gz";
+        sha256 = "0afs9wdp11sxps0hrwwan1h44cxa0z52yhh43rl6rg13chhqlhk8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-amd64.tar.gz";
-        sha256 = "1j7zkyjn7v98l5m9a3cgpy5ckx5y4kirda8i3im58dbyripwzppi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.25.1-linux-amd64.tar.gz";
+        sha256 = "1v1sxmi5jhjxas7wa7j74lg0j109fdk8ydkzb4j5rybdmqalkqaj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-amd64.tar.gz";
-        sha256 = "0v4bg7iz6fnvca59z74ymqilkra4mldbs1xa4w1ijw4jvbnyq3vr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.1-linux-amd64.tar.gz";
+        sha256 = "15alxvj14xwbwrds9sc4pjycjrm4bivxjlby8ja34jqw0rzfafm0";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
         sha256 = "0hnardid0kbzy65dmn7vz8ddy5hq78nf2871zz6srf2hfyiv7qa4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.1-linux-amd64.tar.gz";
-        sha256 = "1l3pqshzxscv3pxp5wjyrc83irkhh6g7hbdi51x2jhdywjz5r55m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.2-linux-amd64.tar.gz";
+        sha256 = "0f4czs3hjibmwvswm2zgjq3nys2sp4lr7xy2rpm4k7msdcsxk5kb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-amd64.tar.gz";
-        sha256 = "0llybkwlzzd8ylxcch4hns3xbba715iyf1mrfy9vnn60kfn2jprc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.9.0-linux-amd64.tar.gz";
+        sha256 = "1v9jcpp9rbrgzj0xklxfvr2f7jdxh5dfyc0aqvs45jzyhc6sdrxb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-amd64.tar.gz";
-        sha256 = "0hnaanqg991xy4jmk09rcd5adzx760707133yaax0nx6r1g0lbdc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.26.0-linux-amd64.tar.gz";
+        sha256 = "12j5y60h76gyy0bn3phfmcw2aq6kkxi28qp53y7pryrby6yraffn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-amd64.tar.gz";
-        sha256 = "10cxlavxvb98207plgrvmf8c8sgp5w2hpnpcj493i033am07g7yc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.8.1-linux-amd64.tar.gz";
+        sha256 = "0cw1dfdwax87nqpac55jn6r1hmy0z4rmxl5qp9i7znjwk132xbhh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-amd64.tar.gz";
         sha256 = "1zra1ck64gs4nwqf62ksfmpbx24lxw6vsgi47j4v8q051m89fgq3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-amd64.tar.gz";
-        sha256 = "0f5sii66fffq5qrri8r1a3xzskvj9yx6chr7j2s34kgc11dqrbxc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.17.0-linux-amd64.tar.gz";
+        sha256 = "0pz7jga19pwwx7ba5364b6sv1zsmxvnldakdh6641fqp9wl6smxp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-amd64.tar.gz";
-        sha256 = "13nrdwka7pxyqjy5hjc3678sfayfs11hwqfj7r4apml8sws0g3xj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.7.1-linux-amd64.tar.gz";
+        sha256 = "11lvnkfsl9iqsazs84z2ipn9kmyv50xavzb4i1zhcn9i6ldl4wag";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-amd64.tar.gz";
-        sha256 = "10a0kr20ai5qhhxsr5210ag5ijkzxjihm7afy2mzsslqv4zdc953";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.13.0-linux-amd64.tar.gz";
+        sha256 = "0xay37wbrs9l01j4w07ywymi1wn8sxnj5668s3p1yshi257n1nz3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-amd64.tar.gz";
-        sha256 = "1r4cvln9c9i2xvj8r6bb6l2ccy6457vhdj9ra35yq5zckwf0dri0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.1-linux-amd64.tar.gz";
+        sha256 = "1k2pa1wbh49qkg99khdyzj1qfjld74ijzn4y94c27vjsm9wmn7ka";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.0-linux-amd64.tar.gz";
-        sha256 = "0nl5xyj4jij500vm6na653s8savr2nm0hzx2qn1brgfpxx9j4pvj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.1-linux-amd64.tar.gz";
+        sha256 = "068zzad887pqsdyx93xdj5vnkr7pvsx7i4sqzm536g53k79xq54l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.14.0-linux-amd64.tar.gz";
-        sha256 = "1dx4riyz1p8dz3biqqxkg6zv6y0jzikc20lk3wj7q2ifxy7rigia";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.15.1-linux-amd64.tar.gz";
+        sha256 = "135br9q8f1ic0xvrhx9yii5giq1h5qzlyb5kyvnyb3hwx49f1ik6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-linux-amd64.tar.gz";
-        sha256 = "1fmwrw4x88yw490m1csddk2pi6yr8avv3zwyimzsr0ax5k2fdwyr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.1-linux-amd64.tar.gz";
+        sha256 = "1vi1mhkrxrl5ajaa93vfziii12w0wwlrxd6hyvvxwfkkxn0n3ivm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-linux-amd64.tar.gz";
-        sha256 = "1v59k0m4rrad5vbd2x4znb985cbwj9py6ki60x1skq704pmcli5g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.15.1-linux-amd64.tar.gz";
+        sha256 = "1za2d3cad1grcnkkqmyn9b7wlz9ayimsv17ygg638wh7v34w0yjq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-amd64.tar.gz";
-        sha256 = "10m3mqqi1gr5n7phsjyrdpy6vd9f3qri7vryj10p6fp7my9sgr3q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.48.0-linux-amd64.tar.gz";
+        sha256 = "0q7jbwj0di778b0zl01nphb3mzvdkyxkgn9q4kkvzz2rg36c20s0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-amd64.tar.gz";
-        sha256 = "00mml1dpyjc683yrp7g7w49pvjyd5mdm6bls26q9rbirgblajcnf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.67.2-linux-amd64.tar.gz";
+        sha256 = "1r8fd8363ikc9ffk7fwpjghrmvzjqvgv50945pkvsbpnxkx931ca";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-amd64.tar.gz";
-        sha256 = "0nssdk2zp42ssnkgq87mw4rk1lzlzgi3adr4l5g9ipmqjfphw3bx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.2-linux-amd64.tar.gz";
+        sha256 = "0jiny0s6hvzzcgv7zkdmc4d0rdcwpq49dz7fqsaz81maz7kck8a5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-amd64.tar.gz";
-        sha256 = "148ifpnjh8jm4x9f9snlzfq1z7f2z0c630bhhx6a86ankaavyr00";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.5-linux-amd64.tar.gz";
+        sha256 = "0b94z9pzrsdabcs9xkhk0fljqf2ml374nqpp3i1zxnrr0fkwbfvv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-amd64.tar.gz";
-        sha256 = "0b6nd5gk0d2vg6z0ql87zjyvl880h390g767d9vggwzlwljxzhsm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.0.1-linux-amd64.tar.gz";
+        sha256 = "1d4qdrbqsn62116lg0j82andxdrcdrcambahxp3084b6icacx3l9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.17.0-linux-amd64.tar.gz";
-        sha256 = "0lyx8wjzjhh38lzfdh6d4qns40cj14nrjmrsdiwrfk6h60s0bh1c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.19.0-linux-amd64.tar.gz";
+        sha256 = "00zwsabii05xj91sbi8gz2w9h3jrhw0ksv206mj122j5fns5qhm3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.2-linux-amd64.tar.gz";
-        sha256 = "044w1qwjadrz0ylr00qnwppvq6mc8c8z759b0wfn69a2r25az19f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.3-linux-amd64.tar.gz";
+        sha256 = "0jfp8wqb6gkq7ndihi4bpcm2s0vz1xkc2m4i58hy80zfvdiq3ipz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-amd64.tar.gz";
-        sha256 = "1dp9vldrs2b0ml542rn0jna0rbz2hxx7il86bliamj5fwr89k49w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.2-linux-amd64.tar.gz";
+        sha256 = "0jqbhqiws4v9ff5xakk5wnxghnnck4qaqvyxc2l246jsl9yy3z85";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-amd64.tar.gz";
-        sha256 = "0xn8vw19dp6hwm8w94p3lnmpy1zhdczxjphjy6m79pv1mszc153f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.0-linux-amd64.tar.gz";
+        sha256 = "1qi63mpv6dhmld6a8siikgjyhvyjzl9bcrc55hb93wbk028lncnh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
@@ -163,156 +163,156 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-x64.tar.gz";
-        sha256 = "13lb757py7ls6p4l2x5s20xy5mp21a10y8cdnbfsr9l03kz50yhi";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.106.0-darwin-x64.tar.gz";
+        sha256 = "1yav7d220vnadvxdhyfmwj7n0lm0xmr0a3aspi4240p493005ina";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-amd64.tar.gz";
-        sha256 = "1rvrln32jndp1yq05ybqim10m2wh2g9rwa5q5brxsrzn1gfa41jx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.11.3-darwin-amd64.tar.gz";
+        sha256 = "1bqphs66wq771bq46a12177xpbjn19pbrwa9h43dmxnvh35g52rj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.1-darwin-amd64.tar.gz";
-        sha256 = "0i4kjngs8ly5cxikxc1jz2lcma31sx87vbdbny2j7xxz3fqsyi19";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.2-darwin-amd64.tar.gz";
+        sha256 = "0pzmj4fgkdc8bxf1rl64bmz9x2g0i2ayarqw54h8462c3p6xl3ca";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-amd64.tar.gz";
-        sha256 = "0ld394yzmhmagn2mb1ds7mg30v283f1q1xg67r1bs3wmf4zkxi8l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.49.0-darwin-amd64.tar.gz";
+        sha256 = "1yd1s42lnjmz02i5kplxa0x6qk80m20f0x1dypxnbrjnghj05fcq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-amd64.tar.gz";
-        sha256 = "1ci55mz72y68wwcih0sx500n3pmrkq798janhc7nksyn8qdj14ik";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v6.1.4-darwin-amd64.tar.gz";
+        sha256 = "0ir0pp8rc7mh5rwlcz6jn1s8icw7h09rlqmh0gpsg9blhsfqzdka";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "16yqva40xq8xfqjnxx7r9kx3r6nrxsqivqpm056hpnad6bjy5d7s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.2-darwin-amd64.tar.gz";
+        sha256 = "1wlw4lvdy63fw2vpv0cg3g5ffy1frr8dfbvnr1avashw1bvmh6yd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-amd64.tar.gz";
-        sha256 = "1abmbagldr2bv73qz39kpbpyjjwy3c8slikwvak9mmzxjpk2lvay";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.22.2-darwin-amd64.tar.gz";
+        sha256 = "0c50afzbnaj2a5jg6750y7qv1hc48hsa229lkci4z20s0bgvbg7h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-amd64.tar.gz";
-        sha256 = "0gr4is4k9hzjncg5qvy1n4j4hzvmn8f37f119bdgima1s6r9aiz4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.47.1-darwin-amd64.tar.gz";
+        sha256 = "1hkkjqm5b8mnzvgkjzz3zkq86wzbi89n1i19l9jy57pbr6mr2kkk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-amd64.tar.gz";
-        sha256 = "16zc13z31p92775v3vsn6j6pmz1wcjqb8rhzxpnr03zbqviws7mi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.15.0-darwin-amd64.tar.gz";
+        sha256 = "11whky196lqgj8bgzxixd1m39jqw3fs9if8knmwcr7zmd3jyf80w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-amd64.tar.gz";
-        sha256 = "06nr217ymzfkr6l4fgwj9fjp724v08lyvxap7xw56mq9z0bf1vgk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.66.1-darwin-amd64.tar.gz";
+        sha256 = "1g8rhfay9gcjhiv6dfhkgvxg1l26axgfrd29jaxsai6sanwcpxjl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-amd64.tar.gz";
-        sha256 = "1v3axsc678s7w0pkpc4b8l32rl2yb0jcdwba6i8v9jlawg4rv4z0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.20.0-darwin-amd64.tar.gz";
+        sha256 = "149sfyxnb90v9y136rwf08z4k3kmq4ivmcpyjs8vj7wpz0xgjsk0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-amd64.tar.gz";
-        sha256 = "07iwdpvxqf3vkd1l1daazhs3agbbq067bcyp0vr2jqapz355yjad";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.1-darwin-amd64.tar.gz";
+        sha256 = "1bvwgn823zwqs8wmzwsxc0zf0pdmk7ykh5qvnffwrixvhmdx68a0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-amd64.tar.gz";
-        sha256 = "1qyb6v3bxg7hsr5viwpc4nzdgq63frjqgxs7kqyg1pp40rcmh2bm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.25.1-darwin-amd64.tar.gz";
+        sha256 = "11971fwsv0i6nmmxzg9m93l48xndi9x96zibjbjmwjxnr419s5rm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-amd64.tar.gz";
-        sha256 = "0hm1jx48i6315xykn5fx3zw1m4cp5blizjmvcidrs5x1j1fwpcl4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.25.1-darwin-amd64.tar.gz";
+        sha256 = "1yaphn5rgcwjiipdga49pyn8wbz8w2pghbjzmjcrxa5q7hy8a2z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-amd64.tar.gz";
-        sha256 = "0arzbimf0rwn6j41ia6fl90xnkz7yyhc3lnnzr51sw4g8y3jihj9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.1-darwin-amd64.tar.gz";
+        sha256 = "11ljzm0alsrz0y9kihw0rd62hpi68ka0n6b8c52rg3sv672acnb7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
         sha256 = "1m5lh59h7nck1flzxs9m4n0ag0klk3jmnpf7hc509vffxs89xnjq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.1-darwin-amd64.tar.gz";
-        sha256 = "0xdfxxlfxm44bkljc5c8h3ici7dlkbgbg6z2ns4870p15lhq34n5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.2-darwin-amd64.tar.gz";
+        sha256 = "03xk7hkcs0f8684ll7f7z7z14zwj66qnps0pcsd7r34s7qyhy33g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-amd64.tar.gz";
-        sha256 = "0974a34i4im82ccc4b25l6v3hdvi0hkh2xadhdn765g2bdcr7vh8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.9.0-darwin-amd64.tar.gz";
+        sha256 = "12cggan39cdr8cdpzvqvhq5b0g7h5y7fzix159cv5sf3bdsms8g3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-amd64.tar.gz";
-        sha256 = "1547hc9jdg0j6n66sk5j7iid5m5pvkv8q9j09q9vkcrkj3kkjcvb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.26.0-darwin-amd64.tar.gz";
+        sha256 = "04dn6mw6gjrxzrywr04jls0ixgcjglb37jff7m8qayylmmr151vl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-amd64.tar.gz";
-        sha256 = "0a03z495j6yy3y5aqbd4515iwm601pzr6is7lq885vcripxvs4x7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.8.1-darwin-amd64.tar.gz";
+        sha256 = "1lbgs04g945yqxjajv0ydqwnn1amb8gp2fbn5qj53jbw9yd6pz65";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-amd64.tar.gz";
         sha256 = "0ddd0pgpyywq291r9q8w6bn41r2px595017iihx4n2cnb1c4v6d5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-amd64.tar.gz";
-        sha256 = "19zm781g8ii062dp48wf11pdyrddk10c5rf18xk4bpf2prbg5vsi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.17.0-darwin-amd64.tar.gz";
+        sha256 = "18w9x6ym08ljr71kl82qb017cxzfbpkhbvljb1ki8nrk32s7rljy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-amd64.tar.gz";
-        sha256 = "1ikshq05lkh39m5z7p72mv3cnd9ji16b09cb5g78zlrdzlgq2086";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.7.1-darwin-amd64.tar.gz";
+        sha256 = "035sf6i0rcv5sj154m0ciybssjifccr609f47w429vnzjr4pqd5z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-amd64.tar.gz";
-        sha256 = "0h177vx31q53xpqrvfdajf4knwchhrz7l605s50v5isqbpgagl5m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.13.0-darwin-amd64.tar.gz";
+        sha256 = "02gv7wzfzcswji20gyqgjd1ycrmk6nxsypgahyffnp5rvgfxbibh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-amd64.tar.gz";
-        sha256 = "1w8q091igjzwlqp9ck23jxh87r5cnsg83jwlxr6ynddlp7w2c6yp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.1-darwin-amd64.tar.gz";
+        sha256 = "063jm09bpshlc86svwacafjbc6iv09n81jx4hmcwwgcic6pwb1ic";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.0-darwin-amd64.tar.gz";
-        sha256 = "0q54fvqlldzy11833nislmlrcrkz25wsyqvkph41qdm0yv39ycx7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.1-darwin-amd64.tar.gz";
+        sha256 = "0457whyfc8vkq4jpd2z1sfwxsbdlbx6dzcr1kqf799xb1k049bwj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.14.0-darwin-amd64.tar.gz";
-        sha256 = "04pgw5plavn4kvkapky26xx4pgdcf0c27il18g7hmfvnmagfcsiz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.15.1-darwin-amd64.tar.gz";
+        sha256 = "1wcripnsgxwlj7s6mv726kxrf689xlc7zxqmra5a1zdmfqskmq4k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-darwin-amd64.tar.gz";
-        sha256 = "0iabnnkywwylqggyn6c2kqj6j4jdy1ms3vwfyvwkr78909f8jzal";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.1-darwin-amd64.tar.gz";
+        sha256 = "1ndpj3mpxbhpvj29x1a61jj2hqk6v9ysmrb87gd6a30rafs9r7fc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-darwin-amd64.tar.gz";
-        sha256 = "1jg3qdm331dvnq2igf6q0xd2ld21jnhm0h756pmxszngadfnmcdw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.15.1-darwin-amd64.tar.gz";
+        sha256 = "00m5f757fk01wkqf3ji4d0yjmk7i4b3sglgws3mgr5j1waswy4jw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-amd64.tar.gz";
-        sha256 = "144rydj53334sj11p55npmgss3kam2lxrm7shrcjvb1v28m8vdnx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.48.0-darwin-amd64.tar.gz";
+        sha256 = "08ahy6agrdzz31pa4w9i317rska2lz794f9mwkbg11jyyxpxd4y0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-amd64.tar.gz";
-        sha256 = "0yxqhzx5rdy0a7g8q8c1s9w52h1clssnx70pp8900vdfsviwxqvf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.67.2-darwin-amd64.tar.gz";
+        sha256 = "08n4zrqk1k4zy333mn8jxhi3420m2rrbrgy1x62xzkxcylb5dlnm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-amd64.tar.gz";
-        sha256 = "06cwx6642byqb953g8xa9a3s9jcp8cf6ib12agchkwmpfws5piz1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.2-darwin-amd64.tar.gz";
+        sha256 = "01f6c3zgmlmips4b5ysdp2vyflykq9bi1r1pbmqh05b6j35r90km";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-amd64.tar.gz";
-        sha256 = "0mpwjrbayckaapvz8vs2x918ya5a3rk44f3cx1dri18wq82klln7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.5-darwin-amd64.tar.gz";
+        sha256 = "0wia72zawjrmi6jy7rw8fsy7h07d0nzmrds6kl6kvnx4w1ra98jn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-amd64.tar.gz";
-        sha256 = "0aicxgwxs7mp9y88m8am0wl34h6llxj4jzww18alawkvxm1msah8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.0.1-darwin-amd64.tar.gz";
+        sha256 = "1lcpc72bwxgqkzy26j1pr6774x3kqsxpfcimls1m54wq8ranlii7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.17.0-darwin-amd64.tar.gz";
-        sha256 = "0pdwgfbvak564n3ic72jzj6nhy04lra1a4a6z5jmknk59d6jvhjw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.19.0-darwin-amd64.tar.gz";
+        sha256 = "1n33r4knk36yvkbr6wa3xwv63an0sv5hdh7g7amln248yqdc7j3q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.2-darwin-amd64.tar.gz";
-        sha256 = "19wmv952wn2njbd1ppl1lfzf1f47wf11m4qiiqc3wyd1qc33qsn1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.3-darwin-amd64.tar.gz";
+        sha256 = "04w6xmnqivc34grfgh3hqi9zp7ibsrrc2v0v102zh0sxn7lbksc6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-amd64.tar.gz";
-        sha256 = "18kai9s283hip893867hc65pr0jpgydw0b2gwqdj2zi3mibbm08x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.2-darwin-amd64.tar.gz";
+        sha256 = "0ik8dmc9769dgpflvlzk51ibf8bmsn68dfzm4v6dz0bsaqnam6xd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-amd64.tar.gz";
-        sha256 = "104yaqp0s06zdw43kkh5k81yprdyc8r6l0sxcvqdv9rmr6q3j076";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.0-darwin-amd64.tar.gz";
+        sha256 = "1x574bzzv5pp0va527k1554vah95038abm9y4d79wvzfyh9fgv65";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
@@ -321,156 +321,156 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-linux-arm64.tar.gz";
-        sha256 = "0sf96mbqlj4q6lf6xlx6bd4v12byg929m2vx4w7smqdd7w27gsja";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.106.0-linux-arm64.tar.gz";
+        sha256 = "1vmci5hm5x3mcxfzagk6iwappy1cycl8kvfhclz632wp9z6a82zc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-linux-arm64.tar.gz";
-        sha256 = "13sng11gimfx237kdkqg41ly66x6ri64ls2wgw4g9jr8r68z3ii5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.11.3-linux-arm64.tar.gz";
+        sha256 = "0x9jspr73fidzmk83ycnw3x43hpcilbgv3hxykps886ylnx3mdnk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.1-linux-arm64.tar.gz";
-        sha256 = "0y1i2lwvy0wjvngpjf5rscidrlqb3mhhkhqvj227alz3c4xhf091";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.2-linux-arm64.tar.gz";
+        sha256 = "0i4zviv023pvahnrypqxm8960xmlpxhggyz4maghs72fp06mx01z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-linux-arm64.tar.gz";
-        sha256 = "0fas3734vf8ibx36ikgwjr5ky1sprxh7qn95jd43d13ii9a8ic9l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.49.0-linux-arm64.tar.gz";
+        sha256 = "14x57ja726wb0kiwqdva6fk3jjd974apjqsq8i3nwkx6rrr91hvy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-linux-arm64.tar.gz";
-        sha256 = "0ahp2aqlp9j7hr6c8rxzwrabyn1cfxqcncfax4sbj1prqw0jrac2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v6.1.4-linux-arm64.tar.gz";
+        sha256 = "0s49id8kd357w7dh7a011l6ak5v8xd0b85p3jb48b8vaggfbs3p8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "0ivkm1cidvc6fz6k65z386qw0d7skh31i81yqccaql1i0n67mlsh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.2-linux-arm64.tar.gz";
+        sha256 = "14wplnr5axic2a9skx0y6rjq8si02qwpadpcl978vchll0f4g1pz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-linux-arm64.tar.gz";
-        sha256 = "0329lf1r9lga72x0crdwgx7m2xg14ydl6hb1c5jj76lkisqqzzyp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.22.2-linux-arm64.tar.gz";
+        sha256 = "05zhi6srqyiwpwgf37vy9qkxg1v74nhis065fbly0hisrrmrcgvj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-linux-arm64.tar.gz";
-        sha256 = "045mc5ifkbpwp74z6826nzi16a2p5h44szxfn8h4mn3zjq86yjsi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.47.1-linux-arm64.tar.gz";
+        sha256 = "1rn6w2740zjcazrxy8h5f2g7mz17wvmnbyld7qm3zadn6rx4dipr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-linux-arm64.tar.gz";
-        sha256 = "11gx8zlkakfbwf7vc4j29cd0bfakjf6flgp0a05d8ka5kjq3qkcx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.15.0-linux-arm64.tar.gz";
+        sha256 = "1fcpf2x9dlxk2s06pgvqwsmjpwlv47q666xpj6cmx9cybmnhgjn4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-linux-arm64.tar.gz";
-        sha256 = "0yfsci2jc0az4n4mkr0wfd6npzxqw1mkci09wagrs7wibwb4wx5d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.66.1-linux-arm64.tar.gz";
+        sha256 = "0hjj90bn5rkhcsg0r7jmwhsch23nc2kg59az1dxs02kc3kf5r8mg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-linux-arm64.tar.gz";
-        sha256 = "1iq7phnx0sz539vgsc6j6md6djw7rdnywfmlbjrc6f31fsx2v0ln";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.20.0-linux-arm64.tar.gz";
+        sha256 = "03155qkr473y2z6n5rhic78jad263ac3d0lr890sc5lzlqb0fci3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-linux-arm64.tar.gz";
-        sha256 = "1x92ls4p3l44p276rdgy1dxf5qy29ssw3zgjajf6jlfimgp8746f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.1-linux-arm64.tar.gz";
+        sha256 = "0jranh92131jny1s261flc19a30rgc0hf0xkz0k51cs713k3h6pn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-arm64.tar.gz";
-        sha256 = "1h7yh118iqr0bdkkagf3m0yxnphz5na7vyqqmzs7d9y9kcgfg8gi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.25.1-linux-arm64.tar.gz";
+        sha256 = "0hmda8dhak4d5kbw30acbdhn1nczjjwpn3m99rcjjrmnvfirpqdl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-linux-arm64.tar.gz";
-        sha256 = "10dvhbv5l1wwb6r7c9aiy0pqpwsj2s8s6gdyabvqm8hcza37jlnd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.25.1-linux-arm64.tar.gz";
+        sha256 = "0s652ngpqvzjb6lybf3lcjqv5mf4spyi27mhv6y4czs7p6za1kkm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-linux-arm64.tar.gz";
-        sha256 = "0447lckkgq6vs8a2ra4wi86yir8w61mm41ahp9nn6xxmnsqrn3jm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.1-linux-arm64.tar.gz";
+        sha256 = "11qk7sgwm2pn906nimj3zn0wlskvn5356zqfchrww9f9xxrnqg1k";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
         sha256 = "111pia2f5xwkwaqs6p90ri29l5b3ivmahsa1bji4fwyyjyp22h4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.1-linux-arm64.tar.gz";
-        sha256 = "11dfjx05inx1fdknzli0q7gma4hc1217jmfn4bx9ky635nqh5ckq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.2-linux-arm64.tar.gz";
+        sha256 = "1kf88g5jm3xr5b35is8h0rqxzy79az3s90givsnr7x6xmm6favqc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-linux-arm64.tar.gz";
-        sha256 = "00b9b6zpkd88j5vsfff1q3q5wna22h2jvfhri6kap372whvdbpac";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.9.0-linux-arm64.tar.gz";
+        sha256 = "0nj3jyszkmfhamyl448iiyayai9zam68ci4g7y48hbhq1cnyxxr1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-linux-arm64.tar.gz";
-        sha256 = "0gwdlk1m4f91fbqnlv3jb83fi66nay261180nr72bk4hc9757y8i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.26.0-linux-arm64.tar.gz";
+        sha256 = "0y3i5dy2vm6mlaqrw2af8cm47gfbwvk99wik6cmz8gdlackx3xxa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-linux-arm64.tar.gz";
-        sha256 = "14dk14j27kbjbda02x62621kjfvr6g2fc65cxdgcl0qb662fms2x";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.8.1-linux-arm64.tar.gz";
+        sha256 = "1m1m3klswz85s0d4igpq55cnm7050kz8vrz428y4v40wxx51fgcq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-linux-arm64.tar.gz";
         sha256 = "0d8m2krbzxjhfm82dgf8p4vm3kk9gk98l798q4ayjrddqqb4mxq4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-linux-arm64.tar.gz";
-        sha256 = "1z67c7jwfs2z2hi0fqsxzsb426iv82n9sv3ik6smhq2agcxlaas2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.17.0-linux-arm64.tar.gz";
+        sha256 = "1shra5wq8zx4l9b3sp6yklhi8hbd8r2ypay9nf4jgwnc6ppql102";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-linux-arm64.tar.gz";
-        sha256 = "0mxw0f756b4p0far801vwpsw2md0pph33bsh5xij5is5c1kiqwjr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.7.1-linux-arm64.tar.gz";
+        sha256 = "0lalynk4vg7jj1z8vmnjzzrh07i9fww50dazbm2djszw8wwgxqzz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-linux-arm64.tar.gz";
-        sha256 = "0s1gk18fszs6vwy3kwask0vsyykvxwwgigml1va67i9w0bqp199l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.13.0-linux-arm64.tar.gz";
+        sha256 = "0mn1bln14hyri2yqnp09lafh7j8hc63fqycxfn3hwgbskr14fnpn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-linux-arm64.tar.gz";
-        sha256 = "1f1q34hc6bnqq60llm6gvwmkmvgh24hnxys4hwk79l11ryy5d6cz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.1-linux-arm64.tar.gz";
+        sha256 = "1cz4xvvdj0kr63a2x21zbjm4viw92k2920ljnqsfv2wr2f03yk6s";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.0-linux-arm64.tar.gz";
-        sha256 = "0zns8xk4y992mp354lkp6ff96d4gifsw9cxkg0jla02lpaz2fiyn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.1-linux-arm64.tar.gz";
+        sha256 = "12smmvbqcdbnqr7r4vx1w3k77hn8l0z7lvb5i1f34fnybq1k3b81";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.14.0-linux-arm64.tar.gz";
-        sha256 = "0rpgr4ngw6ja6xlfwak8mvx3zbqhbzg474lm8sl5mx80z66r8zlj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.15.1-linux-arm64.tar.gz";
+        sha256 = "17gbazfqs1f2m0h9awwqw14amxlxvl3zwhx3nbzh86my7gn3kjmv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-linux-arm64.tar.gz";
-        sha256 = "0w353wxg947rp7qf47z45glx8qfrxikmk4r6id5bqk03nx1fs4wd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.1-linux-arm64.tar.gz";
+        sha256 = "0vkgdc0b76ngrd9vdsqx5rmlijxvdrkr1vkyisl81z73bgjyh9zp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-linux-arm64.tar.gz";
-        sha256 = "18wkr5sfa9v8b9b4c3hdgnq8wd8qpykcyqbcmiypykj8y954hxjk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.15.1-linux-arm64.tar.gz";
+        sha256 = "10k9v7v9krjsk095cmk84w875bllkbjl19syiqiq19am66k9n8jj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-linux-arm64.tar.gz";
-        sha256 = "0j4qhlxkpxr7j4s76vkkqxwhjb9b4kvdn19wcd83j2ybxlz698zw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.48.0-linux-arm64.tar.gz";
+        sha256 = "0bgpv6fkm65cgdficrvzgnp9dairlz795mhlmzy951qvxdlc1i0a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-linux-arm64.tar.gz";
-        sha256 = "0p2wlfs2lwwiz0az4kdb2jpaswn8z8yrv2mwk1hhcjn7g8xyn5zc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.67.2-linux-arm64.tar.gz";
+        sha256 = "1ic807cbjz3wkyzz6mm7qpjb7dpi2xmchbdx5qdqiv8a9zv9rvck";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-linux-arm64.tar.gz";
-        sha256 = "1pzkcm9nw8q8i440lc3xgpg9l5qrkxf1x22y7llvm5k0z1vv5rpq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.2-linux-arm64.tar.gz";
+        sha256 = "0m07iydqlampsx2zdgliyqa5h1zwj42p865anak37i59j1cx7ash";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-linux-arm64.tar.gz";
-        sha256 = "1hyff2mkpkkbg8li0kblqmb17xcjql77wly33fjph6gw66wymnqb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.5-linux-arm64.tar.gz";
+        sha256 = "03jxg597fsnjjbc519cbdpd2d2qqrw0zp75bfwkhzq28y65qyz5v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-linux-arm64.tar.gz";
-        sha256 = "1zizrk7chxjda8lpkgrvs40f3il2z7xl79fcslq129adhqj2af3k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.0.1-linux-arm64.tar.gz";
+        sha256 = "17aqa1hy8ca0kdc6kljb76zk6fhxbh57v2k4jshj3jcgv6p4b4dg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.17.0-linux-arm64.tar.gz";
-        sha256 = "1g5k564z33dr09yqzk5a2g2wblszrbh8hc6gp1a8g0vynq7a9f6r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.19.0-linux-arm64.tar.gz";
+        sha256 = "0fllx3zksrxazvr6vbp8qcygbwd3d3w4hm6v0wnzq5vbnz0m693v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.2-linux-arm64.tar.gz";
-        sha256 = "0gx4n9palj6yana77hs3aiv96ck4vzvnqblb1h7h9z1jfmdl7m01";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.3-linux-arm64.tar.gz";
+        sha256 = "19xsgfb302nx6mcq4pninq66i7926r0dl2qdcvmsj6qbm83bdih4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-linux-arm64.tar.gz";
-        sha256 = "1pkkm24f4n6qd5hsgb6ayv38jfs6k77mb3xcvdzsy3bmynxn7662";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.2-linux-arm64.tar.gz";
+        sha256 = "0q958skqldk5gfd863vizpndls5w18k256v21a0i7hw6cg2ny0qj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-linux-arm64.tar.gz";
-        sha256 = "1ih335b7pdjxqvyabhlf9dxabri5w1kjf2x4c310rjglzvyvavr2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.0-linux-arm64.tar.gz";
+        sha256 = "07pjnqsrznxi8phm1i1bhkdsc1639q4kkbz9a5zzkgb0rs02jzzl";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
@@ -479,156 +479,156 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.95.0-darwin-arm64.tar.gz";
-        sha256 = "0k09shsrpzi378xfqggx532szq35w67nja91ysljm8w5q8f1s06a";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.106.0-darwin-arm64.tar.gz";
+        sha256 = "11hvb57iqdmz5aiy1l03j7pf7qams4mapjvca2nqrd1yzb16zbrd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.2-darwin-arm64.tar.gz";
-        sha256 = "125l81hghfkj4k4ygspv6fmifrqpn0r14c8pr85fkkninsp71jip";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.11.3-darwin-arm64.tar.gz";
+        sha256 = "1973s6fk02nir6ls9by73c0xcss4as57jyv33la1gng6h1ljrgyr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.1-darwin-arm64.tar.gz";
-        sha256 = "1lz73k8v5iixivydvfrwr239sw6i5qx4h7qkd0l3hvbih3v97v6a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.3.2-darwin-arm64.tar.gz";
+        sha256 = "1c7gpdwxr1ggxnvi64764kbl6dkg0y8jdlsnhlb29p85s13gzaxq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.45.0-darwin-arm64.tar.gz";
-        sha256 = "1dqs6ygjpah10g47k4d3ms2cin5k76c2kbzgg86ipar3gcyn2lx9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.49.0-darwin-arm64.tar.gz";
+        sha256 = "0vl8a1vf0n2xjk7k39b0w4plj0lj3rxqys2wjycxvkkp6kxfb6s9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.5.0-darwin-arm64.tar.gz";
-        sha256 = "0f3nd7sy17sg522lxsc5ypsqpk8allw0wvzw7i6vc5781xa40xqi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v6.1.4-darwin-arm64.tar.gz";
+        sha256 = "09fshawmwiiphp6dfaa65g2lcixghb0xfh8pl1xjrdp2851268qr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "02hlp97294ds7cpj775lks5w05hxwv644y8v9pil5y6n2xllkrqg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.1.2-darwin-arm64.tar.gz";
+        sha256 = "17d3p29w4hd5lrpgmf9j17fwy4vx1cr84nlfci3rvfzzih1x62yl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.13.0-darwin-arm64.tar.gz";
-        sha256 = "042hqdj5j8ib1l9r0h62m2x79x2iglz2fnvw6007absn6vi3qhsq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.22.2-darwin-arm64.tar.gz";
+        sha256 = "1jfv701qhilirlfaqsaz72vzypsqbynw77rlpx7cy5c726gk3kh8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.46.0-darwin-arm64.tar.gz";
-        sha256 = "0l0g5qgv5f6q0fij8mkvawdkm7h3wfqcg6mfskw6s0kwbmrbavpj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.47.1-darwin-arm64.tar.gz";
+        sha256 = "1n2kvcd68hya0i8bkiciigrv621n9f0xc5y5wji09advh8cx8a4w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.14.0-darwin-arm64.tar.gz";
-        sha256 = "0asaq5gg22jgq5x2bn89m9qn3jm7cmdhkypdl5barkmccvsbpfg0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.15.0-darwin-arm64.tar.gz";
+        sha256 = "1c7ycicwszn9fsaw81rn88kgm7b5i0hp9sxp92qxfn649x742c45";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.58.0-darwin-arm64.tar.gz";
-        sha256 = "0rmgha9nxabkdb7z3asi16zbslz69jxchlw2awjsv0dq1nyn4pvq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.66.1-darwin-arm64.tar.gz";
+        sha256 = "1sf3klgnxs4baxaslryz05idnpipmdlr7l3mw3b4z0ffqxz3nspm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.16.0-darwin-arm64.tar.gz";
-        sha256 = "0zi7zzn7kpvmjfmaviyf1bzzrlilbgkz6dcm4fqa73qcbm1rq515";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.20.0-darwin-arm64.tar.gz";
+        sha256 = "1aimbl8fiasvqlj6mvlfz6jfxi7s61dk17cnyl9dgxqhmdkbc5dk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.0-darwin-arm64.tar.gz";
-        sha256 = "0qz4cqxvwn5wzq3wh5cfwxh0ch22p7wi2wcvjgymlar6q57flk75";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.11.1-darwin-arm64.tar.gz";
+        sha256 = "19wi1jq077da10c1z2z4rzw0x7rjdv77fk9djzk627w75bha1xac";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-arm64.tar.gz";
-        sha256 = "066w46l9dv02pnq59h632w1f7sjj8qqh6867cb33bbh6if681fpa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.25.1-darwin-arm64.tar.gz";
+        sha256 = "1llxhfcx8b16bvynx6bb509r94iqyvkiz261939d6alx4g0sfvpr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.24.0-darwin-arm64.tar.gz";
-        sha256 = "1x579nqa93yi68zwq0ax6a3rs06bxfqh5snfiiwflp5x68yvbnl0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.25.1-darwin-arm64.tar.gz";
+        sha256 = "0iv44fxyshznl7v6w08d2sqjp1divbmqwsjndfswxpqbp69i0i98";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.0-darwin-arm64.tar.gz";
-        sha256 = "0z2s6yy3m871p5zhvcvgb7v7v51mr1y0msm71pqbqr9jj6mdlvpj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.5.1-darwin-arm64.tar.gz";
+        sha256 = "17pdc068n81savb6ccmmjgbl1mla9asa59q2iz7clggxw6rsiv26";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
         sha256 = "12bzicm43l7yvh02v5fx3z8v46l9i7a9f677735xi5rjbmd2an4c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.1-darwin-arm64.tar.gz";
-        sha256 = "16m568zmhfh9y0ynjs789yiawn22r23i1zz9xsrq1kfx8raq94an";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.4.2-darwin-arm64.tar.gz";
+        sha256 = "1pd2x157ljb8rgm1mawqvqb39n0101450syr43z1qjmhgws7gz74";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.2.1-darwin-arm64.tar.gz";
-        sha256 = "14ar812kqjccam04wyzzn46620vp4fym70fq1qzdawh7a5njzdab";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v7.9.0-darwin-arm64.tar.gz";
+        sha256 = "0xc0qlfggk42izrbcj5rvhid3a6jn6lf7yc4yrfqkrjxjwh9d9d2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.22.0-darwin-arm64.tar.gz";
-        sha256 = "04svj7zrhwfy5hjccy2dn4a5il793fncj0b83bvkrvh4qcs8c8as";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.26.0-darwin-arm64.tar.gz";
+        sha256 = "12n324rwgmfb2m7jbmlaxj5w0q1vjb63md4vfp8zyf95v40qkcqv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.6.0-darwin-arm64.tar.gz";
-        sha256 = "0dwx5bkp7n7jjikk1nr55brma4dg0gldpf7mfwc62dzc36lgfyny";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.8.1-darwin-arm64.tar.gz";
+        sha256 = "03kkxl0jbqd6vn335ikkvwcmqpdrbxi8bnkm2q8jpli2k8isnxd7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.32.0-darwin-arm64.tar.gz";
         sha256 = "0caz4kgnnrmdr7n571xc7yqscac9jnjwwpjzbnvx4ib6a91wvsdn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.2-darwin-arm64.tar.gz";
-        sha256 = "0i0lhxzvxvgi695x9g1nnqrzlipsydjsc3xz8zd7n9438pav3cmc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.17.0-darwin-arm64.tar.gz";
+        sha256 = "19zhkq9lppjj41ddhbk2fi5xrmmbgyk38mlzvkqfly9lwgbc18v3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.5.5-darwin-arm64.tar.gz";
-        sha256 = "09r89pxzk18pb65vd47bp31sbilgbpbp7j3a30b39lfff3larwd5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.7.1-darwin-arm64.tar.gz";
+        sha256 = "0y7cpgp9z9p42dknai2l6r0hhmyjas03nd288fnd794qzkkwazyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.9.0-darwin-arm64.tar.gz";
-        sha256 = "0qj26bd23qgz8pibsvhsb1gzlk96jh2hkh3l9s23jvlvbxd53hql";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.13.0-darwin-arm64.tar.gz";
+        sha256 = "1jb8zfacc86q6dn64c2mnpzc5jmznjsz4fvha1jy60pa0r9qhqj2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.0-darwin-arm64.tar.gz";
-        sha256 = "0nx02c9fkfrdmgf9jmlhb0h4whqgx8bw4snhz4m9chxygknyg2s2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.5.1-darwin-arm64.tar.gz";
+        sha256 = "1d90jmcm98nlagaqlnjk8kz5dn35yp682rxkps5w0m2x2k48hqxm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.0-darwin-arm64.tar.gz";
-        sha256 = "0zpj3qcavx9hby54lbx81sh6fw7gsfjb94jh7xi49n937gra3snc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.2.1-darwin-arm64.tar.gz";
+        sha256 = "1li9qyzqknpjlj2z3pfghji47xvhsl268p48pl2i1g99d4qkpbsc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.14.0-darwin-arm64.tar.gz";
-        sha256 = "0vq8xvx55avph8fr1jykmilivxpmc8zvckmsia1ammqg867ivrlj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.15.1-darwin-arm64.tar.gz";
+        sha256 = "0dqvgmcpvv3h86licnmlswlj2dklj2sqr02wyc10srw8gddvysx5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-darwin-arm64.tar.gz";
-        sha256 = "1bb9a3ppiyd4jrna2z7zdngvlps870r3zhr54b1xzbap1vhdbjhd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.1-darwin-arm64.tar.gz";
+        sha256 = "14dc917y4ddd35ib5d0c3swlm6vcsjs57g8zd5gx74vnfgvkbc3h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-darwin-arm64.tar.gz";
-        sha256 = "08llqzf509ds0nbcllpq5k3zl6l656yxx0bx0z9pibd9iwzjy3wj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.15.1-darwin-arm64.tar.gz";
+        sha256 = "1gri8is4man0zgp3yg0dmfnk9fjhrg02zahlravscxpd4baycb6p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.41.0-darwin-arm64.tar.gz";
-        sha256 = "1z3sc1ihwn3g02mwm99shizdzfgzsqxivmkwmw5p5r2gxaflz1gh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.48.0-darwin-arm64.tar.gz";
+        sha256 = "1kpvc6221n282dmlbrpwsjmd7if340cjxzr84a8pwizzy1yyy70y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.60.0-darwin-arm64.tar.gz";
-        sha256 = "15cn9gfc957zalmwl3xxjrpyxh50gkdkzph31akwfw1lil1y6ws5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.67.2-darwin-arm64.tar.gz";
+        sha256 = "173a714y5y8bka8pvr8kps0j6pamfx31dx1vdbp7fw2q7h8whlfv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.0-darwin-arm64.tar.gz";
-        sha256 = "1h4q8s8bzs2w8b0hvlaw9awa0m3kzw22z38avaryv85n4jvq6zn2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.20.2-darwin-arm64.tar.gz";
+        sha256 = "041zjnywmpxa302igaszj0hd6k4qb455i2c0452rlfh9kj7k2sa5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.3-darwin-arm64.tar.gz";
-        sha256 = "0cq1cvvmfki8v0861ylckpchlm5xzshirixz95d7kvdchr6j4ds7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.5-darwin-arm64.tar.gz";
+        sha256 = "0ch0p93rq0af0i87fdq445xxnxkjckc4n537ydgyb3wkdpm3q9kw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.1-darwin-arm64.tar.gz";
-        sha256 = "0sfbb1m874p04n2qg5w9502r1s2gxdd3lbn9k6xqzdcqi0991vrw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v5.0.1-darwin-arm64.tar.gz";
+        sha256 = "0x01k5sjmy9365pwi6gqhvw5jr6ansg5zj0anl869dyaag4kgzks";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.17.0-darwin-arm64.tar.gz";
-        sha256 = "0wcahzjwlbzbv94yv10wmvsppjcvax0d57qk4xpfrdig6lj50mms";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.19.0-darwin-arm64.tar.gz";
+        sha256 = "1rpq1zn2vcpz9rf7lzy27006vmbq67alvicylmsz85v27156mfj1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.2-darwin-arm64.tar.gz";
-        sha256 = "0xlxx5i1ph57vn5q00hv8s0d5vj5jy3hrrkm7qvmjf47d7flqqv8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.3-darwin-arm64.tar.gz";
+        sha256 = "16kaha5i49sr7m60c3ql9j0amp051z3yxrfpw18ksygshinii8cb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.0-darwin-arm64.tar.gz";
-        sha256 = "039lsilaazm80p07l08skcmplz45qpiq122rnscc25cwkjnmv0lg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.9.2-darwin-arm64.tar.gz";
+        sha256 = "0ymxbs8ql90mnqd1yjd7yss6q7pr39i4l5znzai7sixdvcmk53l8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.4-darwin-arm64.tar.gz";
-        sha256 = "14plg6hinzcn1mnmfzpnl8b63j7zj7bkvy4fil1c3iscqj803ci6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.1.0-darwin-arm64.tar.gz";
+        sha256 = "0vxkhdf5wz7plq86qy27qwx73jp88ddl41m4iz0h64isrmdrz466";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
diff --git a/nixpkgs/pkgs/tools/admin/qovery-cli/default.nix b/nixpkgs/pkgs/tools/admin/qovery-cli/default.nix
index 0f75e16797c1..8db9f115c4d8 100644
--- a/nixpkgs/pkgs/tools/admin/qovery-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/qovery-cli/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.84.0";
+  version = "0.84.1";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = "qovery-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2cG/aG1WXNmXqoJ+N2vmq2SBfIeCI1hac8y2vLy7Dyk=";
+    hash = "sha256-Dq62LXa0hZrpfQ7WQuCelLxWS7Lhn6SH61cNTsYI/mw=";
   };
 
   vendorHash = "sha256-XG0dOEpu+NoQmklsukxev1gc2OsZc7fLEkv0AGwkh7o=";
@@ -41,5 +41,6 @@ buildGoModule rec {
     changelog = "https://github.com/Qovery/qovery-cli/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "qovery-cli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index 18ec2a21200b..9776ececcfd2 100644
--- a/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -17,6 +17,7 @@ let
     };
     maintainers = with maintainers; [ emilytrau onedragon ];
     platforms = [ "x86_64-linux" ] ++ platforms.darwin;
+    mainProgram = "vncviewer";
   };
 in
 if stdenv.isDarwin then callPackage ./darwin.nix { inherit pname version meta; }
diff --git a/nixpkgs/pkgs/tools/admin/rhoas/default.nix b/nixpkgs/pkgs/tools/admin/rhoas/default.nix
index fcad933608d6..7400558a5887 100644
--- a/nixpkgs/pkgs/tools/admin/rhoas/default.nix
+++ b/nixpkgs/pkgs/tools/admin/rhoas/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     homepage = "https://github.com/redhat-developer/app-services-cli";
     changelog = "https://github.com/redhat-developer/app-services-cli/releases/v${version}";
     maintainers = with maintainers; [stehessel];
+    mainProgram = "rhoas";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/sec/default.nix b/nixpkgs/pkgs/tools/admin/sec/default.nix
index a611065309ff..a37f8af5aff1 100644
--- a/nixpkgs/pkgs/tools/admin/sec/default.nix
+++ b/nixpkgs/pkgs/tools/admin/sec/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     description = "Simple Event Correlator";
     maintainers = [ lib.maintainers.tv ];
     platforms = lib.platforms.all;
+    mainProgram = "sec";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/simplotask/default.nix b/nixpkgs/pkgs/tools/admin/simplotask/default.nix
index 6f8c96c2eb72..b2b15ebe982a 100644
--- a/nixpkgs/pkgs/tools/admin/simplotask/default.nix
+++ b/nixpkgs/pkgs/tools/admin/simplotask/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "simplotask";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "umputun";
     repo = "spot";
     rev = "v${version}";
-    hash = "sha256-PuyM2WhBww6SqlI5VptTNNS61401c1R0DOsHmOcfLCI=";
+    hash = "sha256-Sg84Q5I82W2fz/CHh9ov0QPCzAoyqkNrATWNFnMrnEw=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
index 4a059e0108fe..abf69be5765f 100644
--- a/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/ssmsh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ssmsh";
-  version = "1.4.8";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "bwhaley";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GpN+yicgFIHOaMeJJcRn55f6fQbFX12vSV089/cMsqc=";
+    sha256 = "sha256-UmfwDukRVyfX+DmUfRi+KepqFrPtDNImKd22/dI7ytk=";
   };
 
-  vendorHash = "sha256-17fmdsfOrOaySPsXofLzz0+vmiemg9MbnWhRoZ67EuQ=";
+  vendorHash = "sha256-+7duWRe/haBOZbe18sr2qwg419ieEZwYDb0L3IPLA4A=";
 
   doCheck = true;
 
@@ -28,5 +28,6 @@ buildGoModule rec {
     description = "An interactive shell for AWS Parameter Store";
     license = licenses.mit;
     maintainers = with maintainers; [ dbirks ];
+    mainProgram = "ssmsh";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/swapspace/default.nix b/nixpkgs/pkgs/tools/admin/swapspace/default.nix
index 49737edf8bf1..27ec7f31f891 100644
--- a/nixpkgs/pkgs/tools/admin/swapspace/default.nix
+++ b/nixpkgs/pkgs/tools/admin/swapspace/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ misuzu Luflosi ];
+    mainProgram = "swapspace";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/syft/default.nix b/nixpkgs/pkgs/tools/admin/syft/default.nix
index 5cf4bb92fee3..b8642bcbb827 100644
--- a/nixpkgs/pkgs/tools/admin/syft/default.nix
+++ b/nixpkgs/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.103.1";
+  version = "0.105.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-b50+O9Tx9CgXDW7JuCyo//ye7T0puwq6jryH6bQ4Ytw=";
+    hash = "sha256-X05ELxhySlQ0POIg2Iop4NS7gYqZcuP46IC8CEuxtJg=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -22,7 +22,7 @@ buildGoModule rec {
   };
   # hash mismatch with darwin
   proxyVendor = true;
-  vendorHash = "sha256-CCkAxMg3J+F6xhKiB7iMCn5CNQ0IU0EW4cNn3b4eRWY=";
+  vendorHash = "sha256-1Iwqh9obVU+HA2l/Gy4SOHrgHtvoy8c4tbcuA1AFFQw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -76,5 +76,6 @@ buildGoModule rec {
     '';
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ jk developer-guy kashw2 ];
+    mainProgram = "syft";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/triton/default.nix b/nixpkgs/pkgs/tools/admin/triton/default.nix
index 3605bd9089f5..38309e94cdee 100644
--- a/nixpkgs/pkgs/tools/admin/triton/default.nix
+++ b/nixpkgs/pkgs/tools/admin/triton/default.nix
@@ -40,5 +40,6 @@ buildNpmPackage rec {
     homepage = "https://github.com/TritonDataCenter/node-triton";
     license = licenses.mpl20;
     maintainers = with maintainers; [ teutat3s ];
+    mainProgram = "triton";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/wander/default.nix b/nixpkgs/pkgs/tools/admin/wander/default.nix
index 14b89311df1a..6ad6854fc232 100644
--- a/nixpkgs/pkgs/tools/admin/wander/default.nix
+++ b/nixpkgs/pkgs/tools/admin/wander/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "wander";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "robinovitch61";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7/5NcrS5VR3APhv5LEpd4U0+E4PwM9cU9bb1q6UDfoI=";
+    sha256 = "sha256-1+bKdIAWdg/+5FBDbtvjDV0xpZ5jot3y6F+KuLO9WVk=";
   };
 
   vendorHash = "sha256-0S8tzP5yNUrH6fp+v7nbUPTMWzYXyGw+ZNcXkSN+tWY=";
@@ -29,5 +29,6 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://github.com/robinovitch61/wander";
     maintainers = teams.c3d2.members;
+    mainProgram = "wander";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/zbctl/default.nix b/nixpkgs/pkgs/tools/admin/zbctl/default.nix
index bfdd5fedc8be..5dfa08998637 100644
--- a/nixpkgs/pkgs/tools/admin/zbctl/default.nix
+++ b/nixpkgs/pkgs/tools/admin/zbctl/default.nix
@@ -45,5 +45,6 @@ stdenvNoCC.mkDerivation rec {
       * Updating variables and retries
       * Viewing cluster status
     '';
+    mainProgram = "zbctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
index 70fcad9cea88..ee239a5a255f 100644
--- a/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/wimlib/default.nix
@@ -1,8 +1,9 @@
 { lib, stdenv, fetchurl, makeWrapper
-, pkg-config, fuse3
+, pkg-config
 , cabextract ? null
 , cdrkit ? null
 , mtools ? null
+, fuse3 ? null
 , ntfs3g ? null
 , syslinux ? null
 }:
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   pname = "wimlib";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
-  buildInputs = [ fuse3 ntfs3g ];
+  buildInputs = [ ntfs3g ] ++ lib.optionals (!stdenv.isDarwin) [ fuse3 ];
 
   src = fetchurl {
     url = "https://wimlib.net/downloads/${pname}-${version}.tar.gz";
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = let
-    path = lib.makeBinPath  ([ cabextract mtools ntfs3g ] ++ lib.optionals (!stdenv.isDarwin) [ cdrkit syslinux ]);
+    path = lib.makeBinPath  ([ cabextract mtools ntfs3g ] ++ lib.optionals (!stdenv.isDarwin) [ cdrkit syslinux fuse3 ]);
   in ''
     for prog in $out/bin/*; do
       wrapProgram $prog --prefix PATH : $out/bin:${path}
diff --git a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
index f4d51e481583..b0b48ffc9683 100644
--- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
+++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2024.01.04";
+  version = "2024.02.11";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-IsQ+lAmQQGitKRlQUc7PgRKgwlEgYsR5q2XHp9k7tEM=";
+    hash = "sha256-gFSwD/NUp/6cT53GKUQd+pthADOqNI0jT6yQo+/kgRY=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/audio/wyoming/openwakeword.nix b/nixpkgs/pkgs/tools/audio/wyoming/openwakeword.nix
index 83da563f3b3b..4c321a204b49 100644
--- a/nixpkgs/pkgs/tools/audio/wyoming/openwakeword.nix
+++ b/nixpkgs/pkgs/tools/audio/wyoming/openwakeword.nix
@@ -1,36 +1,27 @@
 { lib
 , python3Packages
 , fetchFromGitHub
-, fetchpatch
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "wyoming-openwakeword";
-  version = "1.8.1";
+  version = "1.9.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "wyoming-openwakeword";
     rev = "refs/tags/v${version}";
-    hash = "sha256-N/EjdNQLsYLpJ4kOxY/z+/dMMmF1PPAIEEzSHfnZWaM=";
+    hash = "sha256-NceUFsIKZO6DOXae3QJ7JJGc7QdDHkMh20eLvl12p4U=";
   };
 
-  patches = [
-    (fetchpatch {
-      # import tflite entrypoint from tensorflow
-      url = "https://github.com/rhasspy/wyoming-openwakeword/commit/8f4ba2750d8c545e77549a7230cdee1301dac09a.patch";
-      hash = "sha256-WPvywpGv0sYYVGc7he4bt7APIsa3ziKaWqpFlx3v+V8=";
-    })
-    (fetchpatch {
-      # add commandline entrypoint
-      url = "https://github.com/rhasspy/wyoming-openwakeword/commit/f40e5635543b2315217538dd89a9fe40fe817cfe.patch";
-      hash = "sha256-HNlGqt7bMzwyvhx5Hw7mkTHeQmBpgDCU3pUbZzss1bY=";
-    })
-  ];
-
   nativeBuildInputs = with python3Packages; [
     setuptools
+    pythonRelaxDepsHook
+  ];
+
+  pythonRemoveDeps = [
+    "tflite-runtime-nightly"
   ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/audio/wyoming/piper.nix b/nixpkgs/pkgs/tools/audio/wyoming/piper.nix
index 32d21bfa4eaf..dc69c907ee2a 100644
--- a/nixpkgs/pkgs/tools/audio/wyoming/piper.nix
+++ b/nixpkgs/pkgs/tools/audio/wyoming/piper.nix
@@ -6,25 +6,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wyoming-piper";
-  version = "1.4.0";
+  version = "1.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "wyoming-piper";
-    # https://github.com/rhasspy/wyoming-piper/issues/3
-    rev = "560927437c72eca4d334ca503d15863f0b42980d";
-    hash = "sha256-Q4S96zs856zXVAGo4mB466an60naHiS2S/qxYxPE4sI=";
+    rev = "v${version}";
+    hash = "sha256-aI1CWtSpSPX1aK4UR/lsCQZQwNs7qOLKfatlSomJx1Q=";
   };
 
-  patches = [
-    (fetchpatch {
-      # add console script
-      url = "https://github.com/rhasspy/wyoming-piper/commit/4c27fbd067fd543adede4626fc5868a3f2458734.patch";
-      hash = "sha256-YPjDjeY9RLsgCtbBZoNgPyQTv3rbCJGcqTNSSwiqqEE=";
-    })
-  ];
-
   nativeBuildInputs = with python3Packages; [
     setuptools
     pythonRelaxDepsHook
diff --git a/nixpkgs/pkgs/tools/backup/awsbck/default.nix b/nixpkgs/pkgs/tools/backup/awsbck/default.nix
index 1ea9ed72fb22..cb5b4f76549c 100644
--- a/nixpkgs/pkgs/tools/backup/awsbck/default.nix
+++ b/nixpkgs/pkgs/tools/backup/awsbck/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "awsbck";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchFromGitHub {
     owner = "beeb";
     repo = "awsbck";
     rev = "v${version}";
-    hash = "sha256-qW8UY+klNqzDcfVVCW1O7EARFdgLmnf7g/WcYNfT1SI=";
+    hash = "sha256-asYXmBPNsIac+c/UXSijol+DFI7qZVpg/SKxaadlBOI=";
   };
 
-  cargoHash = "sha256-T/xzhE1XXexyT5ktDxny68zaszEhqKfSmibjs6T2B2E=";
+  cargoHash = "sha256-vFIBl/ZvSZn/9yLYMtzFvlPM+OYkZndkT6qPCIWVlOM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/tools/backup/bacula/default.nix b/nixpkgs/pkgs/tools/backup/bacula/default.nix
index b506ee1702d1..c75312606550 100644
--- a/nixpkgs/pkgs/tools/backup/bacula/default.nix
+++ b/nixpkgs/pkgs/tools/backup/bacula/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bacula";
-  version = "13.0.3";
+  version = "13.0.4";
 
   src = fetchurl {
     url    = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz";
-    sha256 = "sha256-CUnDK+EJBYXojkwB2CgALodgMTbYfFmKKd/0K7PtKkA=";
+    sha256 = "sha256-FOTGLTgaEAhCLj/RSq0ZsmFBA9iQeJJtczf4UOO0c9w=";
   };
 
   # libtool.m4 only matches macOS 10.*
diff --git a/nixpkgs/pkgs/tools/backup/sigtop/default.nix b/nixpkgs/pkgs/tools/backup/sigtop/default.nix
index 4d437dd21302..b83dd061efe4 100644
--- a/nixpkgs/pkgs/tools/backup/sigtop/default.nix
+++ b/nixpkgs/pkgs/tools/backup/sigtop/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   name = "sigtop";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "tbvdm";
     repo = "sigtop";
     rev = "v${version}";
-    sha256 = "sha256-+TV3mlFW3SxgLyXyOPWKhMdkPf/ZTK2/EMWaZHC82YM=";
+    sha256 = "sha256-I1gZpzs7GtoS+EQIHXTc9laHMO68uNnIm7eVja3b8BE=";
   };
 
-  vendorHash = "sha256-kkRmyWYrWDq96fECe2YMsDjRZPX2K0jKFitMJycaVVA=";
+  vendorHash = "sha256-9IhUGbcDeStFfQV+VEvPCwJUEvrsoiHdWxO0UHxQzqc=";
 
   makeFlags = [
     "PREFIX=\${out}"
diff --git a/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix b/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
index c5852d400eab..df0ddfc7433b 100644
--- a/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/nixpkgs/pkgs/tools/backup/zfs-replicate/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonApplication rec {
   pname = "zfs_replicate";
-  version = "3.2.6";
-  format = "pyproject";
+  version = "3.2.8";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-K+OCJmx0KfFTuaP3c5oFJqWa+zqYJtoruO2v/F0FtfA=";
+    hash = "sha256-q4m6/L7GZqCkvdKcWBGTfrbDC2UiFerluwNUOA+QCQU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix b/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
index 5d18319ac603..ae487fb075fd 100644
--- a/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/openobex/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     description = "An open source implementation of the Object Exchange (OBEX) protocol";
     platforms = platforms.linux;
     license = licenses.lgpl2Plus;
+    mainProgram = "obex-check-device";
   };
 }
diff --git a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
index 9cb033e15d13..d13a3c5f0f13 100644
--- a/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
+++ b/nixpkgs/pkgs/tools/cd-dvd/isomd5sum/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "isomd5sum";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "rhinstaller";
     repo = pname;
     rev = version;
-    sha256 = "1wjnh2hlp1hjjm4a8wzdhdrm73jq41lmpmy3ls0rh715p3j7z4q9";
+    sha256 = "sha256-tpDk7Wt2zV0vB2IILuIJyMMFBSiHKAVkSqsCwnWApJ0=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
index ef3ba227ea6b..6f154f7aeeca 100644
--- a/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "6.7";
+  version = "6.7.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    hash = "sha256-wn91UYW58tqzH0LoowPTa+0qPzNBzG117migplCiR2c=";
+    hash = "sha256-JNx7l08KV7oOyoD5dEC4QN+oWw8cssAb39l2WaSAsgA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
index fa312c8fb356..5d1c3249b98f 100644
--- a/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/ceph/default.nix
@@ -195,7 +195,7 @@ let
           hash = "sha256-gFfDTc2QWBWHBCycVH1dYlCsWQMVcRZfOBIau+njtDU=";
         };
 
-        patches = (old.patches or []) ++ [
+        patches = [
           # Fix https://nvd.nist.gov/vuln/detail/CVE-2023-49083 which has no upstream backport.
           # See https://github.com/pyca/cryptography/commit/f09c261ca10a31fe41b1262306db7f8f1da0e48a#diff-f5134bf8f3cf0a5cc8601df55e50697acc866c603a38caff98802bd8e17976c5R1893
           ./python-cryptography-Cherry-pick-fix-for-CVE-2023-49083-on-cryptography-40.patch
diff --git a/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix b/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix
index 6c33edbbfc92..00c73ce3e603 100644
--- a/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/gfs2-utils/default.nix
@@ -1,31 +1,17 @@
-{ lib, stdenv, fetchurl, fetchpatch
+{ lib, stdenv, fetchurl
 , autoreconfHook, bison, flex, pkg-config
 , bzip2, check, ncurses, util-linux, zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "gfs2-utils";
-  version = "3.4.1";
+  version = "3.5.1";
 
   src = fetchurl {
     url = "https://pagure.io/gfs2-utils/archive/${version}/gfs2-utils-${version}.tar.gz";
-    sha256 = "sha256-gwKxBBG5PtG4/RxX4sUC25ZeG8K2urqVkFDKL7NS4ZI=";
+    hash = "sha256-ZWzNfYuhIxGmSAe454vRjAKp9Lq7EBBSY36P7qVgZnw=";
   };
 
-  patches = [
-    # pull pending upstream inclusion fix for ncurses-6.3: sent upstream over email.
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://pagure.io/fork/slyfox/gfs2-utils/c/c927b635f380cca77665195a3aaae804d92870a4.patch";
-      sha256 = "sha256-0M1xAqRXoUi2el03WODF/nqEe9JEE5GehMWs776QZNI=";
-    })
-  ];
-  postPatch = ''
-    # Apply fix for ncurses-6.3. Upstream development branch already reworked the code.
-    # To be removed on next reelase.
-    substituteInPlace gfs2/edit/gfs2hex.c --replace 'printw(title);' 'printw("%s",title);'
-  '';
-
   outputs = [ "bin" "doc" "out" "man" ];
 
   nativeBuildInputs = [ autoreconfHook bison flex pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/kdiskmark/default.nix b/nixpkgs/pkgs/tools/filesystems/kdiskmark/default.nix
index 200705098409..fd6281a43ab6 100644
--- a/nixpkgs/pkgs/tools/filesystems/kdiskmark/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/kdiskmark/default.nix
@@ -5,19 +5,20 @@
 , qttools
 , fio
 , cmake
-, kauth
+, polkit-qt
 , extra-cmake-modules
 , fetchFromGitHub
 }:
 stdenv.mkDerivation rec {
   name = "kdiskmark";
-  version = "3.0.0";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "jonmagon";
     repo = "kdiskmark";
     rev = version;
-    sha256 = "sha256-fDimH0BX0zxGuOMNLhNbMGMr2pS+qbZhflSpoLFK+Ng=";
+    sha256 = "sha256-JueY7zw9PIo9ETi7pQLpw8FGRhNXYXeXEvTzZGz9lbw=";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
@@ -26,13 +27,12 @@ stdenv.mkDerivation rec {
     qtbase
     qttools
     extra-cmake-modules
-    kauth
+    polkit-qt
   ];
 
-  postInstall = ''
-    # so that kdiskmark can be used as unpriviledged user even on non-kde
-    # (where kauth is not in environment.systemPackages)
-    ln -s ${kauth}/share/dbus-1/system.d/org.kde.kf5auth.conf $out/share/dbus-1/system.d/00-kdiskmark-needs-org.kde.kf5auth.conf
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt \
+      --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
   '';
 
   qtWrapperArgs =
diff --git a/nixpkgs/pkgs/tools/filesystems/stratisd/default.nix b/nixpkgs/pkgs/tools/filesystems/stratisd/default.nix
index d299a1dc93ff..ebe7c9f14ba8 100644
--- a/nixpkgs/pkgs/tools/filesystems/stratisd/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/stratisd/default.nix
@@ -27,17 +27,18 @@
 
 stdenv.mkDerivation rec {
   pname = "stratisd";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
     repo = pname;
     rev = "refs/tags/stratisd-v${version}";
-    hash = "sha256-0zSMFjAzTtTmpSCqlIq5GXk3/AhlhtECFZXmo6xcjWA=";
+    hash = "sha256-qgf5Q2MAY8PAYlplvTX+YjYfDFLfddpyIG4S/IIYbsU=";
   };
 
-  cargoDeps = rustPlatform.importCargoLock {
-    lockFile = ./Cargo.lock;
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit pname version src;
+    hash = "sha256-Bu87uHEcMKB+TX8gWHD1vRazOkqJSZKQcsPiaKXrGFE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/games/er-patcher/default.nix b/nixpkgs/pkgs/tools/games/er-patcher/default.nix
index 6e7920bce0a0..084dfdcc1098 100644
--- a/nixpkgs/pkgs/tools/games/er-patcher/default.nix
+++ b/nixpkgs/pkgs/tools/games/er-patcher/default.nix
@@ -36,5 +36,6 @@ stdenvNoCC.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = [ maintainers.ivar ];
+    mainProgram = "er-patcher";
   };
 }
diff --git a/nixpkgs/pkgs/tools/games/ps3-disc-dumper/default.nix b/nixpkgs/pkgs/tools/games/ps3-disc-dumper/default.nix
index 6cf54c9a8f85..e097ebd93d2b 100644
--- a/nixpkgs/pkgs/tools/games/ps3-disc-dumper/default.nix
+++ b/nixpkgs/pkgs/tools/games/ps3-disc-dumper/default.nix
@@ -32,5 +32,6 @@ buildDotnetModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ evanjs ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "ps3-disc-dumper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/games/slipstream/default.nix b/nixpkgs/pkgs/tools/games/slipstream/default.nix
index 4e1a6e09531a..250ef7c2f357 100644
--- a/nixpkgs/pkgs/tools/games/slipstream/default.nix
+++ b/nixpkgs/pkgs/tools/games/slipstream/default.nix
@@ -44,5 +44,6 @@ mavenWithJdk.buildMavenPackage rec {
     homepage = "https://github.com/Vhati/Slipstream-Mod-Manager";
     license = licenses.gpl2;
     maintainers = with maintainers; [ mib ];
+    mainProgram = "slipstream";
   };
 }
diff --git a/nixpkgs/pkgs/tools/games/steam-rom-manager/default.nix b/nixpkgs/pkgs/tools/games/steam-rom-manager/default.nix
index b9744015fea0..89af86fe7511 100644
--- a/nixpkgs/pkgs/tools/games/steam-rom-manager/default.nix
+++ b/nixpkgs/pkgs/tools/games/steam-rom-manager/default.nix
@@ -24,5 +24,6 @@ appimageTools.wrapType2 rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ squarepear ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "steam-rom-manager";
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
index 941e4cfec22c..a966b11382aa 100644
--- a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip, jam, unzip, libX11, libXxf86vm, libXrandr, libXinerama
 , libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText
 , libXdmcp, libXau, lib, openssl
-, writeScript
+, buildPackages, substituteAll, writeScript
 }:
 
 stdenv.mkDerivation rec {
@@ -17,6 +17,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ jam unzip ];
 
+  patches = lib.optional (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) (
+    # Build process generates files by compiling and then invoking an executable.
+    substituteAll {
+      src = ./jam-cross.patch;
+      emulator = stdenv.hostPlatform.emulator buildPackages;
+    }
+  );
+
   postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     substituteInPlace Jambase \
       --replace "-m64" ""
diff --git a/nixpkgs/pkgs/tools/graphics/argyllcms/jam-cross.patch b/nixpkgs/pkgs/tools/graphics/argyllcms/jam-cross.patch
new file mode 100644
index 000000000000..86a51ed83110
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/argyllcms/jam-cross.patch
@@ -0,0 +1,22 @@
+diff --git a/Jambase b/Jambase
+--- a/Jambase
++++ b/Jambase
+@@ -4247,7 +4247,7 @@
+
+ actions GenFileND1
+ {
+-	$(>)
++	@emulator@ $(>)
+ }
+
+ actions GenFileNND1
+@@ -4410,7 +4410,7 @@
+ 	actions GenFile1
+ 	{
+ 		PATH="$PATH:."
+-		$(>[1]) $(<) $(>[2-])
++		@emulator@ $(>[1]) $(<) $(>[2-])
+ 	}
+
+ 	actions CreateCatFile_
+
diff --git a/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix b/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
index f4cc746a24f3..f03f38742e19 100644
--- a/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/dmtx-utils/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dmtx-utils";
-  version = "0.7.6";
+  version = "0.7.6-unstable-2023-09-21";
 
   src = fetchFromGitHub {
     owner = "dmtx";
     repo = "dmtx-utils";
-    rev = "v${version}";
-    sha256 = "06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4";
+    rev = "057faa00143c152e8e21c29a36137f771614daed";
+    hash = "sha256-uXzPAv6DappyHBNmsTg6qRUvtUUdP1IPOdDvIcevfco=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/graphics/mangohud/default.nix b/nixpkgs/pkgs/tools/graphics/mangohud/default.nix
index 5dc243ec2d7e..fc0fc9930d78 100644
--- a/nixpkgs/pkgs/tools/graphics/mangohud/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/mangohud/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , fetchurl
 , substituteAll
+, fetchpatch
 , coreutils
 , curl
 , glxinfo
@@ -38,7 +39,6 @@
 let
   # Derived from subprojects/cmocka.wrap
   cmocka = {
-    version = "1.81";
     src = fetchFromGitLab {
       owner = "cmocka";
       repo = "cmocka";
@@ -47,18 +47,33 @@ let
     };
   };
 
+  # Derived from subprojects/implot.wrap
+  implot = rec {
+    version = "0.16";
+    src = fetchFromGitHub {
+      owner = "epezent";
+      repo = "implot";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-/wkVsgz3wiUVZBCgRl2iDD6GWb+AoHN+u0aeqHHgem0=";
+    };
+    patch = fetchurl {
+      url = "https://wrapdb.mesonbuild.com/v2/implot_${version}-1/get_patch";
+      hash = "sha256-HGsUYgZqVFL6UMHaHdR/7YQfKCMpcsgtd48pYpNlaMc=";
+    };
+  };
+
   # Derived from subprojects/imgui.wrap
   imgui = rec {
-    version = "1.81";
+    version = "1.89.9";
     src = fetchFromGitHub {
       owner = "ocornut";
       repo = "imgui";
       rev = "refs/tags/v${version}";
-      hash = "sha256-rRkayXk3xz758v6vlMSaUu5fui6NR8Md3njhDB0gJ18=";
+      hash = "sha256-0k9jKrJUrG9piHNFQaBBY3zgNIKM23ZA879NY+MNYTU=";
     };
     patch = fetchurl {
       url = "https://wrapdb.mesonbuild.com/v2/imgui_${version}-1/get_patch";
-      hash = "sha256-bQC0QmkLalxdj4mDEdqvvOFtNwz2T1MpTDuMXGYeQ18=";
+      hash = "sha256-myEpDFl9dr+NTus/n/oCSxHZ6mxh6R1kjMyQtChD1YQ=";
     };
   };
 
@@ -68,7 +83,7 @@ let
     src = fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-Headers";
-      rev = "v${version}";
+      rev = "refs/tags/v${version}";
       hash = "sha256-5uyk2nMwV1MjXoa3hK/WUeGLwpINJJEvY16kc5DEaks=";
     };
     patch = fetchurl {
@@ -79,14 +94,14 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mangohud";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "flightlessmango";
     repo = "MangoHud";
     rev = "refs/tags/v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-KkMN7A3AcS/v+b9GCs0pI6MBBk3WwOMciaoiBzL5xOQ=";
+    hash = "sha256-Gnq+1j+PFbeipAfXGnTq7wZdVQeG9R9vLAKZnZj7Bvs=";
   };
 
   outputs = [ "out" "doc" "man" ];
@@ -97,6 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
     ${lib.optionalString finalAttrs.finalPackage.doCheck ''
       cp -R --no-preserve=mode,ownership ${cmocka.src} cmocka
     ''}
+    cp -R --no-preserve=mode,ownership ${implot.src} implot-${implot.version}
     cp -R --no-preserve=mode,ownership ${imgui.src} imgui-${imgui.version}
     cp -R --no-preserve=mode,ownership ${vulkan-headers.src} Vulkan-Headers-${vulkan-headers.version}
   )'';
@@ -124,6 +140,13 @@ stdenv.mkDerivation (finalAttrs: {
       libdbus = dbus.lib;
       inherit hwdata;
     })
+
+    # Add dep_vulkan to mangoapp and test_amdgpu to fix build failure
+    # TODO: Remove in next release
+    (fetchpatch {
+      url = "https://github.com/flightlessmango/MangoHud/commit/cba217ffaf93aea6acb4e59e3e46bf912f740ccf.patch";
+      hash = "sha256-1My4/EuSMpe3AFhhFOJr8rz/wnywp+BW+F4dSgxToe0=";
+    })
   ];
 
   postPatch = ''
@@ -138,6 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
 
     (
       cd subprojects
+      unzip ${implot.patch}
       unzip ${imgui.patch}
       unzip ${vulkan-headers.patch}
     )
@@ -198,33 +222,36 @@ stdenv.mkDerivation (finalAttrs: {
     ''}
   '';
 
-  postFixup = let
-    archMap = {
-      "x86_64-linux" = "x86_64";
-      "i686-linux" = "x86";
-    };
-    layerPlatform = archMap."${stdenv.hostPlatform.system}" or null;
-    # We need to give the different layers separate names or else the loader
-    # might try the 32-bit one first, fail and not attempt to load the 64-bit
-    # layer under the same name.
-  in lib.optionalString (layerPlatform != null) ''
-    substituteInPlace $out/share/vulkan/implicit_layer.d/MangoHud.${layerPlatform}.json \
-      --replace "VK_LAYER_MANGOHUD_overlay" "VK_LAYER_MANGOHUD_overlay_${toString stdenv.hostPlatform.parsed.cpu.bits}"
-  '' + ''
-    # Add OpenGL driver path to RUNPATH to support NVIDIA cards
-    addOpenGLRunpath "$out/lib/mangohud/libMangoHud.so"
-  '' + lib.optionalString gamescopeSupport ''
-    addOpenGLRunpath "$out/bin/mangoapp"
-  '' + lib.optionalString finalAttrs.finalPackage.doCheck ''
-    # libcmocka.so is only used for tests
-    rm "$out/lib/libcmocka.so"
-  '';
+  postFixup =
+    let
+      archMap = {
+        "x86_64-linux" = "x86_64";
+        "i686-linux" = "x86";
+      };
+      layerPlatform = archMap."${stdenv.hostPlatform.system}" or null;
+      # We need to give the different layers separate names or else the loader
+      # might try the 32-bit one first, fail and not attempt to load the 64-bit
+      # layer under the same name.
+    in
+    lib.optionalString (layerPlatform != null) ''
+      substituteInPlace $out/share/vulkan/implicit_layer.d/MangoHud.${layerPlatform}.json \
+        --replace "VK_LAYER_MANGOHUD_overlay" "VK_LAYER_MANGOHUD_overlay_${toString stdenv.hostPlatform.parsed.cpu.bits}"
+    '' + ''
+      # Add OpenGL driver path to RUNPATH to support NVIDIA cards
+      addOpenGLRunpath "$out/lib/mangohud/libMangoHud.so"
+    '' + lib.optionalString gamescopeSupport ''
+      addOpenGLRunpath "$out/bin/mangoapp"
+    '' + lib.optionalString finalAttrs.finalPackage.doCheck ''
+      # libcmocka.so is only used for tests
+      rm "$out/lib/libcmocka.so"
+    '';
 
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more";
     homepage = "https://github.com/flightlessmango/MangoHud";
+    changelog = "https://github.com/flightlessmango/MangoHud/releases/tag/v${finalAttrs.version}";
     platforms = platforms.linux;
     license = licenses.mit;
     maintainers = with maintainers; [ kira-bruneau zeratax ];
diff --git a/nixpkgs/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch b/nixpkgs/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
index d2b11673d77f..1c0f3a497fe6 100644
--- a/nixpkgs/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
+++ b/nixpkgs/pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
@@ -12,7 +12,7 @@ index 7379af1..4eef3fe 100644
          return false;
      }
 diff --git a/src/logging.cpp b/src/logging.cpp
-index 046c847..42782be 100644
+index ca33ee3..90d3638 100644
 --- a/src/logging.cpp
 +++ b/src/logging.cpp
 @@ -26,7 +26,11 @@ string exec(string command) {
diff --git a/nixpkgs/pkgs/tools/graphics/mangohud/preload-nix-workaround.patch b/nixpkgs/pkgs/tools/graphics/mangohud/preload-nix-workaround.patch
index f38e1703973d..5aa538b4c4c7 100644
--- a/nixpkgs/pkgs/tools/graphics/mangohud/preload-nix-workaround.patch
+++ b/nixpkgs/pkgs/tools/graphics/mangohud/preload-nix-workaround.patch
@@ -1,26 +1,39 @@
 diff --git a/bin/mangohud.in b/bin/mangohud.in
-index 6c3c6e8..8847cdc 100755
+index 53c72ef..18240ea 100755
 --- a/bin/mangohud.in
 +++ b/bin/mangohud.in
-@@ -8,10 +8,10 @@ if [ "$#" -eq 0 ]; then
- 	exit 1
- fi
+@@ -13,13 +13,15 @@ fi
+ DISABLE_LD_PRELOAD="cs2.sh
+ some_other_exe"
  
 -MANGOHUD_LIB_NAME="@ld_libdir_mangohud@libMangoHud_opengl.so"
++LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
++XDG_DATA_DIRS="@dataDir@${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
 +MANGOHUD_LIB_NAME="libMangoHud_opengl.so"
  
  if [ "$1" = "--dlsym" ]; then
--	MANGOHUD_LIB_NAME="@ld_libdir_mangohud@libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
-+	MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
- 	shift
+-    MANGOHUD_LIB_NAME="@ld_libdir_mangohud@libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
++    MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
+     shift  # shift will only be executed if $1 is "--dlsym"
+ elif [ "$MANGOHUD_DLSYM" = "1" ]; then
+-    MANGOHUD_LIB_NAME="@ld_libdir_mangohud@libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
++    MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}"
  fi
  
-@@ -31,5 +31,7 @@ case ":${LD_PRELOAD-}:" in
-         LD_PRELOAD="${LD_PRELOAD:+$LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
- esac
+ if [ "$1" = "--version" ]; then
+@@ -41,7 +43,7 @@ for exe in $DISABLE_LD_PRELOAD; do
+ done
  
-+LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
-+XDG_DATA_DIRS="@dataDir@${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
+ if [ "$disable_preload" = true ]; then
+-    exec env MANGOHUD=1 "$@"
++    exec env MANGOHUD=1 LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" XDG_DATA_DIRS="${XDG_DATA_DIRS}" "$@"
+ else
+     # Make sure we don't append mangohud lib multiple times
+     # otherwise, this could cause issues with the steam runtime
+@@ -54,5 +56,5 @@ else
+             LD_PRELOAD="${LD_PRELOAD:+$LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
+     esac
  
--exec env MANGOHUD=1 LD_PRELOAD="${LD_PRELOAD}" "$@"
-+exec env MANGOHUD=1 LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" XDG_DATA_DIRS="${XDG_DATA_DIRS}" "$@"
+-    exec env MANGOHUD=1 LD_PRELOAD="${LD_PRELOAD}" "$@"
++    exec env MANGOHUD=1 LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" XDG_DATA_DIRS="${XDG_DATA_DIRS}" "$@"
+ fi
diff --git a/nixpkgs/pkgs/tools/graphics/resvg/default.nix b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
index 2f1398e4fd11..199fff0d615e 100644
--- a/nixpkgs/pkgs/tools/graphics/resvg/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.39.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-B1rC0iU9KWB0k9iHjPL+rlU7KZ5s5cy+XqRpHENQvEc=";
+    hash = "sha256-M1log9JAgKB+S1jyieXNOhI8Wa0GwujbzyLJUd6b8VI=";
   };
 
-  cargoHash = "sha256-SCa10sejy4qeeo2slywl4qzscbQg5uyIeR1gE7mky2k=";
+  cargoHash = "sha256-KyiwupObxEVyDzwsQOKWw0+avhf96L83m7tiI6EK3/U=";
 
   cargoBuildFlags = [
     "--package=resvg"
diff --git a/nixpkgs/pkgs/tools/graphics/shot-scraper/default.nix b/nixpkgs/pkgs/tools/graphics/shot-scraper/default.nix
index a5406d7334c7..0c3e8688a3f7 100644
--- a/nixpkgs/pkgs/tools/graphics/shot-scraper/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/shot-scraper/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "shot-scraper";
-  version = "1.3";
+  version = "1.4";
   format = "setuptools";
 
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IC6S6LnavwxTcGEDX7lSHF1GZKBH1QcHQy17LGx4Ago=";
+    hash = "sha256-hPzOwvTQAFs9IQRkq/uw+pHv5ZP5XU3Zn605SL8udPA=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 104cb7b5009f..3c05cc5cf06c 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.25.0";
+  version = "2.25.1";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    hash = "sha256-YGlXdnV2ugssEEccrm1nlylVoZwTspywp1VKawqVkGw=";
+    hash = "sha256-/FmmcEDmN03+lE3+nmIk8PCnpjQMFQBPtijSYiAfCmk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook gobject-introspection ];
diff --git a/nixpkgs/pkgs/tools/misc/abduco/default.nix b/nixpkgs/pkgs/tools/misc/abduco/default.nix
index 097cfd9170a9..011f186bbbe2 100644
--- a/nixpkgs/pkgs/tools/misc/abduco/default.nix
+++ b/nixpkgs/pkgs/tools/misc/abduco/default.nix
@@ -1,14 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
+{ lib, stdenv, fetchpatch, fetchzip, writeText, conf ? null }:
 
-stdenv.mkDerivation rec {
+let
+  rev = "8c32909a159aaa9484c82b71f05b7a73321eb491";
+in
+stdenv.mkDerivation {
   pname = "abduco";
-  version = "2020-04-30";
+  version = "unstable-2020-04-30";
 
-  src = fetchFromGitHub {
-    owner = "martanne";
-    repo = "abduco";
-    rev = "8c32909a159aaa9484c82b71f05b7a73321eb491";
-    sha256 = "0a3p8xljhpk7zh203s75248blfir15smgw5jmszwbmdpy4mqzd53";
+  src = fetchzip {
+    urls = [
+      "https://github.com/martanne/abduco/archive/${rev}.tar.gz"
+      "https://git.sr.ht/~martanne/abduco/archive/${rev}.tar.gz"
+    ];
+    hash = "sha256-o7SPK/G31cW/rrLwV3UJOTq6EBHl6AEE/GdeKGlHdyg=";
   };
 
   preBuild = lib.optionalString (conf != null)
@@ -17,6 +21,32 @@ stdenv.mkDerivation rec {
   installFlags = [ "install-completion" ];
   CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
 
+  patches = [
+    # https://github.com/martanne/abduco/pull/22
+    (fetchpatch {
+      name = "use-XDG-directory-scheme-by-default";
+      url = "https://github.com/martanne/abduco/commit/0e9a00312ac9777edcb169122144762e3611287b.patch";
+      sha256 = "sha256-4NkIflbRkUpS5XTM/fxBaELpvlZ4S5lecRa8jk0XC9g=";
+    })
+
+    # “fix bug where attaching to dead session won't give underlying exit code”
+    # https://github.com/martanne/abduco/pull/45
+    (fetchpatch {
+      name = "exit-code-when-attaching-to-dead-session";
+      url = "https://github.com/martanne/abduco/commit/972ca8ab949ee342569dbd66b47cc4a17b28247b.patch";
+      sha256 = "sha256-8hios0iKYDOmt6Bi5NNM9elTflGudnG2xgPF1pSkHI0=";
+    })
+
+    # “report pixel sizes to child processes that use ioctl(0, TIOCGWINSZ, ...)”
+    # used for kitty & other terminals that display images
+    # https://github.com/martanne/abduco/pull/62
+    (fetchpatch {
+      name = "report-pixel-sizes-to-child-processes";
+      url = "https://github.com/martanne/abduco/commit/a1e222308119b3251f00b42e1ddff74a385d4249.patch";
+      sha256 = "sha256-eiF0A4IqJrrvXxjBYtltuVNpxQDv/iQPO+K7Y8hWBGg=";
+    })
+  ];
+
   meta = with lib; {
     homepage = "http://brain-dump.org/projects/abduco";
     license = licenses.isc;
diff --git a/nixpkgs/pkgs/tools/misc/archi/default.nix b/nixpkgs/pkgs/tools/misc/archi/default.nix
index cbd22971dfcc..e5850f8871e7 100644
--- a/nixpkgs/pkgs/tools/misc/archi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/archi/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       url = "https://www.archimatetool.com/downloads/archi_5.php?/${version}/Archi-Mac-Silicon-${version}.dmg";
       hash = "sha256-Jg+tl902OWSm4GHxF7QXbRU5nxX4/5q6LTGubHWQ08E=";
     };
-  }.${stdenv.hostPlatform.system} or (throw "Unsupported system");
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   buildInputs = [
     libsecret
diff --git a/nixpkgs/pkgs/tools/misc/bat-extras/default.nix b/nixpkgs/pkgs/tools/misc/bat-extras/default.nix
index 0863ebde2afa..67fa9dcf4e90 100644
--- a/nixpkgs/pkgs/tools/misc/bat-extras/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bat-extras/default.nix
@@ -28,13 +28,13 @@ let
   # This includes the complete source so the per-script derivations can run the tests.
   core = stdenv.mkDerivation rec {
     pname   = "bat-extras";
-    version = "2023.06.15";
+    version = "2024.02.12";
 
     src = fetchFromGitHub {
       owner  = "eth-p";
-      repo   = pname;
+      repo   = "bat-extras";
       rev    = "v${version}";
-      sha256 = "sha256-dBrnUIG3EuEgDZBbzrspP5UReiUKjrMSYIe5QtZ0/tU=";
+      hash   = "sha256-EPDGQkwwxYFTJPJtwSkVrpBf27+VlMd/nqEkJupHlyA=";
       fetchSubmodules = true;
     };
 
@@ -94,7 +94,7 @@ let
     name: # the name of the script
     dependencies: # the tools we need to prefix onto PATH
     stdenv.mkDerivation {
-      pname = "${core.pname}-${name}";
+      pname = name;
       inherit (core) version;
 
       src = core;
@@ -133,7 +133,9 @@ let
       # We already patched
       dontPatchShebangs = true;
 
-      inherit (core) meta;
+      meta = core.meta // {
+        mainProgram = name;
+      };
     };
   optionalDep = cond: dep:
     assert cond -> dep != null;
diff --git a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
index 268b877629d8..41caab53e2fe 100644
--- a/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.223";
+  version = "1.226";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "sha256-T9tj91mLB3PNRmJs75ohGjvBt1C5wotQr++MCdmyWBI=";
+    sha256 = "sha256-MLNLeCgBzp2awt9ZJM2kaCWQhRnC6sSwm1fHlv3EwHo=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/nixpkgs/pkgs/tools/misc/brltty/default.nix b/nixpkgs/pkgs/tools/misc/brltty/default.nix
index f9b3ec3f73ac..7b677aff70ac 100644
--- a/nixpkgs/pkgs/tools/misc/brltty/default.nix
+++ b/nixpkgs/pkgs/tools/misc/brltty/default.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "brltty";
-  version = "6.3";
+  version = "6.6";
 
   src = fetchurl {
     url = "https://brltty.app/archive/${pname}-${version}.tar.gz";
-    sha256 = "14psxwlvgyi2fj1zh8rfykyjcjaya8xa7yg574bxd8y8n49n8hvb";
+    sha256 = "E+j2mb8UTuGx6PkAOt03hQkvf1XvEHxJEuPBT2zMpPw=";
   };
 
-  nativeBuildInputs = [ pkg-config python3.pkgs.cython tcl ];
+  nativeBuildInputs = [ pkg-config python3.pkgs.cython python3.pkgs.setuptools tcl ];
   buildInputs = [ bluez ]
     ++ lib.optional alsaSupport alsa-lib
     ++ lib.optional systemdSupport systemd;
@@ -37,10 +37,12 @@ stdenv.mkDerivation rec {
     "SYSTEMD_UNITS_DIRECTORY=$(out)/lib/systemd/system"
     "SYSTEMD_USERS_DIRECTORY=$(out)/lib/sysusers.d"
     "SYSTEMD_FILES_DIRECTORY=$(out)/lib/tmpfiles.d"
-    "UDEV_LIBRARY_DIRECTORY=$(out)/lib/udev"
+    "UDEV_PARENT_LOCATION=$(out)/lib"
+    "INSTALL_COMMANDS_DIRECTORY=$(out)/libexec/brltty"
     "UDEV_RULES_TYPE=all"
     "POLKIT_POLICY_DIR=$(out)/share/polkit-1/actions"
     "POLKIT_RULE_DIR=$(out)/share/polkit-1/rules.d"
+    "TCL_DIR=$(out)/lib"
   ];
   configureFlags = [
     "--with-writable-directory=/run/brltty"
@@ -69,7 +71,6 @@ stdenv.mkDerivation rec {
     (
       cd $out/lib
       substituteInPlace systemd/system/brltty@.service \
-        --replace '/usr/lib' "$out/lib" \
         --replace '/sbin/modprobe' '${kmod}/bin/modprobe'
       # Ensure the systemd-wrapper script uses the correct path to the brltty binary
       sed "/^Environment=\"BRLTTY_EXECUTABLE_ARGUMENTS.*/a Environment=\"BRLTTY_EXECUTABLE_PATH=$out/bin/brltty\"" -i systemd/system/brltty@.service
@@ -77,11 +78,14 @@ stdenv.mkDerivation rec {
         --replace '/usr/bin/true' '${coreutils}/bin/true'
       substituteInPlace udev/rules.d/90-brltty-uinput.rules \
         --replace '/usr/bin/setfacl' '${acl}/bin/setfacl'
-      substituteInPlace tmpfiles.d/brltty.conf \
+      substituteInPlace udev/rules.d/90-brltty-hid.rules \
+        --replace '/usr/bin/setfacl' '${acl}/bin/setfacl'
+       substituteInPlace tmpfiles.d/brltty.conf \
         --replace "$out/etc" '/etc'
 
       # Remove unused commands from udev rules
-      sed '/initctl/d' -i udev/rules.d/90-brltty-device.rules
+      sed '/initctl/d' -i udev/rules.d/90-brltty-usb-generic.rules
+      sed '/initctl/d' -i udev/rules.d/90-brltty-usb-customized.rules
       # Remove pulse-access group from systemd unit and sysusers
       substituteInPlace systemd/system/brltty@.service \
         --replace 'SupplementaryGroups=pulse-access' '# SupplementaryGroups=pulse-access'
diff --git a/nixpkgs/pkgs/tools/misc/cfonts/default.nix b/nixpkgs/pkgs/tools/misc/cfonts/default.nix
index 244360c99d8b..12d9687c59be 100644
--- a/nixpkgs/pkgs/tools/misc/cfonts/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cfonts/default.nix
@@ -1,14 +1,14 @@
 { lib, rustPlatform, fetchCrate }:
 rustPlatform.buildRustPackage rec {
   pname = "cfonts";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-bnjrbcQ2MMZsM0rWWk+xkA58rSREHWfSvlGDAHKIPAw=";
+    hash = "sha256-ixxDlHjx5Bi6Wl/kzJ/R7d+jgTDCAti25TV1RlXRPus=";
   };
 
-  cargoHash = "sha256-8NgEsFglt+JyP5D61mT4Z8SIbPATJskiEpn8tWy+yjk=";
+  cargoHash = "sha256-NltvO5ACf8TsE9CgC1jAXx04/T/kHSZLxXJ4zhA5DGo=";
 
   meta = with lib; {
     homepage = "https://github.com/dominikwilkowski/cfonts";
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index 52bbd78bef63..e1360c96ae49 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.46.0";
+  version = "2.46.1";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    hash = "sha256-A296BsUyZFgVUsoplkBJ1Xrr21VRjcRSqjk2JU44ilg=";
+    hash = "sha256-RMhYgmNN2SPBU33ZzR6ZK7ElVlT9ZM/8QOS7k/NOBSY=";
   };
 
-  vendorHash = "sha256-EGc4l02by6K0j0RZZ7YuGkpJ8UaZ4cYcxBd+ECHdwq4=";
+  vendorHash = "sha256-C3aRKluMIZ6X7VHwC1xitG/gLJE8qcbbskxsgsXvzuA=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/cloc/default.nix b/nixpkgs/pkgs/tools/misc/cloc/default.nix
index fdd932634c5e..14c7b2133c71 100644
--- a/nixpkgs/pkgs/tools/misc/cloc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloc/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }:
 
-let version = "1.98";
+let version = "2.00";
 in stdenv.mkDerivation {
   pname = "cloc";
   inherit version;
@@ -9,7 +9,7 @@ in stdenv.mkDerivation {
     owner = "AlDanial";
     repo = "cloc";
     rev = "v${version}";
-    sha256 = "sha256-OTzIzLgE9sdbHZUSARSbVrxD95dW8gPiM8tvMvqm1Bg=";
+    sha256 = "sha256-GZvrsVuPLg09yOlDmdHNZ0QLXoftgSYMFkn6PLf1/Pw=";
   };
 
   setSourceRoot = ''
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index dea8deaffd67..625f86c1da47 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -79,11 +79,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "254";
+  version = "257";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-LsRJUFrWMo9OiKL0/yBokAxY0b4gMGVRHyWMS1zhDjE=";
+    hash = "sha256-Fejp4i0uzsK9+9JBVPsE1AdDwshtRlxpxPfJdqRQQH4=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/tools/misc/diskscan/default.nix b/nixpkgs/pkgs/tools/misc/diskscan/default.nix
index 141822d22ddb..7471089f45f9 100644
--- a/nixpkgs/pkgs/tools/misc/diskscan/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diskscan/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "diskscan";
-  version = "0.20";
+  version = "0.21";
 
   src = fetchFromGitHub {
     owner  = "baruch";
     repo   = "diskscan";
     rev    = version;
-    sha256 = "1s2df082yrnr3gqnapdsqz0yd0ld75bin37g0rms83ymzkh4ysgv";
+    sha256 = "sha256-2y1ncPg9OKxqImBN5O5kXrTsuwZ/Cg/8exS7lWyZY1c=";
   };
 
   buildInputs = [ ncurses zlib ];
diff --git a/nixpkgs/pkgs/tools/misc/dvtm/unstable.nix b/nixpkgs/pkgs/tools/misc/dvtm/unstable.nix
index 65e62be07497..4008407f28fa 100644
--- a/nixpkgs/pkgs/tools/misc/dvtm/unstable.nix
+++ b/nixpkgs/pkgs/tools/misc/dvtm/unstable.nix
@@ -1,13 +1,18 @@
-{callPackage, fetchFromGitHub, fetchpatch}:
+{ callPackage, fetchpatch, fetchzip }:
+
+let
+  rev = "7bcf43f8dbd5c4a67ec573a1248114caa75fa3c2";
+in
 callPackage ./dvtm.nix {
   pname = "dvtm-unstable";
-  version = "2018-03-31";
+  version = "unstable-2021-03-09";
 
-  src = fetchFromGitHub {
-    owner = "martanne";
-    repo = "dvtm";
-    rev = "311a8c0c28296f8f87fb63349e0f3254c7481e14";
-    sha256 = "0pyxjkaxh8n97kccnmd3p98vi9h8mcfy5lswzqiplsxmxxmlbpx2";
+  src = fetchzip {
+    urls = [
+      "https://github.com/martanne/dvtm/archive/${rev}.tar.gz"
+      "https://git.sr.ht/~martanne/dvtm/archive/${rev}.tar.gz"
+    ];
+    hash = "sha256-UtkNsW0mvLfbPSAIIZ1yvX9xzIDtiBeXCjhN2R8JhDc=";
   };
 
   patches = [
@@ -18,13 +23,5 @@ callPackage ./dvtm.nix {
       url = "https://github.com/martanne/dvtm/commit/1f1ed664d64603f3f1ce1388571227dc723901b2.patch";
       sha256 = "14j3kks7b1v6qq12442v1da3h7khp02rp0vi0qrz0rfgkg1zilpb";
     })
-
-    # https://github.com/martanne/dvtm/pull/86
-    # Fix buffer corruption when title is updated
-    (fetchpatch {
-      name = "fix-buffer-corruption-on-title-update";
-      url = "https://github.com/martanne/dvtm/commit/be6c3f8f615daeab214d484e6fff22e19631a0d1.patch";
-      sha256 = "1wdrl3sg815lhs22fwbc4w5dn4ifpdgl7v1kqfnhg752av4im7h7";
-    })
   ];
 }
diff --git a/nixpkgs/pkgs/tools/misc/gh-dash/default.nix b/nixpkgs/pkgs/tools/misc/gh-dash/default.nix
index 487f219f6ecc..e56d53ec8ed0 100644
--- a/nixpkgs/pkgs/tools/misc/gh-dash/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gh-dash/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "3.13.0";
+  version = "3.13.1";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    hash = "sha256-JbKDzRpOaiieTPs8rbFUApcPvkYEF0Gq8AHboALCEcA=";
+    hash = "sha256-zITrwGklEcC3QsPGfx+ymVu1QBg96Q9aJIXR2x2e2LQ=";
   };
 
-  vendorHash = "sha256-+H94d7OBYQ8vh302xyj3LeCuU78OBv7l0nxC9Cg07uk=";
+  vendorHash = "sha256-jCf9FWAhZK5hTzyy8N4r5dfUYTgESmsn8iKxCccgWiM=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/misc/goaccess/default.nix b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
index ac13cb69370a..774cc18ad801 100644
--- a/nixpkgs/pkgs/tools/misc/goaccess/default.nix
+++ b/nixpkgs/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.8.1";
+  version = "1.9.1";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GTW7ECSHjFBw8O2NewvMgC+3aheusupDlSBTxZriHHc=";
+    sha256 = "sha256-vfsMyUnhwsI/tY7d/UpDCyG6DmYzWn9qTi2C0icTPpg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/graylog/5.0.nix b/nixpkgs/pkgs/tools/misc/graylog/5.0.nix
deleted file mode 100644
index 40b296010cd4..000000000000
--- a/nixpkgs/pkgs/tools/misc/graylog/5.0.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ callPackage, lib, ...}:
-let
-  buildGraylog = callPackage ./graylog.nix {};
-in buildGraylog {
-  version = "5.0.8";
-  sha256 = "sha256-TGJm2PGoXaLhlzyfSWKScEJxEGObTVttpEEaczsXHiA=";
-  maintainers = [ lib.maintainers.f2k1de ];
-  license = lib.licenses.sspl;
-}
diff --git a/nixpkgs/pkgs/tools/misc/hdf5/default.nix b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
index 89702cfd1a7f..ba00746c08f9 100644
--- a/nixpkgs/pkgs/tools/misc/hdf5/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hdf5/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional cppSupport "-DHDF5_BUILD_CPP_LIB=ON"
     ++ lib.optional fortranSupport "-DHDF5_BUILD_FORTRAN=ON"
     ++ lib.optional szipSupport "-DHDF5_ENABLE_SZIP_SUPPORT=ON"
-    ++ lib.optionals mpiSupport [ "-DHDF5_ENABLE_PARALLEL=ON" "CC=${mpi}/bin/mpicc" ]
+    ++ lib.optionals mpiSupport [ "-DHDF5_ENABLE_PARALLEL=ON" ]
     ++ lib.optional enableShared "-DBUILD_SHARED_LIBS=ON"
     ++ lib.optional javaSupport "-DHDF5_BUILD_JAVA=ON"
     ++ lib.optional usev110Api "-DDEFAULT_API_VERSION=v110"
diff --git a/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix b/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
index b00df9c90273..e320b0355e4e 100644
--- a/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
+++ b/nixpkgs/pkgs/tools/misc/hyperledger-fabric/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "hyperledger-fabric";
-  version = "2.5.1";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     owner = "hyperledger";
     repo = "fabric";
     rev = "v${version}";
-    hash = "sha256-hZAGLSf/hez2pvfmaZJRD5b7GW3+exUXgLXUd2Awvpg=";
+    hash = "sha256-Ev9a+d15kr6apKyGR5xTa/2I3cByyPSTW2Y+HAQk9GU=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/misc/leanify/default.nix b/nixpkgs/pkgs/tools/misc/leanify/default.nix
index 8a6cfbe33827..a8a7625bcbec 100644
--- a/nixpkgs/pkgs/tools/misc/leanify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/leanify/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "leanify";
-  version = "unstable-2022-12-04";
+  version = "unstable-2023-10-19";
 
   src = fetchFromGitHub {
     owner = "JayXon";
     repo = "Leanify";
-    rev = "7847668ac5bf0df1d940b674bc8b907bd1b37044";
-    hash = "sha256-KxVV7AW9sEfH4YTPDfeJk7fMMGh0eSkECXM/Mv9XqBA=";
+    rev = "5511415b02a7669f5fe9b454e5705e8328ab0359";
+    hash = "sha256-eOp/SOynh0HUz62Ki5ADRk7FjQY0Gh55ydVnO0MCXAA=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/tools/misc/mise/default.nix b/nixpkgs/pkgs/tools/misc/mise/default.nix
index c26ffdb8b801..b0d48fd6fcfb 100644
--- a/nixpkgs/pkgs/tools/misc/mise/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mise/default.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2024.2.5";
+  version = "2024.2.16";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-dShe8h1aRDZPwzCKAhJag5xfylYqWJuCiB9A4afV8g0=";
+    hash = "sha256-SrLgLYe0jeVzLoJZahqVrlYDd2FJ3G1uxrHx2BKjbHM=";
   };
 
-  cargoHash = "sha256-3yV26WZid5e7H9UsAaKLjSvL1MSQ+M5BjBR5Mt701Io=";
+  cargoHash = "sha256-G/NR53u+rX9Q7tJVYi1tlXQL+gxK7wfqN3IpkoXzTRk=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
diff --git a/nixpkgs/pkgs/tools/misc/moar/default.nix b/nixpkgs/pkgs/tools/misc/moar/default.nix
index 9d34700d13f6..0fa109f4cda8 100644
--- a/nixpkgs/pkgs/tools/misc/moar/default.nix
+++ b/nixpkgs/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.23.4";
+  version = "1.23.6";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-gttx2AQMSaU7JE/UwZsUwsgTbUmkQKvCzlt+TuTGP0A=";
+    hash = "sha256-WWMFyDLNi5XUEWi33Sav69i41icbp7NTzFy+Y+ImGNU=";
   };
 
   vendorHash = "sha256-1u/2OlMX2FuZaxWnpU4n5r/4xKe+rK++GoCJiSq/BdE=";
diff --git a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
index 0109ac49cc26..7e3185b489d9 100644
--- a/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix
@@ -33,7 +33,7 @@ xorg,
 }:
 
 let
-  version = "1.42.0";
+  version = "1.42.1";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -82,7 +82,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "sha256-Y4ULngeAFljjQG9KTWhU/fIEXBUqbEx2qSakYYnOJoQ=";
+        sha256 = "sha256-URxzoMb03p8UTLbn8tmtaSQQV27hYRSwlTiacF/48F8=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/tools/misc/notify/default.nix b/nixpkgs/pkgs/tools/misc/notify/default.nix
index be7c6daf8e47..efbbd7ce6eb3 100644
--- a/nixpkgs/pkgs/tools/misc/notify/default.nix
+++ b/nixpkgs/pkgs/tools/misc/notify/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "notify";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CXzxrY8G7Zh5xafuiIY9SsPkrYoSkMt15v2KLZBs0Jo=";
+    sha256 = "sha256-9oakHqDhOZyqzlVqHPjTsG2f780DABt0+JRckmkWW64=";
   };
 
-  vendorHash = "sha256-tjaVEmOd/MJnDcS/mhvw95ZZ8giaUDTdDTyAMbjTckM=";
+  vendorHash = "sha256-/FJECY1x9nMqOIzqdN6T+vdi9qjjY0YAoqvVNf0kN3s=";
 
   modRoot = ".";
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/misc/ollama/cmake-include.patch b/nixpkgs/pkgs/tools/misc/ollama/cmake-include.patch
new file mode 100644
index 000000000000..013ed66bf91c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ollama/cmake-include.patch
@@ -0,0 +1,7 @@
+--- a/llm/llama.cpp/examples/server/CMakeLists.txt
++++ b/llm/llama.cpp/examples/server/CMakeLists.txt
+@@ -11,3 +11,4 @@
+     TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ws2_32)
+ endif()
+ target_compile_features(${TARGET} PRIVATE cxx_std_11)
++include (../../../ext_server/CMakeLists.txt) # ollama
diff --git a/nixpkgs/pkgs/tools/misc/ollama/default.nix b/nixpkgs/pkgs/tools/misc/ollama/default.nix
index 2176582e1fe9..6ce576644d49 100644
--- a/nixpkgs/pkgs/tools/misc/ollama/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ollama/default.nix
@@ -1,50 +1,182 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, llama-cpp
+, fetchpatch
+, buildEnv
+, linkFarm
+, overrideCC
+, makeWrapper
+, stdenv
+
+, cmake
+, gcc12
+, clblast
+, libdrm
+, rocmPackages
+, cudaPackages
+, linuxPackages
+, darwin
+
+, enableRocm ? false
+, enableCuda ? false
 }:
 
-buildGoModule rec {
+let
   pname = "ollama";
-  version = "0.1.17";
+  version = "0.1.24";
+
+  warnIfNotLinux = warning: (lib.warnIfNot stdenv.isLinux warning stdenv.isLinux);
+  gpuWarning = api: "building ollama with ${api} is only supported on linux; falling back to cpu";
+  rocmIsEnabled = enableRocm && (warnIfNotLinux (gpuWarning "rocm"));
+  cudaIsEnabled = enableCuda && (warnIfNotLinux (gpuWarning "cuda"));
+  enableLinuxGpu = rocmIsEnabled || cudaIsEnabled;
+
+  appleFrameworks = darwin.apple_sdk_11_0.frameworks;
+  metalFrameworks = [
+    appleFrameworks.Accelerate
+    appleFrameworks.Metal
+    appleFrameworks.MetalKit
+    appleFrameworks.MetalPerformanceShaders
+  ];
 
   src = fetchFromGitHub {
     owner = "jmorganca";
     repo = "ollama";
     rev = "v${version}";
-    hash = "sha256-eXukNn9Lu1hF19GEi7S7a96qktsjnmXCUp38gw+3MzY=";
+    hash = "sha256-GwZA1QUH8I8m2bGToIcMMaB5MBnioQP4+n1SauUJYP8=";
+    fetchSubmodules = true;
+  };
+  preparePatch = patch: hash: fetchpatch {
+    url = "file://${src}/llm/patches/${patch}";
+    inherit hash;
+    stripLen = 1;
+    extraPrefix = "llm/llama.cpp/";
   };
+  inherit (lib) licenses platforms maintainers;
+  ollama = {
+    inherit pname version src;
+    vendorHash = "sha256-wXRbfnkbeXPTOalm7SFLvHQ9j46S/yLNbFy+OWNSamQ=";
 
-  patches = [
-    # disable passing the deprecated gqa flag to llama-cpp-server
-    # see https://github.com/ggerganov/llama.cpp/issues/2975
-    ./disable-gqa.patch
+    nativeBuildInputs = [
+      cmake
+    ] ++ lib.optionals enableLinuxGpu [
+      makeWrapper
+    ] ++ lib.optionals stdenv.isDarwin
+      metalFrameworks;
 
-    # replace the call to the bundled llama-cpp-server with the one in the llama-cpp package
-    ./set-llamacpp-path.patch
-  ];
+    patches = [
+      # remove uses of `git` in the `go generate` script
+      # instead use `patch` where necessary
+      ./remove-git.patch
+      # replace a hardcoded use of `g++` with `$CXX`
+      ./replace-gcc.patch
 
-  postPatch = ''
-    substituteInPlace llm/llama.go \
-      --subst-var-by llamaCppServer "${llama-cpp}/bin/llama-cpp-server"
-    substituteInPlace server/routes_test.go --replace "0.0.0" "${version}"
-  '';
+      # ollama's patches of llama.cpp's example server
+      # `ollama/llm/generate/gen_common.sh` -> "apply temporary patches until fix is upstream"
+      (preparePatch "01-cache.diff" "sha256-PC4yN98hFvK+PEITiDihL8ki3bJuLVXrAm0CGf8GPJE=")
+      (preparePatch "02-shutdown.diff" "sha256-cElAp9Z9exxN964vB/YFuBhZoEcoAwGSMCnbh+l/V4Q=")
+    ];
+    postPatch = ''
+      # use a patch from the nix store in the `go generate` script
+      substituteInPlace llm/generate/gen_common.sh \
+        --subst-var-by cmakeIncludePatch '${./cmake-include.patch}'
+      # `ollama/llm/generate/gen_common.sh` -> "avoid duplicate main symbols when we link into the cgo binary"
+      substituteInPlace llm/llama.cpp/examples/server/server.cpp \
+        --replace-fail 'int main(' 'int __main('
+      # replace inaccurate version number with actual release version
+      substituteInPlace version/version.go --replace-fail 0.0.0 '${version}'
+    '';
+    preBuild = ''
+      export OLLAMA_SKIP_PATCHING=true
+      # build llama.cpp libraries for ollama
+      go generate ./...
+    '';
 
-  vendorHash = "sha256-yGdCsTJtvdwHw21v0Ot6I8gxtccAvNzZyRu1T0vaius=";
+    ldflags = [
+      "-s"
+      "-w"
+      "-X=github.com/jmorganca/ollama/version.Version=${version}"
+      "-X=github.com/jmorganca/ollama/server.mode=release"
+    ];
 
-  ldflags = [
-    "-s"
-    "-w"
-    "-X=github.com/jmorganca/ollama/version.Version=${version}"
-    "-X=github.com/jmorganca/ollama/server.mode=release"
-  ];
+    meta = {
+      description = "Get up and running with large language models locally";
+      homepage = "https://github.com/jmorganca/ollama";
+      license = licenses.mit;
+      platforms = platforms.unix;
+      mainProgram = "ollama";
+      maintainers = with maintainers; [ abysssol dit7ya elohmeier ];
+    };
+  };
 
-  meta = with lib; {
-    description = "Get up and running with large language models locally";
-    homepage = "https://github.com/jmorganca/ollama";
-    license = licenses.mit;
-    mainProgram = "ollama";
-    maintainers = with maintainers; [ dit7ya elohmeier ];
-    platforms = platforms.unix;
+
+  rocmClang = linkFarm "rocm-clang" {
+    llvm = rocmPackages.llvm.clang;
+  };
+  rocmPath = buildEnv {
+    name = "rocm-path";
+    paths = [
+      rocmPackages.rocm-device-libs
+      rocmClang
+    ];
+  };
+  rocmVars = {
+    ROCM_PATH = rocmPath;
+    CLBlast_DIR = "${clblast}/lib/cmake/CLBlast";
   };
-}
+
+  cudaToolkit = buildEnv {
+    name = "cuda-toolkit";
+    ignoreCollisions = true; # FIXME: find a cleaner way to do this without ignoring collisions
+    paths = [
+      cudaPackages.cudatoolkit
+      cudaPackages.cuda_cudart
+    ];
+  };
+  cudaVars = {
+    CUDA_LIB_DIR = "${cudaToolkit}/lib";
+    CUDACXX = "${cudaToolkit}/bin/nvcc";
+    CUDAToolkit_ROOT = cudaToolkit;
+  };
+
+  linuxGpuLibs = {
+    buildInputs = lib.optionals rocmIsEnabled [
+      rocmPackages.clr
+      rocmPackages.hipblas
+      rocmPackages.rocblas
+      rocmPackages.rocsolver
+      rocmPackages.rocsparse
+      libdrm
+    ] ++ lib.optionals cudaIsEnabled [
+      cudaPackages.cuda_cudart
+    ];
+  };
+
+  appleGpuLibs = { buildInputs = metalFrameworks; };
+
+  runtimeLibs = lib.optionals rocmIsEnabled [
+    rocmPackages.rocm-smi
+  ] ++ lib.optionals cudaIsEnabled [
+    linuxPackages.nvidia_x11
+  ];
+  runtimeLibWrapper = {
+    postFixup = ''
+      mv "$out/bin/${pname}" "$out/bin/.${pname}-unwrapped"
+      makeWrapper "$out/bin/.${pname}-unwrapped" "$out/bin/${pname}" \
+        --suffix LD_LIBRARY_PATH : '${lib.makeLibraryPath runtimeLibs}'
+    '';
+  };
+
+  goBuild =
+    if cudaIsEnabled then
+      buildGoModule.override { stdenv = overrideCC stdenv gcc12; }
+    else
+      buildGoModule;
+in
+goBuild (ollama
+  // (lib.optionalAttrs rocmIsEnabled rocmVars)
+  // (lib.optionalAttrs cudaIsEnabled cudaVars)
+  // (lib.optionalAttrs enableLinuxGpu linuxGpuLibs)
+  // (lib.optionalAttrs enableLinuxGpu runtimeLibWrapper)
+
+  // (lib.optionalAttrs stdenv.isDarwin appleGpuLibs))
diff --git a/nixpkgs/pkgs/tools/misc/ollama/disable-gqa.patch b/nixpkgs/pkgs/tools/misc/ollama/disable-gqa.patch
deleted file mode 100644
index b54440cd3d53..000000000000
--- a/nixpkgs/pkgs/tools/misc/ollama/disable-gqa.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/llm/llama.go b/llm/llama.go
-index 0b460e9..b79e04a 100644
---- a/llm/llama.go
-+++ b/llm/llama.go
-@@ -299,10 +299,6 @@ func newLlama(model string, adapters []string, runners []ModelRunner, numLayers
- 		params = append(params, "--n-gpu-layers", fmt.Sprintf("%d", numGPU))
- 	}
- 
--	if opts.NumGQA > 0 {
--		params = append(params, "--gqa", fmt.Sprintf("%d", opts.NumGQA))
--	}
--
- 	if len(adapters) > 0 {
- 		// TODO: applying multiple adapters is not supported by the llama.cpp server yet
- 		params = append(params, "--lora", adapters[0])
diff --git a/nixpkgs/pkgs/tools/misc/ollama/remove-git.patch b/nixpkgs/pkgs/tools/misc/ollama/remove-git.patch
new file mode 100644
index 000000000000..9ef4487051ff
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ollama/remove-git.patch
@@ -0,0 +1,21 @@
+--- a/llm/generate/gen_common.sh
++++ b/llm/generate/gen_common.sh
+@@ -60,6 +60,9 @@
+ }
+ 
+ apply_patches() {
++    patch -i '@cmakeIncludePatch@' "${LLAMACPP_DIR}/examples/server/CMakeLists.txt"
++    return
++    
+     # Wire up our CMakefile
+     if ! grep ollama ${LLAMACPP_DIR}/examples/server/CMakeLists.txt; then
+         echo 'include (../../../ext_server/CMakeLists.txt) # ollama' >>${LLAMACPP_DIR}/examples/server/CMakeLists.txt
+@@ -113,6 +116,8 @@
+ 
+ # Keep the local tree clean after we're done with the build
+ cleanup() {
++    return
++
+     (cd ${LLAMACPP_DIR}/examples/server/ && git checkout CMakeLists.txt server.cpp)
+ 
+     if [ -n "$(ls -A ../patches/*.diff)" ]; then
diff --git a/nixpkgs/pkgs/tools/misc/ollama/replace-gcc.patch b/nixpkgs/pkgs/tools/misc/ollama/replace-gcc.patch
new file mode 100644
index 000000000000..2ebd24e1dc3f
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ollama/replace-gcc.patch
@@ -0,0 +1,11 @@
+--- a/llm/generate/gen_common.sh
++++ b/llm/generate/gen_common.sh
+@@ -86,7 +89,7 @@
+     cmake -S ${LLAMACPP_DIR} -B ${BUILD_DIR} ${CMAKE_DEFS}
+     cmake --build ${BUILD_DIR} ${CMAKE_TARGETS} -j8
+     mkdir -p ${BUILD_DIR}/lib/
+-    g++ -fPIC -g -shared -o ${BUILD_DIR}/lib/libext_server.${LIB_EXT} \
++    $CXX -fPIC -g -shared -o ${BUILD_DIR}/lib/libext_server.${LIB_EXT} \
+         ${GCC_ARCH} \
+         ${WHOLE_ARCHIVE} ${BUILD_DIR}/examples/server/libext_server.a ${NO_WHOLE_ARCHIVE} \
+         ${BUILD_DIR}/common/libcommon.a \
diff --git a/nixpkgs/pkgs/tools/misc/ollama/set-llamacpp-path.patch b/nixpkgs/pkgs/tools/misc/ollama/set-llamacpp-path.patch
deleted file mode 100644
index e90e552bab45..000000000000
--- a/nixpkgs/pkgs/tools/misc/ollama/set-llamacpp-path.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/llm/llama.go b/llm/llama.go
-index f23d5d8..6563550 100644
---- a/llm/llama.go
-+++ b/llm/llama.go
-@@ -25,7 +25,6 @@ import (
- 	"github.com/jmorganca/ollama/api"
- )
- 
--//go:embed llama.cpp/*/build/*/bin/*
- var llamaCppEmbed embed.FS
- 
- type ModelRunner struct {
-@@ -33,6 +32,10 @@ type ModelRunner struct {
- }
- 
- func chooseRunners(workDir, runnerType string) []ModelRunner {
-+	return []ModelRunner{
-+		{Path: "@llamaCppServer@"},
-+	}
-+
- 	buildPath := path.Join("llama.cpp", runnerType, "build")
- 	var runners []string
- 
diff --git a/nixpkgs/pkgs/tools/misc/pfetch-rs/default.nix b/nixpkgs/pkgs/tools/misc/pfetch-rs/default.nix
index 88f832db82a9..7f90a595f469 100644
--- a/nixpkgs/pkgs/tools/misc/pfetch-rs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pfetch-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pfetch-rs";
-  version = "2.8.1";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "Gobidev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/eVtI+Uvb0r1af20MlQU8sDSNf6YyIBvFKSVp47JMfQ=";
+    hash = "sha256-7Udop3542L2l9EYQZntk/qW0GUQeYfoDHQQJ8j39krQ=";
   };
 
-  cargoHash = "sha256-eEBtrMF6dl5TzOZHnqjX4Yz2SfknGM2bzJcQWQIctPc=";
+  cargoHash = "sha256-gT5JjBsrGngfg77od566z+EOiH8KdARGYhTLOnOhWj4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.AppKit
diff --git a/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix b/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix
index 5e3e4623c4cf..e0fa8b00db56 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl, nixosTests }:
 
 let
-  version = "1.2024.1";
+  version = "1.2024.3";
 in
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
   inherit version;
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
-    sha256 = "sha256-Wx6q/1ApsM0WcXIHjvHqr2CUMsN3puAu+REgTKescVk=";
+    sha256 = "sha256-tuRtQl6tbjrgew6s6OV4EeY+GUo3DPVJJyuoD2vfnoo=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/misc/plantuml/default.nix b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
index 79e742989cac..a237bb88c64b 100644
--- a/nixpkgs/pkgs/tools/misc/plantuml/default.nix
+++ b/nixpkgs/pkgs/tools/misc/plantuml/default.nix
@@ -1,15 +1,23 @@
-{ lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
+{ lib
+, stdenvNoCC
+, fetchurl
+, makeBinaryWrapper
+, jre
+, graphviz
+}:
 
-stdenv.mkDerivation rec {
-  version = "1.2024.1";
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "plantuml";
+  version = "1.2024.3";
 
   src = fetchurl {
-    url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
-    sha256 = "sha256-lXo8eU6IX4JQFfhNUM2h6fi0HkShiwLsjMRTNbwLYwk=";
+    url = "https://github.com/plantuml/plantuml/releases/download/v${finalAttrs.version}/plantuml-pdf-${finalAttrs.version}.jar";
+    hash = "sha256-zgpqXawlIdNgSxiOjtk7XLOnrVVD09T5qE9K8LD4TtY=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeBinaryWrapper
+  ];
 
   buildCommand = ''
     install -Dm644 $src $out/lib/plantuml.jar
@@ -19,18 +27,22 @@ stdenv.mkDerivation rec {
       --argv0 plantuml \
       --set GRAPHVIZ_DOT ${graphviz}/bin/dot \
       --add-flags "-jar $out/lib/plantuml.jar"
+  '';
 
+  doInstallCheck = true;
+  postCheckInstall = ''
     $out/bin/plantuml -help
+    $out/bin/plantuml -testdot
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Draw UML diagrams using a simple and human readable text description";
     homepage = "https://plantuml.com/";
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
     # "plantuml -license" says GPLv3 or later
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ bjornfor Mogria ];
-    platforms = platforms.unix;
+    license = lib.licenses.gpl3Plus;
     mainProgram = "plantuml";
+    maintainers = with lib.maintainers; [ bjornfor Mogria ];
+    platforms = lib.platforms.unix;
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
   };
-}
+})
diff --git a/nixpkgs/pkgs/tools/misc/pre-commit/default.nix b/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
index 11d76add076f..c52c453dd8be 100644
--- a/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pre-commit/default.nix
@@ -18,7 +18,7 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "3.6.0";
+  version = "3.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -26,8 +26,8 @@ buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "pre-commit";
     repo = "pre-commit";
-    rev = "v${version}";
-    hash = "sha256-OTduVg8uhMdXs2gQ7KaMVOO1zQK4m489W9SU7PWIvcM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UmQ1GehoMDXKEXo8wgPLxTDbtObk7YC2cfk1yNqesJM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/tools/misc/remote-exec/default.nix b/nixpkgs/pkgs/tools/misc/remote-exec/default.nix
index 557bde26c465..979f0f53bae0 100644
--- a/nixpkgs/pkgs/tools/misc/remote-exec/default.nix
+++ b/nixpkgs/pkgs/tools/misc/remote-exec/default.nix
@@ -1,9 +1,10 @@
 { lib
 , stdenv
+, fetchpatch
 , fetchFromGitHub
 , buildPythonApplication
 , click
-, pydantic_1
+, pydantic
 , toml
 , watchdog
 , pytestCheckHook
@@ -12,15 +13,24 @@
 
 buildPythonApplication rec {
   pname = "remote-exec";
-  version = "1.13.2";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     owner = "remote-cli";
     repo = "remote";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xaxkN6XukV9HiLYehwVTBZB8bUyjgpfg+pPfAGrOkgo=";
+    hash = "sha256-rsboHJLOHXnpXtsVsvsfKsav8mSbloaq2lzZnU2pw6c=";
   };
 
+  patches = [
+    # relax install requirements
+    # https://github.com/remote-cli/remote/pull/60.patch
+    (fetchpatch {
+      url = "https://github.com/remote-cli/remote/commit/a2073c30c7f576ad7ceb46e39f996de8d06bf186.patch";
+      hash = "sha256-As0j+yY6LamhOCGFzvjUQoXFv46BN/tRBpvIS7r6DaI=";
+    })
+  ];
+
   # remove legacy endpoints, we use --multi now
   postPatch = ''
     substituteInPlace setup.py \
@@ -29,7 +39,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [
     click
-    pydantic_1
+    pydantic
     toml
     watchdog
   ];
@@ -58,6 +68,7 @@ buildPythonApplication rec {
   meta = with lib; {
     description = "Work with remote hosts seamlessly via rsync and ssh";
     homepage = "https://github.com/remote-cli/remote";
+    changelog = "https://github.com/remote-cli/remote/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ pbsds ];
   };
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/default.nix b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
index 5d1d31b35ac1..c3e87328c1fb 100644
--- a/nixpkgs/pkgs/tools/misc/sharedown/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
@@ -6,7 +6,7 @@
 , libsecret
 , python3
 , pkg-config
-, nodePackages
+, nodejs
 , electron
 , makeWrapper
 , makeDesktopItem
@@ -63,7 +63,6 @@ stdenvNoCC.mkDerivation rec {
             nativeBuildInputs = [
               python3
               pkg-config
-              nodePackages.node-gyp
             ];
             buildInputs = [
               libsecret
@@ -76,6 +75,15 @@ stdenvNoCC.mkDerivation rec {
           };
         };
 
+        # needed for node-gyp, copied from https://nixos.org/manual/nixpkgs/unstable/#javascript-yarn2nix-pitfalls
+        # permalink: https://github.com/NixOS/nixpkgs/blob/d176767c02cb2a048e766215078c3d231e666091/doc/languages-frameworks/javascript.section.md#pitfalls-javascript-yarn2nix-pitfalls
+        preBuild = ''
+          mkdir -p $HOME/.node-gyp/${nodejs.version}
+          echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
+          ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
+          export npm_config_nodedir=${nodejs}
+        '';
+
         packageJSON = "${src}/package.json";
         yarnLock = ./yarn.lock;
 
diff --git a/nixpkgs/pkgs/tools/misc/steampipe/default.nix b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
index dd767f4bd275..ecfa780cc532 100644
--- a/nixpkgs/pkgs/tools/misc/steampipe/default.nix
+++ b/nixpkgs/pkgs/tools/misc/steampipe/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.21.6";
+  version = "0.21.7";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    hash = "sha256-k9RStWmj5hTONYVzgOfzo4bkXu1Oxg0OyabeINVw1P8=";
+    hash = "sha256-puaqAMUnlQNOQmxhJCKQKTBypTjdModijtIpPBZsIXY=";
   };
 
   vendorHash = "sha256-yS2FiTnK65LAY3tGSlMy0LMg6691tS/9yQ4w7HrW/pw=";
diff --git a/nixpkgs/pkgs/tools/misc/tagref/default.nix b/nixpkgs/pkgs/tools/misc/tagref/default.nix
index 928945f4daa6..5220c27055b9 100644
--- a/nixpkgs/pkgs/tools/misc/tagref/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tagref/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tagref";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchFromGitHub {
     owner = "stepchowfun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wjCehdCZR/97nD4HsTZCiVZZb2GQaOTfyU72Ez5kjW8=";
+    sha256 = "sha256-IeGWaPoq4AJAQjsIHa7dWNuIBB3JZr6WBzh63+xRYco=";
   };
 
-  cargoHash = "sha256-Wis6C4Wlz7NScFeKXWODA8BKmRtL7adaYxPVR13wNsg=";
+  cargoHash = "sha256-9Xkbj1PS+mlcB/f9rvcMBGUCCngkcfom6M6Zvp7Dgrg=";
 
   meta = with lib; {
     description = "Manage cross-references in your code";
diff --git a/nixpkgs/pkgs/tools/misc/tmux-sessionizer/default.nix b/nixpkgs/pkgs/tools/misc/tmux-sessionizer/default.nix
index 53aeb3982fea..11dedf8e599d 100644
--- a/nixpkgs/pkgs/tools/misc/tmux-sessionizer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux-sessionizer/default.nix
@@ -10,7 +10,8 @@
 }: let
 
   name = "tmux-sessionizer";
-  version = "0.3.2";
+  # v0.4.1 is not released yet, but v0.4.0 has version discrepancy between Cargo.toml and Cargo.lock and does not build
+  version = "0.4.0-unstable-2024-02-06";
 
 in rustPlatform.buildRustPackage {
   pname = name;
@@ -19,16 +20,20 @@ in rustPlatform.buildRustPackage {
   src = fetchFromGitHub {
     owner = "jrmoulton";
     repo = name;
-    rev = "v${version}";
-    hash = "sha256-8RQ67v2Cw681zikxYnq0Pb2ybh26w8mUbHKAC4TjYWA=";
+    rev = "79ab43a4087aa7e4e865cab6a181dfd24c6e7a90";
+    hash = "sha256-gzbCeNZML2ygIy/H3uT9apahqI+4hmrTwgXvcZq4Xog=";
   };
 
-  cargoHash = "sha256-ZOWoUBna8U0A/sYwXMf4Z7Vi+KqM7VinWhmtO8Q0HtU=";
+  cargoHash = "sha256-Zvr2OH2pKtX60EApUSWhBV4cACMLl750UOiS3nN3J3Q=";
 
   passthru.tests.version = testers.testVersion {
     package = tmux-sessionizer;
+    version = "0.4.1";
   };
 
+  # Needed to get openssl-sys to use pkg-config.
+  OPENSSL_NO_VENDOR = 1;
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix b/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix
index 30ecf358388f..47fce699fb0c 100644
--- a/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux-xpanes/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux-xpanes";
-  version = "4.1.4";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "greymd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kS8VrD0CT350Y1ql6ta47nXdEzmuqEpFJeXRw58yMGc=";
+    sha256 = "sha256-PF2K2A49c5djQqSO7ZLFyBwPZaJRK58qZTFpY7n+Z0w=";
   };
 
   buildInputs = [ openssl perl ];
diff --git a/nixpkgs/pkgs/tools/misc/tmux/CVE-2022-47016.patch b/nixpkgs/pkgs/tools/misc/tmux/CVE-2022-47016.patch
deleted file mode 100644
index e6ced830421e..000000000000
--- a/nixpkgs/pkgs/tools/misc/tmux/CVE-2022-47016.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 01f753df5dc269cf054b94c3f210aa880872d602 Mon Sep 17 00:00:00 2001
-From: nicm <nicm>
-Date: Wed, 24 Aug 2022 07:22:30 +0000
-Subject: [PATCH] Check for NULL returns from bufferevent_new.
-
-(cherry picked from commit e86752820993a00e3d28350cbe46878ba95d9012)
----
- control.c | 4 ++++
- file.c    | 4 ++++
- window.c  | 2 ++
- 3 files changed, 10 insertions(+)
-
-diff --git a/control.c b/control.c
-index 73286e00..6183a006 100644
---- a/control.c
-+++ b/control.c
-@@ -775,6 +775,8 @@ control_start(struct client *c)
- 
- 	cs->read_event = bufferevent_new(c->fd, control_read_callback,
- 	    control_write_callback, control_error_callback, c);
-+	if (cs->read_event == NULL)
-+		fatalx("out of memory");
- 	bufferevent_enable(cs->read_event, EV_READ);
- 
- 	if (c->flags & CLIENT_CONTROLCONTROL)
-@@ -782,6 +784,8 @@ control_start(struct client *c)
- 	else {
- 		cs->write_event = bufferevent_new(c->out_fd, NULL,
- 		    control_write_callback, control_error_callback, c);
-+		if (cs->write_event == NULL)
-+			fatalx("out of memory");
- 	}
- 	bufferevent_setwatermark(cs->write_event, EV_WRITE, CONTROL_BUFFER_LOW,
- 	    0);
-diff --git a/file.c b/file.c
-index b2f155fe..04a907bf 100644
---- a/file.c
-+++ b/file.c
-@@ -585,6 +585,8 @@ file_write_open(struct client_files *files, struct tmuxpeer *peer,
- 
- 	cf->event = bufferevent_new(cf->fd, NULL, file_write_callback,
- 	    file_write_error_callback, cf);
-+	if (cf->event == NULL)
-+		fatalx("out of memory");
- 	bufferevent_enable(cf->event, EV_WRITE);
- 	goto reply;
- 
-@@ -744,6 +746,8 @@ file_read_open(struct client_files *files, struct tmuxpeer *peer,
- 
- 	cf->event = bufferevent_new(cf->fd, file_read_callback, NULL,
- 	    file_read_error_callback, cf);
-+	if (cf->event == NULL)
-+		fatalx("out of memory");
- 	bufferevent_enable(cf->event, EV_READ);
- 	return;
- 
-diff --git a/window.c b/window.c
-index c0cd9bdc..294a1f08 100644
---- a/window.c
-+++ b/window.c
-@@ -1042,6 +1042,8 @@ window_pane_set_event(struct window_pane *wp)
- 
- 	wp->event = bufferevent_new(wp->fd, window_pane_read_callback,
- 	    NULL, window_pane_error_callback, wp);
-+	if (wp->event == NULL)
-+		fatalx("out of memory");
- 	wp->ictx = input_init(wp, wp->event, &wp->palette);
- 
- 	bufferevent_enable(wp->event, EV_READ|EV_WRITE);
--- 
-2.39.1
-
diff --git a/nixpkgs/pkgs/tools/misc/tmux/default.nix b/nixpkgs/pkgs/tools/misc/tmux/default.nix
index 3cf6172891bd..a39f65d702ac 100644
--- a/nixpkgs/pkgs/tools/misc/tmux/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tmux/default.nix
@@ -10,6 +10,7 @@
 , withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
 , withUtf8proc ? true, utf8proc # gets Unicode updates faster than glibc
 , withUtempter ? stdenv.isLinux && !stdenv.hostPlatform.isMusl, libutempter
+, withSixel ? true
 }:
 
 let
@@ -25,7 +26,7 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tmux";
-  version = "3.3a";
+  version = "3.4";
 
   outputs = [ "out" "man" ];
 
@@ -33,13 +34,9 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "tmux";
     repo = "tmux";
     rev = finalAttrs.version;
-    sha256 = "sha256-SygHxTe7N4y7SdzKixPFQvqRRL57Fm8zWYHfTpW+yVY=";
+    hash = "sha256-RX3RZ0Mcyda7C7im1r4QgUxTnp95nfpGgQ2HRxr0s64=";
   };
 
-  patches = [
-    ./CVE-2022-47016.patch
-  ];
-
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
@@ -57,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
     "--sysconfdir=/etc"
     "--localstatedir=/var"
   ] ++ lib.optionals withSystemd [ "--enable-systemd" ]
+  ++ lib.optionals withSixel [ "--enable-sixel" ]
   ++ lib.optionals withUtempter [ "--enable-utempter" ]
   ++ lib.optionals withUtf8proc [ "--enable-utf8proc" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/ttyplot/default.nix b/nixpkgs/pkgs/tools/misc/ttyplot/default.nix
index a1dbf674e98e..fc53f0b8997a 100644
--- a/nixpkgs/pkgs/tools/misc/ttyplot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ttyplot/default.nix
@@ -11,8 +11,11 @@ stdenv.mkDerivation rec {
     hash = "sha256-HBJvTDhp1CA96gRU2Q+lMxcFaZ+txXcmNb8Cg1BFiH4=";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     pkg-config
+  ];
+
+  buildInputs = [
     ncurses
   ];
 
@@ -22,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "A simple general purpose plotting utility for tty with data input from stdin";
     homepage = "https://github.com/tenox7/ttyplot";
     license = licenses.asl20;
+    platforms = platforms.all;
     maintainers = with maintainers; [ lassulus ];
     mainProgram = "ttyplot";
   };
diff --git a/nixpkgs/pkgs/tools/misc/ugs/default.nix b/nixpkgs/pkgs/tools/misc/ugs/default.nix
index 9364b1f871ea..99fba8bcfe93 100644
--- a/nixpkgs/pkgs/tools/misc/ugs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ugs/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ugs";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchzip {
     url = "https://github.com/winder/Universal-G-Code-Sender/releases/download/v${version}/UniversalGcodeSender.zip";
-    hash = "sha256-2WGRHdxmGa2b8ca20xNJoA0NAY9a0pngzdf94ROfirk=";
+    hash = "sha256-StXEtDJ3UjTWgiQQ8HQtPcUENQPosdHis1eo81Jf96M=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/misc/uwufetch/default.nix b/nixpkgs/pkgs/tools/misc/uwufetch/default.nix
index a7241e6488be..d0ae239d9ec2 100644
--- a/nixpkgs/pkgs/tools/misc/uwufetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/uwufetch/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/TheDarkBug/uwufetch";
     license = licenses.gpl3Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     mainProgram = "uwufetch";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/vector/Cargo.lock b/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
index 193099d1733d..41193aa9a014 100644
--- a/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
+++ b/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
@@ -66,7 +66,7 @@ version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "once_cell",
  "version_check",
 ]
@@ -78,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 dependencies = [
  "cfg-if",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "once_cell",
  "version_check",
  "zerocopy",
@@ -179,9 +179,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -227,9 +227,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.76"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "apache-avro"
@@ -247,8 +247,8 @@ dependencies = [
  "regex-lite",
  "serde",
  "serde_json",
- "strum",
- "strum_macros",
+ "strum 0.25.0",
+ "strum_macros 0.25.3",
  "thiserror",
  "typed-builder 0.16.2",
  "uuid",
@@ -323,17 +323,6 @@ dependencies = [
 
 [[package]]
 name = "assert-json-diff"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4259cbe96513d2f1073027a259fc2ca917feb3026a5a8d984e3628e490255cc0"
-dependencies = [
- "extend",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "assert-json-diff"
 version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
@@ -344,9 +333,9 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.12"
+version = "2.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6"
+checksum = "00ad3f3a942eee60335ab4342358c161ee296829e0d16ff42fc1d6cb07815467"
 dependencies = [
  "anstyle",
  "bstr 1.9.0",
@@ -369,23 +358,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "async-compat"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f68a707c1feb095d8c07f8a65b9f506b117d30af431cab89374357de7c11461b"
-dependencies = [
- "futures-core",
- "futures-io",
- "once_cell",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
 name = "async-compression"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
+checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
 dependencies = [
  "flate2",
  "futures-core",
@@ -450,9 +426,9 @@ dependencies = [
 
 [[package]]
 name = "async-graphql"
-version = "6.0.11"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "298a5d587d6e6fdb271bf56af2dc325a80eb291fd0fc979146584b9a05494a8c"
+checksum = "b16926f97f683ff3b47b035cc79622f3d6a374730b07a5d9051e81e88b5f1904"
 dependencies = [
  "async-graphql-derive",
  "async-graphql-parser",
@@ -464,8 +440,8 @@ dependencies = [
  "chrono",
  "fnv",
  "futures-util",
- "http 0.2.9",
- "indexmap 2.1.0",
+ "http 1.0.0",
+ "indexmap 2.2.3",
  "mime",
  "multer",
  "num-traits",
@@ -475,32 +451,32 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
- "static_assertions",
+ "static_assertions_next",
  "thiserror",
 ]
 
 [[package]]
 name = "async-graphql-derive"
-version = "6.0.11"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7f329c7eb9b646a72f70c9c4b516c70867d356ec46cb00dcac8ad343fd006b0"
+checksum = "a6a7349168b79030e3172a620f4f0e0062268a954604e41475eff082380fe505"
 dependencies = [
  "Inflector",
  "async-graphql-parser",
- "darling 0.20.3",
+ "darling 0.20.5",
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "strum",
- "syn 2.0.46",
+ "strum 0.25.0",
+ "syn 2.0.48",
  "thiserror",
 ]
 
 [[package]]
 name = "async-graphql-parser"
-version = "6.0.11"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6139181845757fd6a73fbb8839f3d036d7150b798db0e9bb3c6e83cdd65bd53b"
+checksum = "58fdc0adf9f53c2b65bb0ff5170cba1912299f248d0e48266f444b6f005deb1d"
 dependencies = [
  "async-graphql-value",
  "pest",
@@ -510,24 +486,25 @@ dependencies = [
 
 [[package]]
 name = "async-graphql-value"
-version = "6.0.11"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "323a5143f5bdd2030f45e3f2e0c821c9b1d36e79cf382129c64299c50a7f3750"
+checksum = "7cf4d4e86208f4f9b81a503943c07e6e7f29ad3505e6c9ce6431fe64dc241681"
 dependencies = [
  "bytes 1.5.0",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "serde",
  "serde_json",
 ]
 
 [[package]]
 name = "async-graphql-warp"
-version = "6.0.11"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa68237ec9f2190cae295122ba45612b992658fbc372d142c6c6981cc70a9eac"
+checksum = "d906b817c1499c0a814ea62b2a9cc03726e50d694d7e8cad3fcc1b24e8b62883"
 dependencies = [
  "async-graphql",
  "futures-util",
+ "http 0.2.9",
  "serde_json",
  "warp",
 ]
@@ -565,7 +542,7 @@ dependencies = [
  "futures-lite",
  "parking",
  "polling 3.3.0",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "slab",
  "tracing 0.1.40",
  "waker-fn",
@@ -598,7 +575,7 @@ version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dbc1f1a75fd07f0f517322d103211f12d757658e91676def9a2e688774656c60"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "futures 0.3.30",
  "http 0.2.9",
@@ -608,8 +585,8 @@ dependencies = [
  "once_cell",
  "rand 0.8.5",
  "regex",
- "ring 0.17.5",
- "rustls 0.21.8",
+ "ring",
+ "rustls",
  "rustls-native-certs",
  "rustls-pemfile",
  "rustls-webpki",
@@ -621,7 +598,7 @@ dependencies = [
  "time",
  "tokio",
  "tokio-retry",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
  "tracing 0.1.40",
  "url",
 ]
@@ -650,7 +627,7 @@ dependencies = [
  "cfg-if",
  "event-listener 3.0.1",
  "futures-lite",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
 
@@ -672,9 +649,9 @@ version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -689,7 +666,7 @@ dependencies = [
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -712,9 +689,9 @@ version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -725,13 +702,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
 
 [[package]]
 name = "async-trait"
-version = "0.1.75"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -759,352 +736,309 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "aws-config"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80c950a809d39bc9480207cb1cfc879ace88ea7e3a4392a8e9999e45d6e5692e"
 dependencies = [
  "aws-credential-types",
  "aws-http",
- "aws-sdk-sso",
+ "aws-runtime",
  "aws-sdk-sts",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
- "hex",
+ "fastrand 2.0.1",
  "http 0.2.9",
  "hyper",
- "ring 0.16.20",
  "time",
  "tokio",
- "tower",
  "tracing 0.1.40",
- "zeroize",
 ]
 
 [[package]]
 name = "aws-credential-types"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d56f287a9e65e4914bfedb5b22c056b65e4c232fca512d5509a9df36386759f"
 dependencies = [
  "aws-smithy-async",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
- "tokio",
- "tracing 0.1.40",
  "zeroize",
 ]
 
 [[package]]
-name = "aws-endpoint"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-http"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "361c4310fdce94328cc2d1ca0c8a48c13f43009c61d3367585685a50ca8c66b6"
 dependencies = [
- "aws-smithy-http",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
+ "bytes 1.5.0",
  "http 0.2.9",
- "regex",
+ "http-body",
+ "pin-project-lite",
  "tracing 0.1.40",
 ]
 
 [[package]]
-name = "aws-http"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-runtime"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ed7ef604a15fd0d4d9e43701295161ea6b504b63c44990ead352afea2bc15e9"
 dependencies = [
  "aws-credential-types",
+ "aws-http",
+ "aws-sigv4",
+ "aws-smithy-async",
+ "aws-smithy-eventstream",
  "aws-smithy-http",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
- "bytes 1.5.0",
+ "fastrand 2.0.1",
  "http 0.2.9",
- "http-body",
- "lazy_static",
  "percent-encoding",
- "pin-project-lite",
  "tracing 0.1.40",
+ "uuid",
 ]
 
 [[package]]
 name = "aws-sdk-cloudwatch"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "043546afc3d129d3d487c2fd121aabe4208300293f541a5c8adffdc919a603b0"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
  "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-cloudwatchlogs"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67a5bcf460e098cf49292d216fe520b28a5d9c8dae10db0ff9a97bb2c95dd386"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
+ "fastrand 2.0.1",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-elasticsearch"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3090fdd5bf46d4097af7f560cb7305e1ef6f3f743bb7a4531246113e823309b0"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-firehose"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8789c5a2d55cb3ed24d8f0635498c53e0f6413c0f9839e9cb54e130e96a81b53"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-kinesis"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbcd6e94c56f1b4881b405c0953a82d50e110311100cf2355e50fdab79d73f44"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-s3"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "859a207781360445504b89e790aebf682d80883280aa0d9b6e2e67740a733147"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-sigv4",
  "aws-smithy-async",
  "aws-smithy-checksums",
- "aws-smithy-client",
  "aws-smithy-eventstream",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
  "bytes 1.5.0",
- "bytes-utils",
- "fastrand 1.9.0",
  "http 0.2.9",
  "http-body",
  "once_cell",
  "percent-encoding",
  "regex",
- "tokio-stream",
- "tower",
  "tracing 0.1.40",
  "url",
 ]
 
 [[package]]
 name = "aws-sdk-sns"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48bff824fe28888cc4ce6acb52ba8e5cd9f4f38fc5bd1bb40d916e3000e17b57"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
  "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-sqs"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
-dependencies = [
- "aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
- "aws-smithy-async",
- "aws-smithy-client",
- "aws-smithy-http",
- "aws-smithy-http-tower",
- "aws-smithy-json",
- "aws-smithy-query",
- "aws-smithy-types",
- "aws-smithy-xml",
- "aws-types",
- "bytes 1.5.0",
- "http 0.2.9",
- "regex",
- "tokio-stream",
- "tower",
-]
-
-[[package]]
-name = "aws-sdk-sso"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5736d9255f65f36df4f0812665c33fa36042b96192e6bba843ef5fcc75187cd8"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tokio-stream",
- "tower",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sdk-sts"
-version = "0.24.0"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5700da387716ccfc30b27f44b008f457e1baca5b0f05b6b95455778005e3432a"
 dependencies = [
  "aws-credential-types",
- "aws-endpoint",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
  "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-smithy-xml",
  "aws-types",
- "bytes 1.5.0",
  "http 0.2.9",
  "regex",
- "tower",
- "tracing 0.1.40",
-]
-
-[[package]]
-name = "aws-sig-auth"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
-dependencies = [
- "aws-credential-types",
- "aws-sigv4",
- "aws-smithy-eventstream",
- "aws-smithy-http",
- "aws-types",
- "http 0.2.9",
  "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-sigv4"
-version = "0.54.2"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c371c6b0ac54d4605eb6f016624fb5c7c2925d315fdf600ac1bf21b19d5f1742"
 dependencies = [
+ "aws-credential-types",
  "aws-smithy-eventstream",
  "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
  "bytes 1.5.0",
  "form_urlencoded",
  "hex",
  "hmac",
  "http 0.2.9",
+ "http 1.0.0",
  "once_cell",
  "percent-encoding",
- "regex",
  "sha2",
  "time",
  "tracing 0.1.40",
@@ -1112,19 +1046,20 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-async"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "426a5bc369ca7c8d3686439e46edc727f397a47ab3696b13f3ae8c81b3b36132"
 dependencies = [
  "futures-util",
  "pin-project-lite",
  "tokio",
- "tokio-stream",
 ]
 
 [[package]]
 name = "aws-smithy-checksums"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5a373ec01aede3dd066ec018c1bc4e8f5dd11b2c11c59c8eef1a5c68101f397"
 dependencies = [
  "aws-smithy-http",
  "aws-smithy-types",
@@ -1142,34 +1077,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "aws-smithy-client"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
-dependencies = [
- "aws-smithy-async",
- "aws-smithy-http",
- "aws-smithy-http-tower",
- "aws-smithy-protocol-test",
- "aws-smithy-types",
- "bytes 1.5.0",
- "fastrand 1.9.0",
- "http 0.2.9",
- "http-body",
- "hyper",
- "hyper-rustls 0.23.2",
- "hyper-tls",
- "lazy_static",
- "pin-project-lite",
- "serde",
- "tokio",
- "tower",
- "tracing 0.1.40",
-]
-
-[[package]]
 name = "aws-smithy-eventstream"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "0.60.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858"
 dependencies = [
  "aws-smithy-types",
  "bytes 1.5.0",
@@ -1178,17 +1089,18 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-http"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "0.60.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85d6a0619f7b67183067fa3b558f94f90753da2df8c04aeb7336d673f804b0b8"
 dependencies = [
  "aws-smithy-eventstream",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "bytes 1.5.0",
  "bytes-utils",
  "futures-core",
  "http 0.2.9",
  "http-body",
- "hyper",
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
@@ -1197,80 +1109,103 @@ dependencies = [
 ]
 
 [[package]]
-name = "aws-smithy-http-tower"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-smithy-json"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a46dd338dc9576d6a6a5b5a19bd678dcad018ececee11cf28ecd7588bd1a55c"
 dependencies = [
- "aws-smithy-http",
  "aws-smithy-types",
- "bytes 1.5.0",
- "http 0.2.9",
- "http-body",
- "pin-project-lite",
- "tower",
- "tracing 0.1.40",
 ]
 
 [[package]]
-name = "aws-smithy-json"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-smithy-query"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "feb5b8c7a86d4b6399169670723b7e6f21a39fc833a30f5c5a2f997608178129"
 dependencies = [
  "aws-smithy-types",
+ "urlencoding",
 ]
 
 [[package]]
-name = "aws-smithy-protocol-test"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-smithy-runtime"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4cb6b3afa5fc9825a75675975dcc3e21764b5476bc91dbc63df4ea3d30a576e"
 dependencies = [
- "assert-json-diff 1.1.0",
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "bytes 1.5.0",
+ "fastrand 2.0.1",
+ "h2 0.3.24",
  "http 0.2.9",
- "pretty_assertions",
- "regex",
- "roxmltree 0.14.1",
- "serde_json",
- "thiserror",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "rustls",
+ "tokio",
+ "tracing 0.1.40",
 ]
 
 [[package]]
-name = "aws-smithy-query"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+name = "aws-smithy-runtime-api"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23165433e80c04e8c09cee66d171292ae7234bae05fa9d5636e33095eae416b2"
 dependencies = [
+ "aws-smithy-async",
  "aws-smithy-types",
- "urlencoding",
+ "bytes 1.5.0",
+ "http 0.2.9",
+ "pin-project-lite",
+ "tokio",
+ "tracing 0.1.40",
 ]
 
 [[package]]
 name = "aws-smithy-types"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c94a5bec34850b92c9a054dad57b95c1d47f25125f55973e19f6ad788f0381ff"
 dependencies = [
  "base64-simd",
+ "bytes 1.5.0",
+ "bytes-utils",
+ "futures-core",
+ "http 0.2.9",
+ "http-body",
  "itoa",
  "num-integer",
+ "pin-project-lite",
+ "pin-utils",
  "ryu",
+ "serde",
  "time",
 ]
 
 [[package]]
 name = "aws-smithy-xml"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "0.60.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ec40d74a67fd395bc3f6b4ccbdf1543672622d905ef3f979689aea5b730cb95"
 dependencies = [
  "xmlparser",
 ]
 
 [[package]]
 name = "aws-types"
-version = "0.54.1"
-source = "git+https://github.com/vectordotdev/aws-sdk-rust?rev=3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670#3d6aefb7fcfced5fc2a7e761a87e4ddbda1ee670"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "789bbe008e65636fe1b6dbbb374c40c8960d1232b96af5ff4aec349f9c4accf4"
 dependencies = [
  "aws-credential-types",
  "aws-smithy-async",
- "aws-smithy-client",
- "aws-smithy-http",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "http 0.2.9",
  "rustc_version 0.4.0",
@@ -1330,11 +1265,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ccd63c07d1fbfb3d4543d7ea800941bf5a30db1911b9b9e4db3b2c4210a434f"
 dependencies = [
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "dyn-clone",
  "futures 0.3.30",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "http-types",
  "log",
  "paste",
@@ -1419,7 +1354,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "instant",
  "rand 0.8.5",
 ]
@@ -1477,17 +1412,18 @@ checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64-simd"
-version = "0.7.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5"
+checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
 dependencies = [
- "simd-abstraction",
+ "outref",
+ "vsimd",
 ]
 
 [[package]]
@@ -1530,7 +1466,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9990737a6d5740ff51cdbbc0f0503015cb30c390f6623968281eb214a520cfc0"
 dependencies = [
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1594,7 +1530,7 @@ version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f03db470b3c0213c47e978da93200259a1eb4dae2e5512cba9955e2b540a6fc6"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bollard-stubs",
  "bytes 1.5.0",
  "chrono",
@@ -1604,11 +1540,11 @@ dependencies = [
  "home",
  "http 0.2.9",
  "hyper",
- "hyper-rustls 0.24.2",
+ "hyper-rustls",
  "hyperlocal",
  "log",
  "pin-project-lite",
- "rustls 0.21.8",
+ "rustls",
  "rustls-native-certs",
  "rustls-pemfile",
  "rustls-webpki",
@@ -1634,7 +1570,7 @@ dependencies = [
  "chrono",
  "serde",
  "serde_repr",
- "serde_with 3.4.0",
+ "serde_with 3.6.1",
 ]
 
 [[package]]
@@ -1655,9 +1591,9 @@ checksum = "f404657a7ea7b5249e36808dff544bc88a28f26e0ac40009f674b7a009d14be3"
 dependencies = [
  "once_cell",
  "proc-macro-crate 2.0.0",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
  "syn_derive",
 ]
 
@@ -1700,7 +1636,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
 dependencies = [
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.4",
  "serde",
 ]
 
@@ -1727,7 +1663,7 @@ version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -1781,9 +1717,9 @@ checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
 
 [[package]]
 name = "cached"
-version = "0.46.1"
+version = "0.48.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7c8c50262271cdf5abc979a5f76515c234e764fa025d1ba4862c0f0bcda0e95"
+checksum = "355face540df58778b96814c48abb3c2ed67c4878a8087ab1819c1fedeec505f"
 dependencies = [
  "ahash 0.8.6",
  "cached_proc_macro",
@@ -1796,30 +1732,30 @@ dependencies = [
 
 [[package]]
 name = "cached_proc_macro"
-version = "0.18.1"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c878c71c2821aa2058722038a59a67583a4240524687c6028571c9b395ded61f"
+checksum = "9d52f526f7cbc875b296856ca8c964a9f6290556922c303a8a3883e3c676e6a1"
 dependencies = [
  "darling 0.14.4",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "cached_proc_macro_types"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a4f925191b4367301851c6d99b09890311d74b0d43f274c0b34c86d308a3663"
+checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0"
 
 [[package]]
 name = "cargo_toml"
-version = "0.17.2"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719"
+checksum = "3dc9f7a067415ab5058020f04c60ec7b557084dbec0e021217bbabc7a8d38d14"
 dependencies = [
  "serde",
- "toml 0.8.8",
+ "toml",
 ]
 
 [[package]]
@@ -1835,6 +1771,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
+name = "castaway"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
+
+[[package]]
 name = "cbc"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1916,9 +1861,9 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1926,7 +1871,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -2037,9 +1982,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.12"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -2047,19 +1992,19 @@ dependencies = [
 
 [[package]]
 name = "clap-verbosity-flag"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c90e95e5bd4e8ac34fa6f37c774b0c6f8ed06ea90c79931fd448fcf941a9767"
+checksum = "b57f73ca21b17a0352944b9bb61803b6007bd911b6cccfef7153f7f0600ac495"
 dependencies = [
- "clap 4.4.12",
+ "clap 4.4.18",
  "log",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.4.12"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
 dependencies = [
  "anstream",
  "anstyle",
@@ -2070,11 +2015,11 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.4.6"
+version = "4.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97aeaa95557bd02f23fbb662f981670c3d20c5a26e69f7354b28f57092437fcd"
+checksum = "abb745187d7f4d76267b37485a65e0149edd0e91a4cfcdd3f27524ad86cee9f3"
 dependencies = [
- "clap 4.4.12",
+ "clap 4.4.18",
 ]
 
 [[package]]
@@ -2084,9 +2029,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2136,7 +2081,7 @@ dependencies = [
  "serde_json",
  "similar-asserts",
  "smallvec",
- "snafu",
+ "snafu 0.7.5",
  "syslog_loose",
  "tokio",
  "tokio-util",
@@ -2211,7 +2156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4f6af96839c04974cf381e427792a99913ecf3f7bfb348f153dc8a8e5f9803ad"
 dependencies = [
  "anyhow",
- "base64 0.21.5",
+ "base64 0.21.7",
  "hex",
  "lazy_static",
  "num_enum 0.6.1",
@@ -2219,6 +2164,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "compact_str"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f"
+dependencies = [
+ "castaway",
+ "cfg-if",
+ "itoa",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
 name = "concurrent-queue"
 version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2229,14 +2187,14 @@ dependencies = [
 
 [[package]]
 name = "confy"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e37668cb35145dcfaa1931a5f37fde375eeae8068b4c0d2f289da28a270b2d2c"
+checksum = "15d296c475c6ed4093824c28e222420831d27577aaaf0a1163a3b7fc35b248a5"
 dependencies = [
- "directories 4.0.1",
+ "directories",
  "serde",
  "thiserror",
- "toml 0.5.11",
+ "toml",
 ]
 
 [[package]]
@@ -2261,7 +2219,7 @@ dependencies = [
  "futures-core",
  "prost 0.12.3",
  "prost-types 0.12.3",
- "tonic 0.10.2",
+ "tonic",
  "tracing-core 0.1.32",
 ]
 
@@ -2283,7 +2241,7 @@ dependencies = [
  "thread_local",
  "tokio",
  "tokio-stream",
- "tonic 0.10.2",
+ "tonic",
  "tracing 0.1.40",
  "tracing-core 0.1.32",
  "tracing-subscriber",
@@ -2398,7 +2356,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.4.12",
+ "clap 4.4.18",
  "criterion-plot",
  "futures 0.3.30",
  "is-terminal",
@@ -2463,22 +2421,18 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crossterm"
@@ -2603,9 +2557,9 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2630,12 +2584,12 @@ dependencies = [
 
 [[package]]
 name = "darling"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8"
 dependencies = [
- "darling_core 0.20.3",
- "darling_macro 0.20.3",
+ "darling_core 0.20.5",
+ "darling_macro 0.20.5",
 ]
 
 [[package]]
@@ -2646,7 +2600,7 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "strsim 0.10.0",
  "syn 1.0.109",
@@ -2660,7 +2614,7 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "strsim 0.10.0",
  "syn 1.0.109",
@@ -2668,16 +2622,16 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3"
 dependencies = [
  "fnv",
  "ident_case",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "strsim 0.10.0",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2704,13 +2658,13 @@ dependencies = [
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77"
 dependencies = [
- "darling_core 0.20.3",
+ "darling_core 0.20.5",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2802,7 +2756,7 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -2813,9 +2767,9 @@ version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -2825,7 +2779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
  "convert_case 0.4.0",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "rustc_version 0.4.0",
  "syn 1.0.109",
@@ -2857,20 +2811,11 @@ dependencies = [
 
 [[package]]
 name = "directories"
-version = "4.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210"
-dependencies = [
- "dirs-sys 0.3.7",
-]
-
-[[package]]
-name = "directories"
 version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
 dependencies = [
- "dirs-sys 0.4.1",
+ "dirs-sys",
 ]
 
 [[package]]
@@ -2885,17 +2830,6 @@ dependencies = [
 
 [[package]]
 name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
-name = "dirs-sys"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
@@ -2952,7 +2886,7 @@ dependencies = [
  "anyhow",
  "serde",
  "serde_json",
- "snafu",
+ "snafu 0.7.5",
  "tracing 0.1.40",
  "tracing-subscriber",
  "vector-config",
@@ -3102,7 +3036,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -3114,9 +3048,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3126,9 +3060,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
 dependencies = [
  "once_cell",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3146,9 +3080,9 @@ version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3169,9 +3103,9 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -3263,18 +3197,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
 
 [[package]]
-name = "extend"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f47da3a72ec598d9c8937a7ebca8962a5c7a1f28444e38c2b33c771ba3f55f05"
-dependencies = [
- "proc-macro-error",
- "proc-macro2 1.0.74",
- "quote 1.0.35",
- "syn 1.0.109",
-]
-
-[[package]]
 name = "fakedata"
 version = "0.1.0"
 dependencies = [
@@ -3345,7 +3267,7 @@ dependencies = [
  "flate2",
  "futures 0.3.30",
  "glob",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "libc",
  "quickcheck",
  "scan_fmt",
@@ -3549,9 +3471,9 @@ version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3616,9 +3538,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3728,7 +3650,7 @@ dependencies = [
  "graphql-parser",
  "heck 0.4.1",
  "lazy_static",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "serde",
  "serde_json",
@@ -3742,26 +3664,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00bda454f3d313f909298f626115092d348bc231025699f557b27e248475f48c"
 dependencies = [
  "graphql_client_codegen",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "greptime-proto"
 version = "0.1.0"
-source = "git+https://github.com/GreptimeTeam/greptime-proto.git?tag=0.2.1#4398d20c56d5f7939cc2960789cb1fa7dd18e6fe"
+source = "git+https://github.com/GreptimeTeam/greptime-proto.git?tag=v0.4.1#4306ab645ee55b3f7f2ad3fb7acc5820f967c1aa"
 dependencies = [
- "prost 0.11.9",
+ "prost 0.12.3",
  "serde",
  "serde_json",
- "tonic 0.9.2",
- "tonic-build 0.9.2",
+ "strum 0.25.0",
+ "strum_macros 0.25.3",
+ "tonic",
+ "tonic-build 0.10.2",
 ]
 
 [[package]]
 name = "greptimedb-client"
 version = "0.1.0"
-source = "git+https://github.com/GreptimeTeam/greptimedb-client-rust.git?rev=bc32362adf0df17a41a95bae4221d6d8f1775656#bc32362adf0df17a41a95bae4221d6d8f1775656"
+source = "git+https://github.com/GreptimeTeam/greptimedb-ingester-rust.git?rev=4cb19ec47eeaf634c451d9ae438dac445a8a3dce#4cb19ec47eeaf634c451d9ae438dac445a8a3dce"
 dependencies = [
  "dashmap",
  "enum_dispatch",
@@ -3769,12 +3693,12 @@ dependencies = [
  "futures-util",
  "greptime-proto",
  "parking_lot",
- "prost 0.11.9",
+ "prost 0.12.3",
  "rand 0.8.5",
- "snafu",
+ "snafu 0.7.5",
  "tokio",
  "tokio-stream",
- "tonic 0.9.2",
+ "tonic",
  "tonic-build 0.9.2",
  "tower",
 ]
@@ -3802,9 +3726,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.22"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes 1.5.0",
  "fnv",
@@ -3812,7 +3736,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http 0.2.9",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -3821,9 +3745,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.4.0"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d308f63daf4181410c242d34c11f928dcb3aa105852019e043c9d1f4e4368a"
+checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943"
 dependencies = [
  "bytes 1.5.0",
  "fnv",
@@ -3831,7 +3755,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http 1.0.0",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -3884,7 +3808,7 @@ version = "7.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "byteorder",
  "crossbeam-channel",
  "flate2",
@@ -3898,7 +3822,7 @@ version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "headers-core",
  "http 0.2.9",
@@ -3934,7 +3858,7 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 [[package]]
 name = "heim"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "heim-common",
  "heim-cpu",
@@ -3948,7 +3872,7 @@ dependencies = [
 [[package]]
 name = "heim-common"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "cfg-if",
  "core-foundation",
@@ -3966,7 +3890,7 @@ dependencies = [
 [[package]]
 name = "heim-cpu"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "cfg-if",
  "futures 0.3.30",
@@ -3984,7 +3908,7 @@ dependencies = [
 [[package]]
 name = "heim-disk"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
@@ -4000,7 +3924,7 @@ dependencies = [
 [[package]]
 name = "heim-host"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "cfg-if",
  "heim-common",
@@ -4017,7 +3941,7 @@ dependencies = [
 [[package]]
 name = "heim-memory"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "cfg-if",
  "heim-common",
@@ -4031,7 +3955,7 @@ dependencies = [
 [[package]]
 name = "heim-net"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
@@ -4047,7 +3971,7 @@ dependencies = [
 [[package]]
 name = "heim-runtime"
 version = "0.1.0-rc.1"
-source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#76fa765c7ed7fbe43d1465bf52da6b8d19f2d2a9"
+source = "git+https://github.com/vectordotdev/heim.git?branch=update-nix#a66c44074fb214e2b9355d7c407315f720664b18"
 dependencies = [
  "futures 0.3.30",
  "futures-timer",
@@ -4236,7 +4160,7 @@ dependencies = [
  "futures-channel",
  "futures-core",
  "futures-util",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.9",
  "http-body",
  "httparse",
@@ -4287,21 +4211,6 @@ dependencies = [
 
 [[package]]
 name = "hyper-rustls"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
-dependencies = [
- "http 0.2.9",
- "hyper",
- "log",
- "rustls 0.20.9",
- "rustls-native-certs",
- "tokio",
- "tokio-rustls 0.23.4",
-]
-
-[[package]]
-name = "hyper-rustls"
 version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
@@ -4310,10 +4219,10 @@ dependencies = [
  "http 0.2.9",
  "hyper",
  "log",
- "rustls 0.21.8",
+ "rustls",
  "rustls-native-certs",
  "tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
 ]
 
 [[package]]
@@ -4356,9 +4265,9 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -4427,9 +4336,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.1.0"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
  "equivalent",
  "hashbrown 0.14.3",
@@ -4438,9 +4347,9 @@ dependencies = [
 
 [[package]]
 name = "indicatif"
-version = "0.17.7"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 dependencies = [
  "console",
  "instant",
@@ -4509,9 +4418,9 @@ dependencies = [
 
 [[package]]
 name = "inventory"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8573b2b1fb643a372c73b23f4da5f888677feef3305146d68a539250a9bccc7"
+checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767"
 
 [[package]]
 name = "io-lifetimes"
@@ -4553,9 +4462,9 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "ipnetwork"
-version = "0.18.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4088d739b183546b239688ddbc79891831df421773df95e236daf7867866d355"
+checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e"
 dependencies = [
  "serde",
 ]
@@ -4567,7 +4476,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi 0.3.3",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
 
@@ -4597,9 +4506,9 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
@@ -4677,7 +4586,7 @@ dependencies = [
 name = "k8s-e2e-tests"
 version = "0.1.0"
 dependencies = [
- "env_logger 0.10.1",
+ "env_logger 0.10.2",
  "futures 0.3.30",
  "indoc",
  "k8s-openapi 0.16.0",
@@ -4710,7 +4619,7 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cd990069640f9db34b3b0f7a1afc62a05ffaa3be9b66aa3c313f58346df7f788"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "chrono",
  "http 0.2.9",
@@ -4808,7 +4717,7 @@ dependencies = [
  "secrecy",
  "serde",
  "serde_json",
- "serde_yaml 0.9.29",
+ "serde_yaml 0.9.31",
  "thiserror",
  "tokio",
  "tokio-util",
@@ -4920,9 +4829,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.151"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libflate"
@@ -5046,9 +4955,9 @@ dependencies = [
 
 [[package]]
 name = "lru"
-version = "0.12.1"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
 dependencies = [
  "hashbrown 0.14.3",
 ]
@@ -5064,9 +4973,9 @@ dependencies = [
 
 [[package]]
 name = "lua-src"
-version = "546.0.1"
+version = "546.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c26d4af78361e025a3d03a2b964cd1592aff7495f4d4f7947218c084c6fdca8"
+checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2"
 dependencies = [
  "cc",
 ]
@@ -5173,9 +5082,9 @@ dependencies = [
 
 [[package]]
 name = "maxminddb"
-version = "0.23.0"
+version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe2ba61113f9f7a9f0e87c519682d39c43a6f3f79c2cc42c3ba3dda83b1fa334"
+checksum = "d6087e5d8ea14861bb7c7f573afbc7be3798d3ef0fae87ec4fd9a4de9a127c3c"
 dependencies = [
  "ipnetwork",
  "log",
@@ -5201,9 +5110,9 @@ checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memmap2"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
@@ -5252,9 +5161,9 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5337,9 +5246,9 @@ dependencies = [
 
 [[package]]
 name = "mlua"
-version = "0.9.2"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c81f8ac20188feb5461a73eabb22a34dd09d6d58513535eb587e46bff6ba250"
+checksum = "1d3561f79659ff3afad7b25e2bf2ec21507fe601ebecb7f81088669ec4bfd51e"
 dependencies = [
  "bstr 1.9.0",
  "mlua-sys",
@@ -5351,9 +5260,9 @@ dependencies = [
 
 [[package]]
 name = "mlua-sys"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc29228347d6bdc9e613dc95c69df2817f755434ee0f7f3b27b57755fe238b7f"
+checksum = "2847b42764435201d8cbee1f517edb79c4cca4181877b90047587c89e1b7bce4"
 dependencies = [
  "cc",
  "cfg-if",
@@ -5364,17 +5273,17 @@ dependencies = [
 
 [[package]]
 name = "mlua_derive"
-version = "0.9.0"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f359220f24e6452dd82a3f50d7242d4aab822b5594798048e953d7a9e0314c6"
+checksum = "aaade5f94e5829db58791664ba98f35fea6a3ffebc783becb51dc97c7a21abee"
 dependencies = [
- "itertools 0.11.0",
+ "itertools 0.12.1",
  "once_cell",
  "proc-macro-error",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "regex",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5385,9 +5294,9 @@ checksum = "6c1a54de846c4006b88b1516731cc1f6026eb5dc4bcb186aa071ef66d40524ec"
 
 [[package]]
 name = "mongodb"
-version = "2.8.0"
+version = "2.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c30763a5c6c52079602be44fa360ca3bfacee55fca73f4734aecd23706a7f2"
+checksum = "de59562e5c71656c098d8e966641b31da87b89dc3dcb6e761d3b37dcdfa0cb72"
 dependencies = [
  "async-trait",
  "base64 0.13.1",
@@ -5408,7 +5317,7 @@ dependencies = [
  "percent-encoding",
  "rand 0.8.5",
  "rustc_version_runtime",
- "rustls 0.21.8",
+ "rustls",
  "rustls-pemfile",
  "serde",
  "serde_bytes",
@@ -5421,7 +5330,7 @@ dependencies = [
  "take_mut",
  "thiserror",
  "tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
  "tokio-util",
  "trust-dns-proto",
  "trust-dns-resolver",
@@ -5432,14 +5341,14 @@ dependencies = [
 
 [[package]]
 name = "multer"
-version = "2.1.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2"
+checksum = "a15d522be0a9c3e46fd2632e272d178f56387bdb5c9fbb3a36c649062e9b5219"
 dependencies = [
  "bytes 1.5.0",
  "encoding_rs",
  "futures-util",
- "http 0.2.9",
+ "http 1.0.0",
  "httparse",
  "log",
  "memchr",
@@ -5567,7 +5476,7 @@ dependencies = [
  "data-encoding",
  "ed25519",
  "ed25519-dalek",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "log",
  "rand 0.8.5",
  "signatory",
@@ -5583,7 +5492,7 @@ dependencies = [
  "data-encoding",
  "ed25519",
  "ed25519-dalek",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "log",
  "rand 0.8.5",
  "signatory",
@@ -5757,9 +5666,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
  "libm",
@@ -5795,11 +5704,11 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
- "num_enum_derive 0.7.1",
+ "num_enum_derive 0.7.2",
 ]
 
 [[package]]
@@ -5809,7 +5718,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -5821,21 +5730,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
 dependencies = [
  "proc-macro-crate 1.3.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
  "proc-macro-crate 2.0.0",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5861,7 +5770,7 @@ checksum = "c38841cdd844847e3e7c8d29cef9dcfed8877f8f56f9071f77843ecf3baf937f"
 dependencies = [
  "base64 0.13.1",
  "chrono",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "http 0.2.9",
  "rand 0.8.5",
  "reqwest",
@@ -5942,27 +5851,24 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "opendal"
-version = "0.44.0"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c32736a48ef08a5d2212864e2295c8e54f4d6b352b7f49aa0c29a12fc410ff66"
+checksum = "3350be0d4ba326017ce22c98a9e94d21b069160fcd95bbe6c2555dac4e93c47a"
 dependencies = [
  "anyhow",
- "async-compat",
  "async-trait",
  "backon",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "chrono",
  "flagset",
  "futures 0.3.30",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "http 0.2.9",
  "log",
  "md-5",
  "once_cell",
- "parking_lot",
  "percent-encoding",
- "pin-project",
  "quick-xml 0.30.0",
  "reqwest",
  "serde",
@@ -5996,7 +5902,7 @@ dependencies = [
  "serde_json",
  "serde_path_to_error",
  "serde_plain",
- "serde_with 3.4.0",
+ "serde_with 3.6.1",
  "sha2",
  "subtle",
  "thiserror",
@@ -6005,9 +5911,9 @@ dependencies = [
 
 [[package]]
 name = "openssl"
-version = "0.10.62"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
  "bitflags 2.4.1",
  "cfg-if",
@@ -6024,9 +5930,9 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6037,18 +5943,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "300.2.1+3.2.0"
+version = "300.2.2+3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3"
+checksum = "8bbfad0063610ac26ee79f7484739e2b07555a75c42453b89263830b5c8103bc"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.98"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -6067,7 +5973,7 @@ dependencies = [
  "ordered-float 4.2.0",
  "prost 0.12.3",
  "prost-build 0.12.3",
- "tonic 0.10.2",
+ "tonic",
  "tonic-build 0.10.2",
  "vector-core",
  "vector-lookup",
@@ -6129,9 +6035,9 @@ dependencies = [
 
 [[package]]
 name = "outref"
-version = "0.1.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
+checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
 
 [[package]]
 name = "overload"
@@ -6261,7 +6167,7 @@ version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "serde",
 ]
 
@@ -6282,9 +6188,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546"
 dependencies = [
  "memchr",
  "thiserror",
@@ -6293,9 +6199,9 @@ dependencies = [
 
 [[package]]
 name = "pest_derive"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
+checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809"
 dependencies = [
  "pest",
  "pest_generator",
@@ -6303,22 +6209,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
+checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e"
 dependencies = [
  "pest",
  "pest_meta",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.5"
+version = "2.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
+checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a"
 dependencies = [
  "once_cell",
  "pest",
@@ -6332,7 +6238,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
 ]
 
 [[package]]
@@ -6384,22 +6290,22 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.3"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6529,7 +6435,7 @@ dependencies = [
  "cfg-if",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "tracing 0.1.40",
  "windows-sys 0.48.0",
 ]
@@ -6577,7 +6483,7 @@ version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "byteorder",
  "bytes 1.5.0",
  "fallible-iterator",
@@ -6648,16 +6554,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "pretty_assertions"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
-dependencies = [
- "diff",
- "yansi",
-]
-
-[[package]]
 name = "prettydiff"
 version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6675,7 +6571,7 @@ version = "0.1.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "syn 1.0.109",
 ]
 
@@ -6685,8 +6581,8 @@ version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
 dependencies = [
- "proc-macro2 1.0.74",
- "syn 2.0.46",
+ "proc-macro2 1.0.78",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -6738,7 +6634,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
 dependencies = [
  "proc-macro-error-attr",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
  "version_check",
@@ -6750,7 +6646,7 @@ version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "version_check",
 ]
@@ -6778,9 +6674,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.74"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -6789,13 +6685,13 @@ dependencies = [
 name = "prometheus-parser"
 version = "0.1.0"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "nom",
- "num_enum 0.7.1",
+ "num_enum 0.7.2",
  "prost 0.12.3",
  "prost-build 0.12.3",
  "prost-types 0.12.3",
- "snafu",
+ "snafu 0.7.5",
  "vector-common",
 ]
 
@@ -6820,6 +6716,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "proptest-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e"
+dependencies = [
+ "proc-macro2 1.0.78",
+ "quote 1.0.35",
+ "syn 1.0.109",
+]
+
+[[package]]
 name = "prost"
 version = "0.11.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6878,7 +6785,7 @@ dependencies = [
  "prost 0.12.3",
  "prost-types 0.12.3",
  "regex",
- "syn 2.0.46",
+ "syn 2.0.48",
  "tempfile",
  "which 4.4.2",
 ]
@@ -6891,7 +6798,7 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
 dependencies = [
  "anyhow",
  "itertools 0.10.5",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -6904,18 +6811,18 @@ checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
 dependencies = [
  "anyhow",
  "itertools 0.11.0",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "prost-reflect"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3"
+checksum = "9ae9372e3227f3685376a0836e5c248611eafc95a0be900d44bc6cdf225b700f"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "once_cell",
  "prost 0.12.3",
  "prost-types 0.12.3",
@@ -6942,6 +6849,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "psl"
+version = "2.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc74a6e6a56708be1cf5c4c4d1a0dc21d33b2dcaa24e731b7fa9c287ce4f916f"
+dependencies = [
+ "psl-types",
+]
+
+[[package]]
+name = "psl-types"
+version = "2.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+[[package]]
 name = "ptr_meta"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6956,7 +6878,7 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -7080,7 +7002,7 @@ version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -7100,7 +7022,7 @@ version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
 ]
 
 [[package]]
@@ -7184,7 +7106,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
 ]
 
 [[package]]
@@ -7217,19 +7139,20 @@ dependencies = [
 
 [[package]]
 name = "ratatui"
-version = "0.25.0"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5659e52e4ba6e07b2dad9f1158f578ef84a73762625ddb51536019f34d180eb"
+checksum = "154b85ef15a5d1719bcaa193c3c81fe645cd120c156874cd660fe49fd21d1373"
 dependencies = [
  "bitflags 2.4.1",
  "cassowary",
+ "compact_str",
  "crossterm",
  "indoc",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "lru",
  "paste",
  "stability",
- "strum",
+ "strum 0.26.1",
  "unicode-segmentation",
  "unicode-width",
 ]
@@ -7386,20 +7309,20 @@ version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "redox_syscall 0.2.16",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.4",
  "regex-syntax 0.8.2",
 ]
 
@@ -7414,9 +7337,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -7464,20 +7387,20 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.23"
+version = "0.11.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "encoding_rs",
  "futures-core",
  "futures-util",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.9",
  "http-body",
  "hyper",
- "hyper-rustls 0.24.2",
+ "hyper-rustls",
  "hyper-tls",
  "ipnet",
  "js-sys",
@@ -7487,15 +7410,16 @@ dependencies = [
  "once_cell",
  "percent-encoding",
  "pin-project-lite",
- "rustls 0.21.8",
+ "rustls",
  "rustls-pemfile",
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper",
  "system-configuration",
  "tokio",
  "tokio-native-tls",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
  "tokio-util",
  "tower-service",
  "url",
@@ -7535,38 +7459,23 @@ dependencies = [
 
 [[package]]
 name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin 0.5.2",
- "untrusted 0.7.1",
- "web-sys",
- "winapi",
-]
-
-[[package]]
-name = "ring"
 version = "0.17.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
 dependencies = [
  "cc",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "libc",
  "spin 0.9.8",
- "untrusted 0.9.0",
+ "untrusted",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "rkyv"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5"
+checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0"
 dependencies = [
  "bitvec",
  "bytecheck",
@@ -7582,11 +7491,11 @@ dependencies = [
 
 [[package]]
 name = "rkyv_derive"
-version = "0.7.43"
+version = "0.7.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033"
+checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -7644,15 +7553,6 @@ dependencies = [
 
 [[package]]
 name = "roxmltree"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b"
-dependencies = [
- "xmlparser",
-]
-
-[[package]]
-name = "roxmltree"
 version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
@@ -7697,12 +7597,12 @@ checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
 dependencies = [
  "cfg-if",
  "glob",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "regex",
  "relative-path",
  "rustc_version 0.4.0",
- "syn 2.0.46",
+ "syn 2.0.48",
  "unicode-ident",
 ]
 
@@ -7749,7 +7649,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.20",
+ "semver 1.0.21",
 ]
 
 [[package]]
@@ -7778,9 +7678,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
@@ -7791,24 +7691,12 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.20.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
-dependencies = [
- "log",
- "ring 0.16.20",
- "sct",
- "webpki",
-]
-
-[[package]]
-name = "rustls"
 version = "0.21.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
 dependencies = [
  "log",
- "ring 0.17.5",
+ "ring",
  "rustls-webpki",
  "sct",
 ]
@@ -7831,7 +7719,7 @@ version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -7840,8 +7728,8 @@ version = "0.101.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
 dependencies = [
- "ring 0.17.5",
- "untrusted 0.9.0",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
@@ -7954,8 +7842,8 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
 dependencies = [
- "ring 0.17.5",
- "untrusted 0.9.0",
+ "ring",
+ "untrusted",
 ]
 
 [[package]]
@@ -8022,9 +7910,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 dependencies = [
  "serde",
 ]
@@ -8037,20 +7925,20 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde-toml-merge"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af5ae5f42c16d60b098ae5d4afd75c1d3b6512e6ca5d0b9b916e2ced30df264c"
+checksum = "fc6244d74ff29bd838ad4cfc9184e3f5d0011500acc8d3fb96708211d4edfb26"
 dependencies = [
- "toml 0.8.8",
+ "toml",
 ]
 
 [[package]]
@@ -8076,22 +7964,22 @@ dependencies = [
 
 [[package]]
 name = "serde_bytes"
-version = "0.11.12"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff"
+checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.194"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -8100,18 +7988,18 @@ version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.109"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0652c533506ad7a2e353cce269330d6afd8bdfb6d75e0ace5b35aacbd7b9e9"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "itoa",
  "ryu",
  "serde",
@@ -8162,16 +8050,16 @@ version = "0.1.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -8200,18 +8088,19 @@ dependencies = [
 
 [[package]]
 name = "serde_with"
-version = "3.4.0"
+version = "3.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "chrono",
  "hex",
  "indexmap 1.9.3",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "serde",
+ "serde_derive",
  "serde_json",
- "serde_with_macros 3.4.0",
+ "serde_with_macros 3.6.1",
  "time",
 ]
 
@@ -8222,21 +8111,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
 dependencies = [
  "darling 0.13.4",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
 name = "serde_with_macros"
-version = "3.4.0"
+version = "3.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d"
 dependencies = [
- "darling 0.20.3",
- "proc-macro2 1.0.74",
+ "darling 0.20.5",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -8253,11 +8142,11 @@ dependencies = [
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.29"
+version = "0.9.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a15e0ef66bf939a7c890a0bf6d5a733c70202225f9888a89ed5c62298b019129"
+checksum = "adf8a49373e98a4c5f0ceb5d05aa7c648d75f63774981ed95b7c7443bbd50c6e"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "itoa",
  "ryu",
  "serde",
@@ -8379,15 +8268,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "simd-abstraction"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987"
-dependencies = [
- "outref",
-]
-
-[[package]]
 name = "simdutf8"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8442,9 +8322,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 dependencies = [
  "serde",
 ]
@@ -8472,7 +8352,7 @@ version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fff23fdd767425c13e6f354b7443b3cc0c23097ae077e2211ef8143fa68ad014"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "log",
  "openssl",
  "serde",
@@ -8491,7 +8371,16 @@ dependencies = [
  "doc-comment",
  "futures-core",
  "pin-project",
- "snafu-derive",
+ "snafu-derive 0.7.5",
+]
+
+[[package]]
+name = "snafu"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d342c51730e54029130d7dc9fd735d28c4cd360f1368c01981d4f03ff207f096"
+dependencies = [
+ "snafu-derive 0.8.0",
 ]
 
 [[package]]
@@ -8501,12 +8390,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
 
 [[package]]
+name = "snafu-derive"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080c44971436b1af15d6f61ddd8b543995cf63ab8e677d46b00cc06f4ef267a0"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro2 1.0.78",
+ "quote 1.0.35",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "snap"
 version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8574,6 +8475,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "static_assertions_next"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766"
+
+[[package]]
 name = "stream-cancel"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8648,7 +8555,7 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
 dependencies = [
  "heck 0.3.3",
  "proc-macro-error",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -8659,7 +8566,16 @@ version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
 dependencies = [
- "strum_macros",
+ "strum_macros 0.25.3",
+]
+
+[[package]]
+name = "strum"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
+dependencies = [
+ "strum_macros 0.26.1",
 ]
 
 [[package]]
@@ -8669,10 +8585,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
 dependencies = [
  "heck 0.4.1",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
+ "quote 1.0.35",
+ "rustversion",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
+dependencies = [
+ "heck 0.4.1",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "rustversion",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -8708,18 +8637,18 @@ version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "unicode-ident",
 ]
 
 [[package]]
 name = "syn"
-version = "2.0.46"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "unicode-ident",
 ]
@@ -8731,9 +8660,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b"
 dependencies = [
  "proc-macro-error",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -8817,14 +8746,13 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
 
 [[package]]
 name = "tempfile"
-version = "3.9.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.1",
- "redox_syscall 0.4.1",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.52.0",
 ]
 
@@ -8854,7 +8782,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
 
@@ -8887,22 +8815,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.51"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.51"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9003,9 +8931,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.35.1"
+version = "1.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
+checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
 dependencies = [
  "backtrace",
  "bytes 1.5.0",
@@ -9048,9 +8976,9 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9114,22 +9042,11 @@ dependencies = [
 
 [[package]]
 name = "tokio-rustls"
-version = "0.23.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
-dependencies = [
- "rustls 0.20.9",
- "tokio",
- "webpki",
-]
-
-[[package]]
-name = "tokio-rustls"
 version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
 dependencies = [
- "rustls 0.21.8",
+ "rustls",
  "tokio",
 ]
 
@@ -9166,7 +9083,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
 dependencies = [
  "futures-util",
  "log",
- "rustls 0.21.8",
+ "rustls",
  "tokio",
  "tungstenite",
 ]
@@ -9188,23 +9105,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.11"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.21.0",
+ "toml_edit 0.22.4",
 ]
 
 [[package]]
@@ -9222,7 +9130,7 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "toml_datetime",
  "winnow",
 ]
@@ -9233,18 +9141,18 @@ version = "0.20.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "toml_datetime",
  "winnow",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.21.0"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -9253,37 +9161,6 @@ dependencies = [
 
 [[package]]
 name = "tonic"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
-dependencies = [
- "async-stream",
- "async-trait",
- "axum",
- "base64 0.21.5",
- "bytes 1.5.0",
- "futures-core",
- "futures-util",
- "h2 0.3.22",
- "http 0.2.9",
- "http-body",
- "hyper",
- "hyper-timeout",
- "percent-encoding",
- "pin-project",
- "prost 0.11.9",
- "rustls-pemfile",
- "tokio",
- "tokio-rustls 0.24.1",
- "tokio-stream",
- "tower",
- "tower-layer",
- "tower-service",
- "tracing 0.1.40",
-]
-
-[[package]]
-name = "tonic"
 version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
@@ -9291,10 +9168,10 @@ dependencies = [
  "async-stream",
  "async-trait",
  "axum",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "flate2",
- "h2 0.3.22",
+ "h2 0.3.24",
  "http 0.2.9",
  "http-body",
  "hyper",
@@ -9302,11 +9179,11 @@ dependencies = [
  "percent-encoding",
  "pin-project",
  "prost 0.12.3",
- "rustls 0.21.8",
+ "rustls",
  "rustls-native-certs",
  "rustls-pemfile",
  "tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
  "tokio-stream",
  "tower",
  "tower-layer",
@@ -9321,7 +9198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07"
 dependencies = [
  "prettyplease 0.1.25",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "prost-build 0.11.9",
  "quote 1.0.35",
  "syn 1.0.109",
@@ -9334,10 +9211,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
 dependencies = [
  "prettyplease 0.2.15",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "prost-build 0.12.3",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9367,7 +9244,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
 dependencies = [
  "async-compression",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bitflags 2.4.1",
  "bytes 1.5.0",
  "futures-core",
@@ -9438,9 +9315,9 @@ version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9652,7 +9529,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "89851716b67b937e393b3daa8423e67ddfc4bbbf1654bcf05488e95e0828db0c"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "syn 1.0.109",
 ]
@@ -9672,9 +9549,9 @@ version = "0.16.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f03ca4cb38206e2bef0700092660bb74d696f808514dae47fa1467cbfe26e96e"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9702,9 +9579,9 @@ version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "291db8a81af4840c10d636e047cac67664e343be44e24dfdbd1492df9a5d3390"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -9823,12 +9700,6 @@ checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
 
 [[package]]
 name = "untrusted"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
-
-[[package]]
-name = "untrusted"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
@@ -9882,11 +9753,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "rand 0.8.5",
  "serde",
  "wasm-bindgen",
@@ -9911,17 +9782,17 @@ dependencies = [
  "anyhow",
  "cached",
  "chrono",
- "clap 4.4.12",
+ "clap 4.4.18",
  "clap-verbosity-flag",
  "clap_complete",
  "confy",
- "directories 5.0.1",
+ "directories",
  "dunce",
  "glob",
  "hex",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "indicatif",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "log",
  "once_cell",
  "os_info",
@@ -9931,10 +9802,10 @@ dependencies = [
  "reqwest",
  "serde",
  "serde_json",
- "serde_yaml 0.9.29",
+ "serde_yaml 0.9.31",
  "sha2",
  "tempfile",
- "toml 0.8.8",
+ "toml",
 ]
 
 [[package]]
@@ -9945,7 +9816,7 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "vector"
-version = "0.35.0"
+version = "0.36.0"
 dependencies = [
  "apache-avro",
  "approx",
@@ -9970,9 +9841,9 @@ dependencies = [
  "aws-sdk-sqs",
  "aws-sigv4",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "axum",
@@ -9980,7 +9851,7 @@ dependencies = [
  "azure_identity",
  "azure_storage",
  "azure_storage_blobs",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bloomy",
  "bollard",
  "bytes 1.5.0",
@@ -9988,7 +9859,7 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "cidr-utils 0.6.1",
- "clap 4.4.12",
+ "clap 4.4.18",
  "colored",
  "console-subscriber",
  "criterion",
@@ -10010,7 +9881,7 @@ dependencies = [
  "governor",
  "greptimedb-client",
  "grok",
- "h2 0.4.0",
+ "h2 0.4.2",
  "hash_hasher",
  "hashbrown 0.14.3",
  "headers",
@@ -10024,11 +9895,11 @@ dependencies = [
  "hyper",
  "hyper-openssl",
  "hyper-proxy",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "indoc",
  "infer 0.15.0",
  "inventory",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "k8s-openapi 0.18.0",
  "kube",
  "lapin",
@@ -10079,18 +9950,18 @@ dependencies = [
  "roaring",
  "rstest",
  "seahash",
- "semver 1.0.20",
+ "semver 1.0.21",
  "serde",
  "serde-toml-merge",
  "serde_bytes",
  "serde_json",
- "serde_with 3.4.0",
- "serde_yaml 0.9.29",
+ "serde_with 3.6.1",
+ "serde_yaml 0.9.31",
  "sha2",
  "similar-asserts",
  "smallvec",
  "smpl_jwt",
- "snafu",
+ "snafu 0.7.5",
  "snap",
  "socket2 0.5.5",
  "stream-cancel",
@@ -10106,8 +9977,8 @@ dependencies = [
  "tokio-test",
  "tokio-tungstenite",
  "tokio-util",
- "toml 0.8.8",
- "tonic 0.10.2",
+ "toml",
+ "tonic",
  "tonic-build 0.10.2",
  "tower",
  "tower-http",
@@ -10137,7 +10008,7 @@ dependencies = [
  "anyhow",
  "async-trait",
  "chrono",
- "clap 4.4.12",
+ "clap 4.4.18",
  "futures 0.3.30",
  "graphql_client",
  "indoc",
@@ -10160,7 +10031,7 @@ dependencies = [
  "async-trait",
  "bytecheck",
  "bytes 1.5.0",
- "clap 4.4.12",
+ "clap 4.4.18",
  "crc32fast",
  "criterion",
  "crossbeam-queue",
@@ -10182,8 +10053,8 @@ dependencies = [
  "rand 0.8.5",
  "rkyv",
  "serde",
- "serde_yaml 0.9.29",
- "snafu",
+ "serde_yaml 0.9.31",
+ "snafu 0.7.5",
  "temp-dir",
  "tokio",
  "tokio-test",
@@ -10208,7 +10079,7 @@ dependencies = [
  "crossbeam-utils",
  "derivative",
  "futures 0.3.30",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "metrics",
  "nom",
  "ordered-float 4.2.0",
@@ -10220,7 +10091,7 @@ dependencies = [
  "serde",
  "serde_json",
  "smallvec",
- "snafu",
+ "snafu 0.7.5",
  "stream-cancel",
  "tokio",
  "tracing 0.1.40",
@@ -10234,20 +10105,20 @@ dependencies = [
 name = "vector-config"
 version = "0.1.0"
 dependencies = [
- "assert-json-diff 2.0.2",
+ "assert-json-diff",
  "chrono",
  "chrono-tz",
  "encoding_rs",
  "http 0.2.9",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "inventory",
  "no-proxy",
  "num-traits",
  "serde",
  "serde_json",
- "serde_with 3.4.0",
- "snafu",
- "toml 0.8.8",
+ "serde_with 3.6.1",
+ "snafu 0.7.5",
+ "toml",
  "tracing 0.1.40",
  "url",
  "vector-config-common",
@@ -10261,13 +10132,13 @@ name = "vector-config-common"
 version = "0.1.0"
 dependencies = [
  "convert_case 0.6.0",
- "darling 0.20.3",
+ "darling 0.20.5",
  "once_cell",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "serde",
  "serde_json",
- "syn 2.0.46",
+ "syn 2.0.48",
  "tracing 0.1.40",
 ]
 
@@ -10275,12 +10146,12 @@ dependencies = [
 name = "vector-config-macros"
 version = "0.1.0"
 dependencies = [
- "darling 0.20.3",
- "proc-macro2 1.0.74",
+ "darling 0.20.5",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
  "serde",
  "serde_derive_internals",
- "syn 2.0.46",
+ "syn 2.0.48",
  "vector-config",
  "vector-config-common",
 ]
@@ -10291,7 +10162,7 @@ version = "0.1.0"
 dependencies = [
  "async-graphql",
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bitmask-enum",
  "bytes 1.5.0",
  "chrono",
@@ -10309,7 +10180,7 @@ dependencies = [
  "headers",
  "http 0.2.9",
  "hyper-proxy",
- "indexmap 2.1.0",
+ "indexmap 2.2.3",
  "metrics",
  "metrics-tracing-context",
  "metrics-util",
@@ -10338,18 +10209,19 @@ dependencies = [
  "security-framework",
  "serde",
  "serde_json",
- "serde_with 3.4.0",
+ "serde_with 3.6.1",
+ "serde_yaml 0.9.31",
  "similar-asserts",
  "smallvec",
- "snafu",
+ "snafu 0.7.5",
  "socket2 0.5.5",
  "tokio",
  "tokio-openssl",
  "tokio-stream",
  "tokio-test",
  "tokio-util",
- "toml 0.8.8",
- "tonic 0.10.2",
+ "toml",
+ "tonic",
  "tracing 0.1.40",
  "tracing-core 0.1.32",
  "tracing-subscriber",
@@ -10386,6 +10258,8 @@ dependencies = [
 name = "vector-lookup"
 version = "0.1.0"
 dependencies = [
+ "proptest",
+ "proptest-derive",
  "serde",
  "vector-config",
  "vector-config-macros",
@@ -10416,7 +10290,7 @@ dependencies = [
 name = "vector-vrl-cli"
 version = "0.1.0"
 dependencies = [
- "clap 4.4.12",
+ "clap 4.4.18",
  "vector-vrl-functions",
  "vrl",
 ]
@@ -10435,7 +10309,7 @@ dependencies = [
  "ansi_term",
  "chrono",
  "chrono-tz",
- "clap 4.4.12",
+ "clap 4.4.18",
  "enrichment",
  "glob",
  "prettydiff",
@@ -10454,7 +10328,7 @@ version = "0.1.0"
 dependencies = [
  "cargo_toml",
  "enrichment",
- "getrandom 0.2.11",
+ "getrandom 0.2.12",
  "gloo-utils",
  "serde",
  "serde-wasm-bindgen",
@@ -10477,15 +10351,15 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 
 [[package]]
 name = "vrl"
-version = "0.9.1"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c13adaad36ee7b6f8cb7e7baa17ac05d84439d787b0b058df7be1cd9b04f485"
+checksum = "4e125a431e61be8819cd967dce0b610290d51b30e287df9a0aeb07afa9a9a719"
 dependencies = [
  "aes",
  "ansi_term",
  "arbitrary",
  "base16",
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes 1.5.0",
  "cbc",
  "cfb-mode",
@@ -10495,13 +10369,14 @@ dependencies = [
  "chrono",
  "chrono-tz",
  "cidr-utils 0.6.1",
- "clap 4.4.12",
+ "clap 4.4.18",
  "codespan-reporting",
  "community-id",
  "crypto_secretbox",
  "csv",
  "ctr",
  "data-encoding",
+ "digest",
  "dns-lookup",
  "dyn-clone",
  "exitcode",
@@ -10510,9 +10385,11 @@ dependencies = [
  "hex",
  "hmac",
  "hostname",
- "indexmap 2.1.0",
+ "iana-time-zone",
+ "idna 0.5.0",
+ "indexmap 2.2.3",
  "indoc",
- "itertools 0.12.0",
+ "itertools 0.12.1",
  "lalrpop",
  "lalrpop-util",
  "md-5",
@@ -10529,11 +10406,12 @@ dependencies = [
  "pest_derive",
  "prettydiff",
  "prettytable-rs",
+ "psl",
  "quickcheck",
  "quoted_printable",
  "rand 0.8.5",
  "regex",
- "roxmltree 0.19.0",
+ "roxmltree",
  "rust_decimal",
  "rustyline",
  "seahash",
@@ -10542,7 +10420,7 @@ dependencies = [
  "sha-1",
  "sha2",
  "sha3",
- "snafu",
+ "snafu 0.8.0",
  "snap",
  "strip-ansi-escapes",
  "syslog_loose",
@@ -10559,6 +10437,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "vsimd"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
+
+[[package]]
 name = "vte"
 version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10574,7 +10458,7 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
 ]
 
@@ -10656,9 +10540,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -10666,16 +10550,16 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
@@ -10693,9 +10577,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote 1.0.35",
  "wasm-bindgen-macro-support",
@@ -10703,28 +10587,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.89"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-streams"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7"
+checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
 dependencies = [
  "futures-util",
  "js-sys",
@@ -10761,16 +10645,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "webpki"
-version = "0.22.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
-dependencies = [
- "ring 0.17.5",
- "untrusted 0.9.0",
-]
-
-[[package]]
 name = "webpki-roots"
 version = "0.25.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10785,7 +10659,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.28",
+ "rustix 0.38.31",
 ]
 
 [[package]]
@@ -10797,7 +10671,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.28",
+ "rustix 0.38.31",
  "windows-sys 0.48.0",
 ]
 
@@ -11097,9 +10971,9 @@ version = "0.5.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13a3a53eaf34f390dd30d7b1b078287dd05df2aa2e21a589ccb80f5c7253c2e9"
 dependencies = [
- "assert-json-diff 2.0.2",
+ "assert-json-diff",
  "async-trait",
- "base64 0.21.5",
+ "base64 0.21.7",
  "deadpool",
  "futures 0.3.30",
  "futures-timer",
@@ -11148,12 +11022,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "yansi"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
-
-[[package]]
 name = "zerocopy"
 version = "0.7.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11168,9 +11036,9 @@ version = "0.7.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a"
 dependencies = [
- "proc-macro2 1.0.74",
+ "proc-macro2 1.0.78",
  "quote 1.0.35",
- "syn 2.0.46",
+ "syn 2.0.48",
 ]
 
 [[package]]
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index de9341c1c6bc..0540bcac517b 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -36,7 +36,7 @@
 
 let
   pname = "vector";
-  version = "0.35.0";
+  version = "0.36.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -45,16 +45,15 @@ rustPlatform.buildRustPackage {
     owner = "vectordotdev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hScmHDkKkR6g1rrVRzBjtkrq59w1efIjeRJdDxmb+nY=";
+    hash = "sha256-fbBKmhouY021osFVqNhEC+16cO7z3bS+DBhg1ByDeWw=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "aws-config-0.54.1" = "sha256-AVumLhybVbMnEah9/JqiQOQ4R0e2OsbB8WAJ422R6uk=";
-      "greptime-proto-0.1.0" = "sha256-kSOy/0s8ZJ1RfqOb469oaVlreABtHxesNaMzFH6H+aE=";
-      "greptimedb-client-0.1.0" = "sha256-mGgbxp/h55snowS2BV+QRwrhnE5vywfRF9Gc+8MoAdY=";
-      "heim-0.1.0-rc.1" = "sha256-ODKEQ1udt7FlxI5fvoFMG7C2zmM45eeEYDUEaLTsdYo=";
+      "greptime-proto-0.1.0" = "sha256-Q8xr6qN6SAGGK0W96WuNRdQ5/8iNlruqzhXD6xq3Ua8=";
+      "greptimedb-client-0.1.0" = "sha256-l4r/2DGllXiFgOwpa83ZRiK9o0L4bokVltCGD1cp3NM=";
+      "heim-0.1.0-rc.1" = "sha256-TFgLR5zb/oqceVOH4mIOvFFY/HMOLSo8VI5Eh9KP60E=";
       "nix-0.26.2" = "sha256-uquYvRT56lhupkrESpxwKEimRFhmYvri10n3dj0f2yg=";
       "ntapi-0.3.7" = "sha256-G6ZCsa3GWiI/FeGKiK9TWkmTxen7nwpXvm5FtjNtjWU=";
       "tokio-util-0.7.8" = "sha256-HCvtfohOoa1ZjD4s7QLDbIV4fe/MVBKtgM1QQX7gGKQ=";
@@ -99,8 +98,6 @@ rustPlatform.buildRustPackage {
     "--skip=sources::aws_kinesis_firehose::tests::handles_acknowledgement_failure"
   ];
 
-  patches = [ ./vector-pr19518.patch ];
-
   # recent overhauls of DNS support in 0.9 mean that we try to resolve
   # vector.dev during the checkPhase, which obviously isn't going to work.
   # these tests in the DNS module are trivial though, so stubbing them out is
diff --git a/nixpkgs/pkgs/tools/misc/vector/vector-pr19518.patch b/nixpkgs/pkgs/tools/misc/vector/vector-pr19518.patch
deleted file mode 100644
index a8ee5334eda9..000000000000
--- a/nixpkgs/pkgs/tools/misc/vector/vector-pr19518.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/src/config/loading/mod.rs b/src/config/loading/mod.rs
-index 58c464a58..40656fd29 100644
---- a/src/config/loading/mod.rs
-+++ b/src/config/loading/mod.rs
-@@ -13,7 +13,6 @@ use std::{
- };
- 
- use config_builder::ConfigBuilderLoader;
--pub use config_builder::*;
- use glob::glob;
- use loader::process::Process;
- pub use loader::*;
-diff --git a/src/sinks/prometheus/remote_write/mod.rs b/src/sinks/prometheus/remote_write/mod.rs
-index 3ebda7df8..cf5b37a70 100644
---- a/src/sinks/prometheus/remote_write/mod.rs
-+++ b/src/sinks/prometheus/remote_write/mod.rs
-@@ -24,8 +24,6 @@ mod tests;
- #[cfg(all(test, feature = "prometheus-integration-tests"))]
- mod integration_tests;
- 
--pub use config::RemoteWriteConfig;
--
- #[derive(Debug, Snafu)]
- enum Errors {
-     #[cfg(feature = "aws-core")]
diff --git a/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix b/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
index 40c39024b0bb..d72e726da863 100644
--- a/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.0.58";
+  version = "1.200.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
-    rev = "${pname}-${version}";
-    hash = "sha256-9IvfQqX65VvjvgyVC0Pn/uJa9EaFh2Y/ciDS+/0RvE4=";
+    rev = "v${version}";
+    hash = "sha256-GuN70HiCmqBRwcosXqzT8sl5SRCTttOPIRl6pxaQiec=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-JtIpBHX2ShGb/gaNefkGYzH4ltz2U7v8LwD/IBrfTgw=";
+  cargoHash = "sha256-T9p1PvgiAZrj82ABx7KX2InZACQ/ff7N0zPKGTCTBPk=";
   cargoBuildFlags = [ "--package" "wasm-tools" ];
   cargoTestFlags = [ "--all" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/wit-bindgen/default.nix b/nixpkgs/pkgs/tools/misc/wit-bindgen/default.nix
index 17cb5ce9ed24..9f0fbe1f4565 100644
--- a/nixpkgs/pkgs/tools/misc/wit-bindgen/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wit-bindgen/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wit-bindgen";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "wit-bindgen";
     rev = "wit-bindgen-cli-${version}";
-    hash = "sha256-QqLTXvzBobDsdwo30yUFK2bHedawiYPni2zhKk6I7j8=";
+    hash = "sha256-eFJkr/RqQdULPquCVbjhR8843aGjeEnUCF/Ws2U5fQk=";
   };
 
-  cargoHash = "sha256-R2F/6f9BRN9omLFBQbP5Vi3szWifEyLMHMILFzLN0cU=";
+  cargoHash = "sha256-934lHOXzE2cLW6LMM0AQl/GJt4wSIKZlY1C7gmjGVrc=";
 
   # Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
   # However, GitHub Actions ensures a proper build.
diff --git a/nixpkgs/pkgs/tools/misc/yubico-piv-tool/default.nix b/nixpkgs/pkgs/tools/misc/yubico-piv-tool/default.nix
index 002dbed4fcd6..2b8e50a7222e 100644
--- a/nixpkgs/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "yubico-piv-tool";
-  version = "2.5.0";
+  version = "2.5.1";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "Yubico";
     repo = "yubico-piv-tool";
     rev = "refs/tags/yubico-piv-tool-${finalAttrs.version}";
-    hash = "sha256-KSM/p6PMzgpVtXIR9GjGiP/UqXhbc1xSQ71elbE4JQE=";
+    hash = "sha256-8W5c5JwEAhBAgoRC/pmQs3U3RekQMmkHAXVW36Y+J+U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/zoxide/default.nix b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
index 44863361a088..36b677aa20ba 100644
--- a/nixpkgs/pkgs/tools/misc/zoxide/default.nix
+++ b/nixpkgs/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "unstable-2023-11-20";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
-    rev = "3022cf3686b85288e6fbecb2bd23ad113fd83f3b";
-    sha256 = "sha256-ut+/F7cQ5Xamb7T45a78i0mjqnNG9/73jPNaDLxzAx8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dxdBXoV9X2oA5ig6PK/GuNLRRzO1E0zHJwVFQp7GY2g=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-JRWlHwPFqNC/IIKQqRQszx4HHW1XsmROA67KmnxkmWQ=";
+  cargoHash = "sha256-fNAS2pCt3Oxz8qyn6GnJpx3Tq/EyPzbwns28tKeMqf0=";
 
   postInstall = ''
     installManPage man/man*/*
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
-    # changelog = "https://github.com/ajeetdsouza/zoxide/raw/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/ajeetdsouza/zoxide/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ];
     mainProgram = "zoxide";
diff --git a/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix b/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix
index df39d0a98e9e..f8770612b253 100644
--- a/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/aardvark-dns/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ] ++ teams.podman.members;
     platforms = platforms.linux;
+    mainProgram = "aardvark-dns";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/acme-client/default.nix b/nixpkgs/pkgs/tools/networking/acme-client/default.nix
index 55f81b7f6b15..2a0baedde7ca 100644
--- a/nixpkgs/pkgs/tools/networking/acme-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/acme-client/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.isc;
     maintainers = with maintainers; [ pmahoney ];
+    mainProgram = "acme-client";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/networking/ahcpd/default.nix b/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
index 83647d17ae3c..f6f483602c1f 100644
--- a/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ahcpd/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "Autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 networks";
     license = lib.licenses.mit;
     platforms = lib.platforms.linux;
+    mainProgram = "ahcpd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ain/default.nix b/nixpkgs/pkgs/tools/networking/ain/default.nix
index cd8d518c0605..878af2c68211 100644
--- a/nixpkgs/pkgs/tools/networking/ain/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ain/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     changelog = "https://github.com/jonaslu/ain/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "ain";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ali/default.nix b/nixpkgs/pkgs/tools/networking/ali/default.nix
index 53403b636785..3b6fef73595c 100644
--- a/nixpkgs/pkgs/tools/networking/ali/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ali/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ farcaller ];
+    mainProgram = "ali";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/altermime/default.nix b/nixpkgs/pkgs/tools/networking/altermime/default.nix
index 290b37889977..812da5f8742e 100644
--- a/nixpkgs/pkgs/tools/networking/altermime/default.nix
+++ b/nixpkgs/pkgs/tools/networking/altermime/default.nix
@@ -28,5 +28,6 @@ gccStdenv.mkDerivation rec {
     platforms = platforms.all;
     license.fullName = "alterMIME LICENSE";
     downloadPage = "https://pldaniels.com/altermime/";
+    mainProgram = "altermime";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/amass/default.nix b/nixpkgs/pkgs/tools/networking/amass/default.nix
index d65a38637fe9..cbd651390505 100644
--- a/nixpkgs/pkgs/tools/networking/amass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/amass/default.nix
@@ -47,5 +47,6 @@ buildGoModule rec {
     changelog = "https://github.com/OWASP/Amass/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ kalbasit fab ];
+    mainProgram = "amass";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/anevicon/default.nix b/nixpkgs/pkgs/tools/networking/anevicon/default.nix
index cff22fa71e6e..346c79dd6f31 100644
--- a/nixpkgs/pkgs/tools/networking/anevicon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/anevicon/default.nix
@@ -39,5 +39,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/rozgo/anevicon";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "anevicon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/arping/default.nix b/nixpkgs/pkgs/tools/networking/arping/default.nix
index 672ccc2bcdb1..3a08ec85083a 100644
--- a/nixpkgs/pkgs/tools/networking/arping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/arping/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2Plus ];
     maintainers = with maintainers; [ michalrus ];
     platforms = platforms.unix;
+    mainProgram = "arping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/arpoison/default.nix b/nixpkgs/pkgs/tools/networking/arpoison/default.nix
index 64b3229fad6b..912636a0e72a 100644
--- a/nixpkgs/pkgs/tools/networking/arpoison/default.nix
+++ b/nixpkgs/pkgs/tools/networking/arpoison/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ gpl2 ];
     maintainers = [ maintainers.michalrus ];
     platforms = platforms.unix;
+    mainProgram = "arpoison";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/atinout/default.nix b/nixpkgs/pkgs/tools/networking/atinout/default.nix
index 7ff1b06c3b80..64d13a7b14ea 100644
--- a/nixpkgs/pkgs/tools/networking/atinout/default.nix
+++ b/nixpkgs/pkgs/tools/networking/atinout/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.gpl3;
     maintainers = with maintainers; [ bendlas ];
+    mainProgram = "atinout";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/axel/default.nix b/nixpkgs/pkgs/tools/networking/axel/default.nix
index e018f9789e38..0a5a11bd8eb7 100644
--- a/nixpkgs/pkgs/tools/networking/axel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/axel/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; unix;
     license = licenses.gpl2;
+    mainProgram = "axel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/babeld/default.nix b/nixpkgs/pkgs/tools/networking/babeld/default.nix
index 64f6cc4eca44..4fd86e16f446 100644
--- a/nixpkgs/pkgs/tools/networking/babeld/default.nix
+++ b/nixpkgs/pkgs/tools/networking/babeld/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ hexa ];
     platforms = platforms.linux;
+    mainProgram = "babeld";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix b/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix
index d5f126c19bbb..528dd8141761 100644
--- a/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bacnet-stack/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bacnet-stack";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "bacnet-stack";
     repo = "bacnet-stack";
     rev = "bacnet-stack-${version}";
-    sha256 = "sha256-hgUntojq10gYoY/inO46MzwK6o2q8ELKTaJbAbCx8Vc=";
+    sha256 = "sha256-fFQIyZYHHNyszUO8jySIB9Y/Amzj/TTdxaex76ovBmw=";
   };
 
   hardeningDisable = [ "all" ];
diff --git a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
index 240fa3e86f8a..43da60ffb89d 100644
--- a/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bandwhich/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "bandwhich";
@@ -23,11 +23,25 @@ rustPlatform.buildRustPackage rec {
     "--skip=tests::cases::ui::layout_under_50_width_under_50_height"
   ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = lib.optional stdenv.isDarwin Security;
 
   # 10 passed; 47 failed https://hydra.nixos.org/build/148943783/nixlog/1
   doCheck = !stdenv.isDarwin;
 
+  preConfigure = ''
+    export BANDWHICH_GEN_DIR=_shell-files
+    mkdir -p $BANDWHICH_GEN_DIR
+  '';
+
+  postInstall = ''
+    installManPage $BANDWHICH_GEN_DIR/bandwhich.1
+
+    installShellCompletion $BANDWHICH_GEN_DIR/bandwhich.{bash,fish} \
+      --zsh $BANDWHICH_GEN_DIR/_bandwhich
+  '';
+
   meta = with lib; {
     description = "A CLI utility for displaying current network utilization";
     longDescription = ''
@@ -38,8 +52,10 @@ rustPlatform.buildRustPackage rec {
       the background using reverse DNS on a best effort basis.
     '';
     homepage = "https://github.com/imsnif/bandwhich";
+    changelog = "https://github.com/imsnif/bandwhich/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne figsoda ];
     platforms = platforms.unix;
+    mainProgram = "bandwhich";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
index 5e98228da2e5..4ca75a53c254 100644
--- a/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpdump/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.hpnd;
     maintainers = with lib.maintainers; [ lewo ];
     platforms = with lib.platforms; linux;
+    mainProgram = "bgpdump";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bgpq3/default.nix b/nixpkgs/pkgs/tools/networking/bgpq3/default.nix
index 1fe2f83f8a18..7d92aa4ee995 100644
--- a/nixpkgs/pkgs/tools/networking/bgpq3/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpq3/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ b4dm4n ];
     platforms = with platforms; unix;
+    mainProgram = "bgpq3";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bgpq4/default.nix b/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
index f26b22e7967c..22e17a205c20 100644
--- a/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bgpq4/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bgpq4";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "bgp";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Mz26YWrVXiTOWywouehpTQ7PaakaXUsIHH+47m8vXDo=";
+    sha256 = "sha256-Irv91M5g21id0QfsnpDA7n5IhP8Qe9QHMh/KizD74qw=";
   };
 
   nativeBuildInputs = [
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ vincentbernat ];
     platforms = with platforms; unix;
+    mainProgram = "bgpq4";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/biosdevname/default.nix b/nixpkgs/pkgs/tools/networking/biosdevname/default.nix
index 0f7702acdcc8..fe9ccb3dd20a 100644
--- a/nixpkgs/pkgs/tools/networking/biosdevname/default.nix
+++ b/nixpkgs/pkgs/tools/networking/biosdevname/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = ["x86_64-linux" "i686-linux"];
     maintainers = with maintainers; [ ];
+    mainProgram = "biosdevname";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bombardier/default.nix b/nixpkgs/pkgs/tools/networking/bombardier/default.nix
index 56f179b22ca7..89f20860836c 100644
--- a/nixpkgs/pkgs/tools/networking/bombardier/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bombardier/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     changelog = "https://github.com/codesenberg/bombardier/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "bombardier";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bore/default.nix b/nixpkgs/pkgs/tools/networking/bore/default.nix
index c3ae78466890..abbbcc414751 100644
--- a/nixpkgs/pkgs/tools/networking/bore/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bore/default.nix
@@ -45,5 +45,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://crates.io/crates/bore";
     license = licenses.isc;
     maintainers = [ maintainers.delan ];
+    mainProgram = "bore";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/boringtun/default.nix b/nixpkgs/pkgs/tools/networking/boringtun/default.nix
index 8d3f17268bc1..b1defdcfb1c3 100644
--- a/nixpkgs/pkgs/tools/networking/boringtun/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boringtun/default.nix
@@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ xrelkd marsam ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "boringtun-cli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/boundary/default.nix b/nixpkgs/pkgs/tools/networking/boundary/default.nix
index 4d8a30f2df07..66973b17ccba 100644
--- a/nixpkgs/pkgs/tools/networking/boundary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/boundary/default.nix
@@ -66,5 +66,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsl11;
     maintainers = with maintainers; [ jk techknowlogick ];
     platforms = platforms.unix;
+    mainProgram = "boundary";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/brook/default.nix b/nixpkgs/pkgs/tools/networking/brook/default.nix
index bdc16874779b..432b49523e18 100644
--- a/nixpkgs/pkgs/tools/networking/brook/default.nix
+++ b/nixpkgs/pkgs/tools/networking/brook/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     description = "A cross-platform Proxy/VPN software";
     license = with licenses; [ gpl3Only ];
     maintainers = with maintainers; [ xrelkd ];
+    mainProgram = "brook";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/bukubrow/default.nix b/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
index 84d2467e6ad8..8cd005a120aa 100644
--- a/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bukubrow/default.nix
@@ -43,6 +43,7 @@ in rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/SamHH/bukubrow-host";
     license = licenses.gpl3;
     maintainers = with maintainers; [ infinisil ];
+    mainProgram = "bukubrow";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/networking/bully/default.nix b/nixpkgs/pkgs/tools/networking/bully/default.nix
index 55ff196154e3..3b2f62281ef1 100644
--- a/nixpkgs/pkgs/tools/networking/bully/default.nix
+++ b/nixpkgs/pkgs/tools/networking/bully/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.linux;
+    mainProgram = "bully";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/burpsuite/default.nix b/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
index 416d2877e201..02d0a4ab77c1 100644
--- a/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
+++ b/nixpkgs/pkgs/tools/networking/burpsuite/default.nix
@@ -84,5 +84,6 @@ buildFHSEnv {
     platforms = jdk.meta.platforms;
     hydraPlatforms = [ ];
     maintainers = with maintainers; [ arcayr bennofs ];
+    mainProgram = "burpsuite";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cadaver/default.nix b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
index d94c89371b1b..e164e5bf433a 100644
--- a/nixpkgs/pkgs/tools/networking/cadaver/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cadaver/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ianwookim ];
     license = licenses.gpl2Plus;
     platforms = with platforms; linux ++ freebsd ++ openbsd;
+    mainProgram = "cadaver";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cassowary/default.nix b/nixpkgs/pkgs/tools/networking/cassowary/default.nix
index e14c8e212717..2fa92e073076 100644
--- a/nixpkgs/pkgs/tools/networking/cassowary/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cassowary/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     description = "Modern cross-platform HTTP load-testing tool written in Go";
     license = licenses.mit;
     maintainers = with maintainers; [ hugoreeves ];
+    mainProgram = "cassowary";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/castnow/default.nix b/nixpkgs/pkgs/tools/networking/castnow/default.nix
index 43a15a2c1c10..50bea652eef6 100644
--- a/nixpkgs/pkgs/tools/networking/castnow/default.nix
+++ b/nixpkgs/pkgs/tools/networking/castnow/default.nix
@@ -23,5 +23,6 @@ buildNpmPackage rec {
     homepage = "commandline chromecast player";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ];
+    mainProgram = "castnow";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cdpr/default.nix b/nixpkgs/pkgs/tools/networking/cdpr/default.nix
index 1f9e7b1888d1..5e86d58cfb31 100644
--- a/nixpkgs/pkgs/tools/networking/cdpr/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cdpr/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.sgo ];
+    mainProgram = "cdpr";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cfspeedtest/default.nix b/nixpkgs/pkgs/tools/networking/cfspeedtest/default.nix
index 27889841a2e7..f6b3c59d5864 100644
--- a/nixpkgs/pkgs/tools/networking/cfspeedtest/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cfspeedtest/default.nix
@@ -23,5 +23,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ mit ];
     broken = stdenv.isDarwin;
     maintainers = with maintainers; [ colemickens ];
+    mainProgram = "cfspeedtest";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/chaos/default.nix b/nixpkgs/pkgs/tools/networking/chaos/default.nix
index 0cadddb9f404..3e66ddac7b6c 100644
--- a/nixpkgs/pkgs/tools/networking/chaos/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chaos/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     changelog = "https://github.com/projectdiscovery/chaos-client/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "chaos";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/checkip/default.nix b/nixpkgs/pkgs/tools/networking/checkip/default.nix
index d66616cfd7a5..180c08702901 100644
--- a/nixpkgs/pkgs/tools/networking/checkip/default.nix
+++ b/nixpkgs/pkgs/tools/networking/checkip/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     changelog = "https://github.com/jreisinger/checkip/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "checkip";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cksfv/default.nix b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
index f9d9224e91b1..2d5a2b533a61 100644
--- a/nixpkgs/pkgs/tools/networking/cksfv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cksfv/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ];
     platforms = platforms.all;
     license = licenses.gpl2;
+    mainProgram = "cksfv";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cnping/default.nix b/nixpkgs/pkgs/tools/networking/cnping/default.nix
index 0a7aed4fcb5d..ec3a0e03c288 100644
--- a/nixpkgs/pkgs/tools/networking/cnping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cnping/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ mit bsd3 ]; # dual licensed, MIT-x11 & BSD-3-Clause
     maintainers = with maintainers; [ ckie ];
     platforms = platforms.linux;
+    mainProgram = "cnping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cntlm/default.nix b/nixpkgs/pkgs/tools/networking/cntlm/default.nix
index 238b93633197..45fc56f3ba2d 100644
--- a/nixpkgs/pkgs/tools/networking/cntlm/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cntlm/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
         maintainers.carlosdagos
       ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "cntlm";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/cocom/default.nix b/nixpkgs/pkgs/tools/networking/cocom/default.nix
index f4a896af7d1e..6ae004de9b3e 100644
--- a/nixpkgs/pkgs/tools/networking/cocom/default.nix
+++ b/nixpkgs/pkgs/tools/networking/cocom/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/LamdaLamdaLamda/cocom";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "cocom";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/connect/default.nix b/nixpkgs/pkgs/tools/networking/connect/default.nix
index 8b8c0018c66f..408bbbf66708 100644
--- a/nixpkgs/pkgs/tools/networking/connect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/connect/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.gnu ++ lib.platforms.linux ++ lib.platforms.darwin;
     maintainers = with lib.maintainers; [ jcumming ];
+    mainProgram = "connect";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/containerlab/default.nix b/nixpkgs/pkgs/tools/networking/containerlab/default.nix
index 43b938ac4a13..a2fb4d8b59d4 100644
--- a/nixpkgs/pkgs/tools/networking/containerlab/default.nix
+++ b/nixpkgs/pkgs/tools/networking/containerlab/default.nix
@@ -42,5 +42,6 @@ buildGoModule rec {
     license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "containerlab";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/corerad/default.nix b/nixpkgs/pkgs/tools/networking/corerad/default.nix
index 8535b2e31083..1a3340fcdb14 100644
--- a/nixpkgs/pkgs/tools/networking/corerad/default.nix
+++ b/nixpkgs/pkgs/tools/networking/corerad/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ mdlayher ];
     platforms = platforms.linux;
+    mainProgram = "corerad";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/corkscrew/default.nix b/nixpkgs/pkgs/tools/networking/corkscrew/default.nix
index 757a07c91989..882b742ebc76 100644
--- a/nixpkgs/pkgs/tools/networking/corkscrew/default.nix
+++ b/nixpkgs/pkgs/tools/networking/corkscrew/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     description = "A tool for tunneling SSH through HTTP proxies";
     license = lib.licenses.gpl2;
     platforms = platforms.unix;
+    mainProgram = "corkscrew";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/networking/crackle/default.nix b/nixpkgs/pkgs/tools/networking/crackle/default.nix
index ea42e7a0b320..f84d44ca0917 100644
--- a/nixpkgs/pkgs/tools/networking/crackle/default.nix
+++ b/nixpkgs/pkgs/tools/networking/crackle/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/mikeryan/crackle";
     maintainers = with maintainers; [ moni ];
     license = licenses.bsd2;
+    mainProgram = "crackle";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/croc/default.nix b/nixpkgs/pkgs/tools/networking/croc/default.nix
index c52ac5b9ed4b..5efbd8651836 100644
--- a/nixpkgs/pkgs/tools/networking/croc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/croc/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.6.9";
+  version = "9.6.10";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5nYC94x4Be1cvOumhlzCFwn+3ZsAhq66Qs/2Pk6Ko+o=";
+    sha256 = "sha256-SRSFbqwcMvzXVwwCxjIGnk/TisL3zGP2lQzy14HQrlU=";
   };
 
   vendorHash = "sha256-mxEDatG1VIPhnk7RUuobGGbUUi7HmeJvyBJFEEx4NMg=";
@@ -37,5 +37,6 @@ buildGoModule rec {
     homepage = "https://github.com/schollz/croc";
     license = licenses.mit;
     maintainers = with maintainers; [ hugoreeves equirosa SuperSandro2000 ];
+    mainProgram = "croc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/curlie/default.nix b/nixpkgs/pkgs/tools/networking/curlie/default.nix
index 68088a03bc20..db70b9a51f0e 100644
--- a/nixpkgs/pkgs/tools/networking/curlie/default.nix
+++ b/nixpkgs/pkgs/tools/networking/curlie/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     homepage = "https://curlie.io/";
     maintainers = with maintainers; [ ma27 ];
     license = licenses.mit;
+    mainProgram = "curlie";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/darkstat/default.nix b/nixpkgs/pkgs/tools/networking/darkstat/default.nix
index 22fdbb3e6505..0dc03b0c0db6 100644
--- a/nixpkgs/pkgs/tools/networking/darkstat/default.nix
+++ b/nixpkgs/pkgs/tools/networking/darkstat/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/emikulic/darkstat/releases/tag/${version}";
     license = licenses.gpl2Only;
     platforms = with platforms; unix;
+    mainProgram = "darkstat";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ddns-go/default.nix b/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
index 0b4111a90e51..0c5882a1c392 100644
--- a/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     description = "Simple and easy to use DDNS";
     license = licenses.mit;
     maintainers = with maintainers; [ oluceps ];
+    mainProgram = "ddns-go";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
index 9d4dc1cd7c2c..158097d7c166 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpcd/default.nix
@@ -65,5 +65,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.bsd2;
     maintainers = with maintainers; [ eelco ];
+    mainProgram = "dhcpcd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix b/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
index 38c8bc76967c..e0e95f26d3d5 100644
--- a/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcpdump/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ nickcao ];
     license = licenses.bsd2;
+    mainProgram = "dhcpdump";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dhcping/default.nix b/nixpkgs/pkgs/tools/networking/dhcping/default.nix
index f1f8cd8b5e4b..87c84c5795af 100644
--- a/nixpkgs/pkgs/tools/networking/dhcping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dhcping/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.mavetju.org/unix/general.php";
     license = licenses.bsd2;
     platforms = platforms.unix;
+    mainProgram = "dhcping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnscrypt-wrapper/default.nix b/nixpkgs/pkgs/tools/networking/dnscrypt-wrapper/default.nix
index 944fd1b58977..49647153b666 100644
--- a/nixpkgs/pkgs/tools/networking/dnscrypt-wrapper/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnscrypt-wrapper/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.isc;
     maintainers = with maintainers; [ joachifm ];
     platforms = platforms.linux;
+    mainProgram = "dnscrypt-wrapper";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnsmon-go/default.nix b/nixpkgs/pkgs/tools/networking/dnsmon-go/default.nix
index c8dbfdeddd43..2a0dea59c7f9 100644
--- a/nixpkgs/pkgs/tools/networking/dnsmon-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsmon-go/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/jonpulsifer/dnsmon-go";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "dnsmon-go";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnsmonster/default.nix b/nixpkgs/pkgs/tools/networking/dnsmonster/default.nix
index f36fa1d2d98f..e4a5d097f04a 100644
--- a/nixpkgs/pkgs/tools/networking/dnsmonster/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsmonster/default.nix
@@ -35,5 +35,6 @@ buildGoModule rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ fab ];
     broken = stdenv.isDarwin;
+    mainProgram = "dnsmonster";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index fd1d9606fcf2..7ebc14fc81e3 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/AdguardTeam/dnsproxy";
     license = licenses.asl20;
     maintainers = with maintainers; [ contrun ];
+    mainProgram = "dnsproxy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnstake/default.nix b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
index ccb5d2e597df..37e5e0c38af7 100644
--- a/nixpkgs/pkgs/tools/networking/dnstake/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstake/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/pwnesia/dnstake";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "dnstake";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnstop/default.nix b/nixpkgs/pkgs/tools/networking/dnstop/default.nix
index 7669f6eec8f9..05cd8f67d869 100644
--- a/nixpkgs/pkgs/tools/networking/dnstop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstop/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "http://dns.measurement-factory.com/tools/dnstop";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.unix;
+    mainProgram = "dnstop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
index d52a6d4fc73c..c4e5fc18e6e6 100644
--- a/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnstracer/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
     platforms = platforms.all;
+    mainProgram = "dnstracer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/driftnet/default.nix b/nixpkgs/pkgs/tools/networking/driftnet/default.nix
index ccf6da31be28..7957d90f05d3 100644
--- a/nixpkgs/pkgs/tools/networking/driftnet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/driftnet/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "driftnet";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/drill/default.nix b/nixpkgs/pkgs/tools/networking/drill/default.nix
index 032ce0be5e22..005d24ac323f 100644
--- a/nixpkgs/pkgs/tools/networking/drill/default.nix
+++ b/nixpkgs/pkgs/tools/networking/drill/default.nix
@@ -38,5 +38,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/fcsonline/drill";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ Br1ght0ne ];
+    mainProgram = "drill";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ebpf-verifier/default.nix b/nixpkgs/pkgs/tools/networking/ebpf-verifier/default.nix
index 8605db55bba8..79a29cee8be3 100644
--- a/nixpkgs/pkgs/tools/networking/ebpf-verifier/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ebpf-verifier/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ gaelreyrol ];
+    mainProgram = "ebpf-verifier";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/edgedb/default.nix b/nixpkgs/pkgs/tools/networking/edgedb/default.nix
index 1ace10486dea..c78548833754 100644
--- a/nixpkgs/pkgs/tools/networking/edgedb/default.nix
+++ b/nixpkgs/pkgs/tools/networking/edgedb/default.nix
@@ -69,5 +69,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://www.edgedb.com/docs/cli/index";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ ahirner kirillrdy ];
+    mainProgram = "edgedb";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/email/default.nix b/nixpkgs/pkgs/tools/networking/email/default.nix
index 8848068d0dea..c4ef390e6b81 100644
--- a/nixpkgs/pkgs/tools/networking/email/default.nix
+++ b/nixpkgs/pkgs/tools/networking/email/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation {
     license = with lib.licenses; [ gpl2 ];
     homepage = "https://deanproxy.com/code";
     platforms = lib.platforms.unix;
+    mainProgram = "email";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/fakeroute/default.nix b/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
index fc07b1d9f66c..533f21e0f5f2 100644
--- a/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fakeroute/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage = "https://maxwell.ydns.eu/git/rnhmjoj/fakeroute";
     license = licenses.bsd3;
     platforms = platforms.linux;
+    mainProgram = "fakeroute";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/fast-ssh/default.nix b/nixpkgs/pkgs/tools/networking/fast-ssh/default.nix
index 5d899fa54184..3fb812a38ee7 100644
--- a/nixpkgs/pkgs/tools/networking/fast-ssh/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fast-ssh/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/julien-r44/fast-ssh";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "fast-ssh";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/fastd/default.nix b/nixpkgs/pkgs/tools/networking/fastd/default.nix
index 47007e1646ee..20f8adf71cf8 100644
--- a/nixpkgs/pkgs/tools/networking/fastd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fastd/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 bsd3 ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ];
+    mainProgram = "fastd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/filegive/default.nix b/nixpkgs/pkgs/tools/networking/filegive/default.nix
index 2fafc90fcf01..9d85c168c5ce 100644
--- a/nixpkgs/pkgs/tools/networking/filegive/default.nix
+++ b/nixpkgs/pkgs/tools/networking/filegive/default.nix
@@ -19,5 +19,6 @@ buildGoModule rec {
     description = "Easy p2p file sending program";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ viric ];
+    mainProgram = "filegive";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/findomain/default.nix b/nixpkgs/pkgs/tools/networking/findomain/default.nix
index 636dcc709462..deb9bb32fe0a 100644
--- a/nixpkgs/pkgs/tools/networking/findomain/default.nix
+++ b/nixpkgs/pkgs/tools/networking/findomain/default.nix
@@ -54,5 +54,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/Findomain/Findomain/releases/tag/${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne figsoda ];
+    mainProgram = "findomain";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/flannel/default.nix b/nixpkgs/pkgs/tools/networking/flannel/default.nix
index 54b481fc3773..9bd20bb090f3 100644
--- a/nixpkgs/pkgs/tools/networking/flannel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/flannel/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     homepage = "https://github.com/flannel-io/flannel";
     maintainers = with maintainers; [ johanot offline ];
     platforms = with platforms; linux;
+    mainProgram = "flannel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/fping/default.nix b/nixpkgs/pkgs/tools/networking/fping/default.nix
index f04bae13ce09..df36d8092579 100644
--- a/nixpkgs/pkgs/tools/networking/fping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/fping/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     description = "Send ICMP echo probes to network hosts";
     license = licenses.bsd0;
     platforms = platforms.all;
+    mainProgram = "fping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gemget/default.nix b/nixpkgs/pkgs/tools/networking/gemget/default.nix
index 84f4894d51bc..b31d4491b599 100644
--- a/nixpkgs/pkgs/tools/networking/gemget/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gemget/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/makeworld-the-better-one/gemget";
     license = licenses.mit;
     maintainers = with maintainers; [ amfl ];
+    mainProgram = "gemget";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix b/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
index 444079f2f09a..85ffdefb7424 100644
--- a/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ghostunnel/default.nix
@@ -39,5 +39,6 @@ buildGoModule rec {
     changelog = "https://github.com/ghostunnel/ghostunnel/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ roberth ];
+    mainProgram = "ghostunnel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix
index 94763df92b27..ac6bbc1663aa 100644
--- a/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/go-shadowsocks2/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/shadowsocks/go-shadowsocks2/";
     license = licenses.asl20;
     maintainers = with maintainers; [ oxzi ];
+    mainProgram = "go-shadowsocks2";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gobgp/default.nix b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
index 8304f15ba960..ab2ae59950cb 100644
--- a/nixpkgs/pkgs/tools/networking/gobgp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gobgp/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     homepage = "https://osrg.github.io/gobgp/";
     license = licenses.asl20;
     maintainers = with maintainers; [ higebu ];
+    mainProgram = "gobgp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/godns/default.nix b/nixpkgs/pkgs/tools/networking/godns/default.nix
index c50fa68a068b..a41d1993270b 100644
--- a/nixpkgs/pkgs/tools/networking/godns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/godns/default.nix
@@ -34,5 +34,6 @@ buildGoModule rec {
     changelog = "https://github.com/TimothyYe/godns/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ yinfeng ];
+    mainProgram = "godns";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/godspeed/default.nix b/nixpkgs/pkgs/tools/networking/godspeed/default.nix
index 2ffb1afed06a..64441c1674dd 100644
--- a/nixpkgs/pkgs/tools/networking/godspeed/default.nix
+++ b/nixpkgs/pkgs/tools/networking/godspeed/default.nix
@@ -32,5 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/redcode-labs/GodSpeed";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ] ++ teams.redcodelabs.members;
+    mainProgram = "godspeed";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gof5/default.nix b/nixpkgs/pkgs/tools/networking/gof5/default.nix
index 4c9ab25cc788..ead38427816c 100644
--- a/nixpkgs/pkgs/tools/networking/gof5/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gof5/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/kayrus/gof5";
     license = licenses.asl20;
     maintainers = with maintainers; [ leixb ];
+    mainProgram = "gof5";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/goreplay/default.nix b/nixpkgs/pkgs/tools/networking/goreplay/default.nix
index 25e98b787c5a..71081713c70d 100644
--- a/nixpkgs/pkgs/tools/networking/goreplay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/goreplay/default.nix
@@ -32,5 +32,6 @@ buildGoModule rec {
     license = lib.licenses.lgpl3Only;
     description = "Open-source tool for capturing and replaying live HTTP traffic";
     maintainers = with lib.maintainers; [ lovek323 ];
+    mainProgram = "goreplay";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gost/default.nix b/nixpkgs/pkgs/tools/networking/gost/default.nix
index 6e7743fb990c..4c31ce88cbf5 100644
--- a/nixpkgs/pkgs/tools/networking/gost/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gost/default.nix
@@ -56,5 +56,6 @@ buildGoModule rec {
     homepage = "https://github.com/ginuerzh/gost";
     license = licenses.mit;
     maintainers = with maintainers; [ pmy ];
+    mainProgram = "gost";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/gping/default.nix b/nixpkgs/pkgs/tools/networking/gping/default.nix
index 4a31bb1494b7..80e6898630d2 100644
--- a/nixpkgs/pkgs/tools/networking/gping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/gping/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    hash = "sha256-t9USry3I6tc8EKsfkq28/hPJMbaf0BqqOdzCl3oXd60=";
+    hash = "sha256-hCqjbJt0dHuvFsWEF/WgLEPY2xws71wFGdhzThYOOvA=";
   };
 
-  cargoHash = "sha256-QERmZOyC4U6ZpCkL7ap5MRvPEE2vqK/tD+CrBLg07J0=";
+  cargoHash = "sha256-3jpQ8ANg9WYK1Q5Hph6fK442e5f9dsLQbTMBEwTaENc=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
@@ -42,5 +42,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/orf/gping/releases/tag/gping-v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ andrew-d ];
+    mainProgram = "gping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/grpc_cli/default.nix b/nixpkgs/pkgs/tools/networking/grpc_cli/default.nix
index 844d315f5eb5..1f7f33d7f874 100644
--- a/nixpkgs/pkgs/tools/networking/grpc_cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.61.0";
+  version = "1.61.1";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-NLxcGFQ1F5RLoSFC0XYMjvGXkSWc/vLzgtk5qsOndEo=";
+    hash = "sha256-vrLkiNnsW6IpZNGhs6iZgEhdlV9Qpg8PLMDG2BKY2wo=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ doriath ];
     platforms = platforms.linux;
+    mainProgram = "grpc_cli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/grpcui/default.nix b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
index eb7400b41890..f4bca5a29911 100644
--- a/nixpkgs/pkgs/tools/networking/grpcui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcui/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ pradyuman ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "grpcui";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
index 02ad218cbf17..252a148f6fc7 100644
--- a/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/grpcurl/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/fullstorydev/grpcurl";
     license = licenses.mit;
     maintainers = with maintainers; [ knl ];
+    mainProgram = "grpcurl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hans/default.nix b/nixpkgs/pkgs/tools/networking/hans/default.nix
index 86855cf6034f..ac591c200fe2 100644
--- a/nixpkgs/pkgs/tools/networking/hans/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hans/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://code.gerade.org/hans/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "hans";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index ce275eca6783..675c7d19b65a 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -29,11 +29,11 @@ let
   sslPkg = sslPkgs.${sslLibrary};
 in stdenv.mkDerivation (finalAttrs: {
   pname = "haproxy";
-  version = "2.9.4";
+  version = "2.9.5";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
-    hash = "sha256-nDiSzDwISsTwASXvIqFRzxgUFthKqKN69q9qoDmQlrw=";
+    hash = "sha256-MreFsSiDj0IYuNVGkMhsSHlNA/gXy7Yn+0h2n3nv1Zs=";
   };
 
   buildInputs = [ sslPkg zlib libxcrypt ]
diff --git a/nixpkgs/pkgs/tools/networking/hey/default.nix b/nixpkgs/pkgs/tools/networking/hey/default.nix
index fc086eeeafff..b5d565d84743 100644
--- a/nixpkgs/pkgs/tools/networking/hey/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hey/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/rakyll/hey";
     license = licenses.asl20;
     maintainers = with maintainers; [ Br1ght0ne ];
+    mainProgram = "hey";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/horst/default.nix b/nixpkgs/pkgs/tools/networking/horst/default.nix
index 5e4568914d84..2e220a171cc2 100644
--- a/nixpkgs/pkgs/tools/networking/horst/default.nix
+++ b/nixpkgs/pkgs/tools/networking/horst/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.fpletz ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    mainProgram = "horst";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hostapd-mana/default.nix b/nixpkgs/pkgs/tools/networking/hostapd-mana/default.nix
index 56527fb15531..2ca826314c57 100644
--- a/nixpkgs/pkgs/tools/networking/hostapd-mana/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hostapd-mana/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/sensepost/hostapd-mana";
     description = "A featureful rogue wifi access point tool";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ lourkeur ];
+    maintainers = with maintainers; [ bbjubjub ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hss/default.nix b/nixpkgs/pkgs/tools/networking/hss/default.nix
index 77f96113decf..e2535395971a 100644
--- a/nixpkgs/pkgs/tools/networking/hss/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hss/default.nix
@@ -30,5 +30,6 @@ buildRubyGem rec {
     license     = licenses.mit;
     maintainers = with maintainers; [ nixy ];
     platforms   = platforms.unix;
+    mainProgram = "hss";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/htpdate/default.nix b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
index 936e582a1a4f..60934216a2ef 100644
--- a/nixpkgs/pkgs/tools/networking/htpdate/default.nix
+++ b/nixpkgs/pkgs/tools/networking/htpdate/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ julienmalka ];
+    mainProgram = "htpdate";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/httperf/default.nix b/nixpkgs/pkgs/tools/networking/httperf/default.nix
index 975b050de7e3..dca67e7c39a1 100644
--- a/nixpkgs/pkgs/tools/networking/httperf/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httperf/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ];
     license = licenses.gpl2;
     platforms = platforms.all;
+    mainProgram = "httperf";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/networking/httping/default.nix b/nixpkgs/pkgs/tools/networking/httping/default.nix
index 5a3b8e76c271..1933dc41de0f 100644
--- a/nixpkgs/pkgs/tools/networking/httping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httping/default.nix
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Only;
     maintainers = [];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "httping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/httplab/default.nix b/nixpkgs/pkgs/tools/networking/httplab/default.nix
index 2fe0f15b3852..6e1be43ac5f5 100644
--- a/nixpkgs/pkgs/tools/networking/httplab/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httplab/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     description = "Interactive WebServer";
     license = licenses.mit;
     maintainers = with maintainers; [ pradeepchhetri ];
+    mainProgram = "httplab";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/httprobe/default.nix b/nixpkgs/pkgs/tools/networking/httprobe/default.nix
index 8400a7d12d14..b1a03ed6b488 100644
--- a/nixpkgs/pkgs/tools/networking/httprobe/default.nix
+++ b/nixpkgs/pkgs/tools/networking/httprobe/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/tomnomnom/httprobe";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "httprobe";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hue-cli/default.nix b/nixpkgs/pkgs/tools/networking/hue-cli/default.nix
index f2ea6b37c810..76f7dc8e25c7 100644
--- a/nixpkgs/pkgs/tools/networking/hue-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hue-cli/default.nix
@@ -13,5 +13,6 @@ bundlerApp {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ manveru nicknovitski ];
+    mainProgram = "hue";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/hysteria/default.nix b/nixpkgs/pkgs/tools/networking/hysteria/default.nix
index 649a5b074a78..705d8025742b 100644
--- a/nixpkgs/pkgs/tools/networking/hysteria/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hysteria/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ oluceps ];
+    mainProgram = "hysteria";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/i2p/default.nix b/nixpkgs/pkgs/tools/networking/i2p/default.nix
index c160dfd2e7a9..6958a12cdf3d 100644
--- a/nixpkgs/pkgs/tools/networking/i2p/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2p/default.nix
@@ -81,5 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
     ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ joelmo ];
+    mainProgram = "i2prouter-plain";
   };
 })
diff --git a/nixpkgs/pkgs/tools/networking/i2pd/default.nix b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
index ffcf397ea1a1..01c07c0436a5 100644
--- a/nixpkgs/pkgs/tools/networking/i2pd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/i2pd/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.unix;
+    mainProgram = "i2pd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix b/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
index 014cce5ea4f1..ff36f83ef8dc 100644
--- a/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ifstat-legacy/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.unix;
     license     = licenses.gpl2;
+    mainProgram = "ifstat-legacy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/iftop/default.nix b/nixpkgs/pkgs/tools/networking/iftop/default.nix
index 100164ff3db7..c40a8ee51238 100644
--- a/nixpkgs/pkgs/tools/networking/iftop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/iftop/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
     homepage = "http://ex-parrot.com/pdw/iftop/";
     platforms = platforms.unix;
     maintainers = [ ];
+    mainProgram = "iftop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix b/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix
index 73d47c14177f..252f9dd05609 100644
--- a/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/igmpproxy/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     # The maintainer is using this on linux, but if you test it on other platforms
     # please add them here!
     platforms = platforms.linux;
+    mainProgram = "igmpproxy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/inadyn/default.nix b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
index c5a13f04cade..68e1483e7a92 100644
--- a/nixpkgs/pkgs/tools/networking/inadyn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/inadyn/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "inadyn";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ip2location/default.nix b/nixpkgs/pkgs/tools/networking/ip2location/default.nix
index df5d26b4f5db..6fa9345b3f01 100644
--- a/nixpkgs/pkgs/tools/networking/ip2location/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ip2location/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.ip2location.com/free/applications";
     license = with licenses; [ gpl3Plus lgpl3Plus ];
     platforms = platforms.linux;
+    mainProgram = "ip2location";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ip2unix/default.nix b/nixpkgs/pkgs/tools/networking/ip2unix/default.nix
index a214d302e126..b37d5b1272c8 100644
--- a/nixpkgs/pkgs/tools/networking/ip2unix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ip2unix/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     license = lib.licenses.lgpl3;
     maintainers = [ lib.maintainers.aszlig ];
+    mainProgram = "ip2unix";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ipcalc/default.nix b/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
index 454f595e8e64..e45a2162dd3a 100644
--- a/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ipcalc/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.unix;
+    mainProgram = "ipcalc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ivpn/default.nix b/nixpkgs/pkgs/tools/networking/ivpn/default.nix
index f5df7e6c3845..62ac14812aad 100644
--- a/nixpkgs/pkgs/tools/networking/ivpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ivpn/default.nix
@@ -41,6 +41,7 @@ builtins.mapAttrs (pname: attrs: buildGoModule (attrs // rec {
     changelog = "https://github.com/ivpn/desktop-app/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ urandom ataraxiasjel ];
+    mainProgram = "ivpn";
   };
 })) {
   ivpn = {
diff --git a/nixpkgs/pkgs/tools/networking/jnettop/default.nix b/nixpkgs/pkgs/tools/networking/jnettop/default.nix
index 2c002843eca1..0be765028635 100644
--- a/nixpkgs/pkgs/tools/networking/jnettop/default.nix
+++ b/nixpkgs/pkgs/tools/networking/jnettop/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     homepage = "https://sourceforge.net/projects/jnettop/";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
+    mainProgram = "jnettop";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/kail/default.nix b/nixpkgs/pkgs/tools/networking/kail/default.nix
index 55217ee33c3a..809aa6a757b5 100644
--- a/nixpkgs/pkgs/tools/networking/kail/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kail/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/boz/kail";
     license = licenses.mit;
     maintainers = with maintainers; [ offline vdemeester ];
+    mainProgram = "kail";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/kapp/default.nix b/nixpkgs/pkgs/tools/networking/kapp/default.nix
index c068c4ac1f42..c74a0a8cd47b 100644
--- a/nixpkgs/pkgs/tools/networking/kapp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/kapp/default.nix
@@ -39,5 +39,6 @@ buildGoModule rec {
     homepage = "https://carvel.dev/kapp/";
     license = licenses.asl20;
     maintainers = with maintainers; [ brodes ];
+    mainProgram = "kapp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/keama/default.nix b/nixpkgs/pkgs/tools/networking/keama/default.nix
index 0b1e8c91aa15..c00f7d63f1f9 100644
--- a/nixpkgs/pkgs/tools/networking/keama/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keama/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.mpl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ blitz ];
+    mainProgram = "keama";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/keepalived/default.nix b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
index 02424d92de57..80059a664549 100644
--- a/nixpkgs/pkgs/tools/networking/keepalived/default.nix
+++ b/nixpkgs/pkgs/tools/networking/keepalived/default.nix
@@ -1,7 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, nixosTests
-, file, libmnl, libnftnl, libnl
-, net-snmp, openssl, pkg-config
-, autoreconfHook }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, nixosTests
+, file
+, libmnl
+, libnftnl
+, libnl
+, net-snmp
+, openssl
+, pkg-config
+, autoreconfHook
+, withNetSnmp ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
+}:
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
@@ -19,8 +29,9 @@ stdenv.mkDerivation rec {
     libmnl
     libnftnl
     libnl
-    net-snmp
     openssl
+  ] ++ lib.optionals withNetSnmp [
+    net-snmp
   ];
 
   enableParallelBuilding = true;
@@ -31,8 +42,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--enable-sha1"
+  ] ++ lib.optionals withNetSnmp [
     "--enable-snmp"
- ];
+  ];
 
   meta = with lib; {
     homepage = "https://keepalived.org";
diff --git a/nixpkgs/pkgs/tools/networking/labctl/default.nix b/nixpkgs/pkgs/tools/networking/labctl/default.nix
index b8139fe731cb..00cb63b31d1d 100644
--- a/nixpkgs/pkgs/tools/networking/labctl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/labctl/default.nix
@@ -37,5 +37,6 @@ buildGoModule rec {
     homepage = "https://labctl.net";
     license = licenses.asl20;
     maintainers = with maintainers; [ janik ];
+    mainProgram = "labctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/libreswan/default.nix b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
index 49e4df298bc7..12bd432c7329 100644
--- a/nixpkgs/pkgs/tools/networking/libreswan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/libreswan/default.nix
@@ -157,5 +157,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux ++ platforms.freebsd;
     license = with licenses; [ gpl2Plus mpl20 ] ;
     maintainers = with maintainers; [ afranchuk rnhmjoj ];
+    mainProgram = "ipsec";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix b/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
index 7cf4a6ffce00..7eee1ccb047d 100644
--- a/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ligolo-ng/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ligolo-ng";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "tnpitsecurity";
     repo = "ligolo-ng";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tx/iwb7eaaJODPMJhg4EdLMaua2Bm1frZh4rsl1bFxc=";
+    hash = "sha256-pFk/9AFtnMBNi5hdVWDzfxCTFe9wSkFydHciTpMRxQw=";
   };
 
   vendorHash = "sha256-QEGF12yJ+CQjIHx6kOwsykVhelp5npnglk7mIbOeIpI=";
diff --git a/nixpkgs/pkgs/tools/networking/linux-router/default.nix b/nixpkgs/pkgs/tools/networking/linux-router/default.nix
index 997546403fd3..b5cc9ef6f5dd 100644
--- a/nixpkgs/pkgs/tools/networking/linux-router/default.nix
+++ b/nixpkgs/pkgs/tools/networking/linux-router/default.nix
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ x3ro ];
     platforms = platforms.linux;
+    mainProgram = "lnxrouter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/lxi-tools/default.nix b/nixpkgs/pkgs/tools/networking/lxi-tools/default.nix
index 6f94988c2c58..5a5db2a97094 100644
--- a/nixpkgs/pkgs/tools/networking/lxi-tools/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lxi-tools/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = [ maintainers.vq ];
+    mainProgram = "lxi";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/lychee/default.nix b/nixpkgs/pkgs/tools/networking/lychee/default.nix
index 1881a945735a..91620663e604 100644
--- a/nixpkgs/pkgs/tools/networking/lychee/default.nix
+++ b/nixpkgs/pkgs/tools/networking/lychee/default.nix
@@ -47,5 +47,6 @@ rustPlatform.buildRustPackage rec {
     downloadPage = "https://github.com/lycheeverse/lychee/releases/tag/v${version}";
     license = with licenses; [ asl20 mit ];
     maintainers = with maintainers; [ totoroot tuxinaut ];
+    mainProgram = "lychee";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mailsend/default.nix b/nixpkgs/pkgs/tools/networking/mailsend/default.nix
index ab1717da651a..d009e09ac366 100644
--- a/nixpkgs/pkgs/tools/networking/mailsend/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mailsend/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     homepage = "https://github.com/muquit/mailsend";
     downloadPage = "https://github.com/muquit/mailsend/releases";
+    mainProgram = "mailsend";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/maphosts/default.nix b/nixpkgs/pkgs/tools/networking/maphosts/default.nix
index 6632485b7091..9b0aa5cb899b 100644
--- a/nixpkgs/pkgs/tools/networking/maphosts/default.nix
+++ b/nixpkgs/pkgs/tools/networking/maphosts/default.nix
@@ -25,5 +25,6 @@ in stdenv.mkDerivation {
     license     = licenses.mit;
     maintainers = with maintainers; [ mpscholten nicknovitski ];
     platforms   = platforms.all;
+    mainProgram = "maphosts";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mbidled/default.nix b/nixpkgs/pkgs/tools/networking/mbidled/default.nix
index 1b5c1c3dc3d4..9e07d1afbe21 100644
--- a/nixpkgs/pkgs/tools/networking/mbidled/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mbidled/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation {
     license = licenses.unlicense;
     maintainers = with maintainers; [ laalsaas ];
     platforms = platforms.linux;
+    mainProgram = "mbidled";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
index 713a3dbfd91b..c9f9f81a3ddf 100644
--- a/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mcrcon/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     '';
     maintainers = with lib.maintainers; [ dermetfan ];
     license = with lib.licenses; [ zlib libpng ];
+    mainProgram = "mcrcon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mdk4/default.nix b/nixpkgs/pkgs/tools/networking/mdk4/default.nix
index 979584db432d..53713f473a16 100644
--- a/nixpkgs/pkgs/tools/networking/mdk4/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mdk4/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/aircrack-ng/mdk4";
     maintainers = with maintainers; [ moni ];
     license = licenses.gpl2Plus;
+    mainProgram = "mdk4";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix b/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
index f4ecbb986314..d77ef2d417d5 100644
--- a/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
+++ b/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license     = lib.licenses.gpl2;
     platforms   = lib.platforms.linux;
     maintainers = with lib.maintainers; [ thoughtpolice ];
+    mainProgram = "memtier_benchmark";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/minidlna/default.nix b/nixpkgs/pkgs/tools/networking/minidlna/default.nix
index 2a1eeb0fa4b5..6bdea670c13b 100644
--- a/nixpkgs/pkgs/tools/networking/minidlna/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minidlna/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation {
     homepage = "https://sourceforge.net/projects/minidlna/";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    mainProgram = "minidlnad";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/minio-client/default.nix b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
index 03e10d9b62fa..f05814f00f0f 100644
--- a/nixpkgs/pkgs/tools/networking/minio-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2024-02-09T22-18-24Z";
+  version = "2024-02-16T11-05-48Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-Z4bqbU5ZDVlHLHyJWTNLSjBgE3Fybn/oUyqjod0bUCw=";
+    sha256 = "sha256-Kqv48krXiDi/8QtCEpn0uGvuLS2P6BYAtSnY5sNrCQ0=";
   };
 
   vendorHash = "sha256-wxFhj+oqj5WV/UkPZlmeJHF2WC4oLlZOql1qgSFs+zU=";
diff --git a/nixpkgs/pkgs/tools/networking/minissdpd/default.nix b/nixpkgs/pkgs/tools/networking/minissdpd/default.nix
index 088645705f62..b2a95972613b 100644
--- a/nixpkgs/pkgs/tools/networking/minissdpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minissdpd/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     downloadPage = "http://miniupnp.free.fr/files/";
     license = licenses.bsd3;
     platforms = platforms.linux;
+    mainProgram = "minissdpd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mmsd-tng/default.nix b/nixpkgs/pkgs/tools/networking/mmsd-tng/default.nix
index eaf122637519..8d8286774595 100644
--- a/nixpkgs/pkgs/tools/networking/mmsd-tng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mmsd-tng/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ julm ];
     platforms = platforms.linux;
+    mainProgram = "mmsdtng";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mockoon/default.nix b/nixpkgs/pkgs/tools/networking/mockoon/default.nix
index f100239a61dd..0a2670009cce 100644
--- a/nixpkgs/pkgs/tools/networking/mockoon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mockoon/default.nix
@@ -36,5 +36,6 @@ appimageTools.wrapType2 {
     homepage = "https://mockoon.com";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "mockoon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mole/default.nix b/nixpkgs/pkgs/tools/networking/mole/default.nix
index 39d109118d95..e5585be469fc 100644
--- a/nixpkgs/pkgs/tools/networking/mole/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mole/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
     broken = stdenv.isDarwin; # build fails with go > 1.17
+    mainProgram = "mole";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/motrix/default.nix b/nixpkgs/pkgs/tools/networking/motrix/default.nix
index 828c236494b3..2270034ce5de 100644
--- a/nixpkgs/pkgs/tools/networking/motrix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/motrix/default.nix
@@ -35,5 +35,6 @@ appimageTools.wrapType2 {
     platforms = [ "x86_64-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "motrix";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mozwire/default.nix b/nixpkgs/pkgs/tools/networking/mozwire/default.nix
index d0e59e1fd838..40c6d3ec7827 100644
--- a/nixpkgs/pkgs/tools/networking/mozwire/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mozwire/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/NilsIrl/MozWire";
     license = licenses.gpl3;
     maintainers = with maintainers; [ siraben nilsirl ];
+    mainProgram = "mozwire";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mqtt-benchmark/default.nix b/nixpkgs/pkgs/tools/networking/mqtt-benchmark/default.nix
index a2ab1b61520e..bc755247c40c 100644
--- a/nixpkgs/pkgs/tools/networking/mqtt-benchmark/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mqtt-benchmark/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/krylovsk/mqtt-benchmark/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "mqtt-benchmark";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mqttui/default.nix b/nixpkgs/pkgs/tools/networking/mqttui/default.nix
index b090b19ba8fa..e457fa7479b1 100644
--- a/nixpkgs/pkgs/tools/networking/mqttui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mqttui/default.nix
@@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/EdJoPaTo/mqttui/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "mqttui";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix b/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix
index 4dc276c023fc..9c7c9bec41ea 100644
--- a/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mtr-exporter/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/mgumz/mtr-exporter";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jakubgs ];
+    mainProgram = "mtr-exporter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/mubeng/default.nix b/nixpkgs/pkgs/tools/networking/mubeng/default.nix
index 8e50188ec814..ea431c3eea98 100644
--- a/nixpkgs/pkgs/tools/networking/mubeng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mubeng/default.nix
@@ -28,5 +28,6 @@ buildGoModule rec {
     changelog = "https://github.com/kitabisa/mubeng/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "mubeng";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/muffet/default.nix b/nixpkgs/pkgs/tools/networking/muffet/default.nix
index 133eaf3b27ba..c363df34e8f7 100644
--- a/nixpkgs/pkgs/tools/networking/muffet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/muffet/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/raviqqe/muffet/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "muffet";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nat-traverse/default.nix b/nixpkgs/pkgs/tools/networking/nat-traverse/default.nix
index a1c1337a216b..39e74f215159 100644
--- a/nixpkgs/pkgs/tools/networking/nat-traverse/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nat-traverse/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.iblech ];
+    mainProgram = "nat-traverse";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/netassert/default.nix b/nixpkgs/pkgs/tools/networking/netassert/default.nix
index 1351c255e943..d226b5345681 100644
--- a/nixpkgs/pkgs/tools/networking/netassert/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netassert/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     '';
     license = licenses.asl20;
     maintainers = with maintainers; [ jk ];
+    mainProgram = "netassert";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/netbird/default.nix b/nixpkgs/pkgs/tools/networking/netbird/default.nix
index 2ad3922212a9..4e1aeb905cf1 100644
--- a/nixpkgs/pkgs/tools/networking/netbird/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netbird/default.nix
@@ -31,16 +31,16 @@ let
 in
 buildGoModule rec {
   pname = "netbird";
-  version = "0.25.7";
+  version = "0.25.9";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DclCqXNGXFTbJTD6zllCUfSR3twnnS4rfXMuRtWQpeQ=";
+    hash = "sha256-asY5/g/RztQqZA5sH2Zoucm6QNUe/8QYoAmMAslnswo=";
   };
 
-  vendorHash = "sha256-61i/QqUFuKXbOGBJVDRi5BdUxB/k18RM8dvgQwiHb/k=";
+  vendorHash = "sha256-CFLwb5cqsfxTxOwuLOB0IMYkRZUNPgB7grjQ4xm84BM=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
diff --git a/nixpkgs/pkgs/tools/networking/netdiscover/default.nix b/nixpkgs/pkgs/tools/networking/netdiscover/default.nix
index 471dd55c4e17..3aec143b3a56 100644
--- a/nixpkgs/pkgs/tools/networking/netdiscover/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netdiscover/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ vdot0x23 ];
     platforms = platforms.unix;
+    mainProgram = "netdiscover";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nethogs/default.nix b/nixpkgs/pkgs/tools/networking/nethogs/default.nix
index 2c7347defdd3..8c2d4ba84291 100644
--- a/nixpkgs/pkgs/tools/networking/nethogs/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nethogs/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/raboof/nethogs#readme";
     platforms = platforms.linux;
     maintainers = [ maintainers.rycee ];
+    mainProgram = "nethogs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nethoscope/default.nix b/nixpkgs/pkgs/tools/networking/nethoscope/default.nix
index 478220210b3d..2b450cf7b8aa 100644
--- a/nixpkgs/pkgs/tools/networking/nethoscope/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nethoscope/default.nix
@@ -53,6 +53,7 @@ rustPlatform.buildRustPackage rec {
     license = licenses.isc;
     maintainers = with maintainers; [ _0x4A6F ];
     platforms = platforms.linux;
+    mainProgram = "nethoscope";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/networking/netifd/default.nix b/nixpkgs/pkgs/tools/networking/netifd/default.nix
index 59b2e4732980..6fd90f6082c9 100644
--- a/nixpkgs/pkgs/tools/networking/netifd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netifd/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl21Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mkg20001 ];
+    mainProgram = "netifd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/netmask/default.nix b/nixpkgs/pkgs/tools/networking/netmask/default.nix
index c1613fcf9206..f564e09ba032 100644
--- a/nixpkgs/pkgs/tools/networking/netmask/default.nix
+++ b/nixpkgs/pkgs/tools/networking/netmask/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.jensbin ];
+    mainProgram = "netmask";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nettee/default.nix b/nixpkgs/pkgs/tools/networking/nettee/default.nix
index c5cbcb19a971..b281d6b29680 100644
--- a/nixpkgs/pkgs/tools/networking/nettee/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nettee/default.nix
@@ -19,6 +19,7 @@ in stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ Profpatsch ];
     platforms = lib.platforms.linux;
+    mainProgram = "nettee";
   };
 
   outputs = [ "bin" "man" "doc" "out" ];
diff --git a/nixpkgs/pkgs/tools/networking/nexttrace/default.nix b/nixpkgs/pkgs/tools/networking/nexttrace/default.nix
index 1bbd4e3685f0..2ad7764b1452 100644
--- a/nixpkgs/pkgs/tools/networking/nexttrace/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nexttrace/default.nix
@@ -29,6 +29,7 @@ buildGoModule rec {
     homepage = "https://mtr.moe";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ sharzy ];
+    mainProgram = "nexttrace";
   };
 }
 
diff --git a/nixpkgs/pkgs/tools/networking/nfstrace/default.nix b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
index 297ada3cc2aa..1a0268f960d2 100644
--- a/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nfstrace/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     description = "NFS and CIFS tracing/monitoring/capturing/analyzing tool";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    mainProgram = "nfstrace";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ngrep/default.nix b/nixpkgs/pkgs/tools/networking/ngrep/default.nix
index c44f6e1eb832..31707ce00d5a 100644
--- a/nixpkgs/pkgs/tools/networking/ngrep/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrep/default.nix
@@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
     };
     platforms = with platforms; linux ++ darwin;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "ngrep";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ngrok/default.nix b/nixpkgs/pkgs/tools/networking/ngrok/default.nix
index fb1574bfdc1e..ac5b19ab4c3f 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ngrok/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation {
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     maintainers = with maintainers; [ bobvanderlinden brodes ];
+    mainProgram = "ngrok";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ngrok/versions.json b/nixpkgs/pkgs/tools/networking/ngrok/versions.json
index 3b52e8f92372..8d90ae6c00e2 100644
--- a/nixpkgs/pkgs/tools/networking/ngrok/versions.json
+++ b/nixpkgs/pkgs/tools/networking/ngrok/versions.json
@@ -1,38 +1,38 @@
 {
   "linux-386": {
     "sys": "linux-386",
-    "url": "https://bin.equinox.io/a/4gMs8FHXopG/ngrok-v3-3.5.0-linux-386",
-    "sha256": "2ab242193e01222d1c5cbfe85389200b97fc3af91374bd4b9c8d86812db7d589",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/5FUi7gCzPvi/ngrok-v3-3.6.0-linux-386",
+    "sha256": "2036fc58594c7205aebaa09e9665d5c706391746122a417e57fa9a1bce62a727",
+    "version": "3.6.0"
   },
   "linux-amd64": {
     "sys": "linux-amd64",
-    "url": "https://bin.equinox.io/a/7qHLVJPrTcc/ngrok-v3-3.5.0-linux-amd64",
-    "sha256": "bd44f722df4435daf61c4bef4fe45d8abdbbf5ccd6c371b6ab405a07fb469c06",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/e6rvYmQb6MC/ngrok-v3-3.6.0-linux-amd64",
+    "sha256": "14e6118f1021b5b8421945a13b15ec501bc88aef0089b1dbf31d1fb229115d9e",
+    "version": "3.6.0"
   },
   "linux-arm": {
     "sys": "linux-arm",
-    "url": "https://bin.equinox.io/a/ciuckTnS7RJ/ngrok-v3-3.5.0-linux-arm",
-    "sha256": "ba0ab1d956a0b05e35da6901691bd18166acc6a833c993e8f6b80f6d608e1d8c",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/iTLH8EwDQN2/ngrok-v3-3.6.0-linux-arm",
+    "sha256": "0bbc395cc610c0017d12a812496856677f6a653f60a76203d0f031914e4cf7bc",
+    "version": "3.6.0"
   },
   "linux-arm64": {
     "sys": "linux-arm64",
-    "url": "https://bin.equinox.io/a/iutMKiLdVzF/ngrok-v3-3.5.0-linux-arm64",
-    "sha256": "85b5ecc96a56a1d19324acb3ca3a38e11a9075be8cb97ee466a1538f8711a69d",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/ibBBjsbrZAm/ngrok-v3-3.6.0-linux-arm64",
+    "sha256": "39575a951352e571f6f96fd4409cbaa675dc4593786c9f198c2fb45360361f02",
+    "version": "3.6.0"
   },
   "darwin-amd64": {
     "sys": "darwin-amd64",
-    "url": "https://bin.equinox.io/a/hrb7DpXGSDS/ngrok-v3-3.5.0-darwin-amd64",
-    "sha256": "3380a2e742600fcef21e390291c4224e3e23fb31e832b695f922a24899125808",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/61nYpJWvYHR/ngrok-v3-3.6.0-darwin-amd64",
+    "sha256": "05ecb8a6e79cfe57663a085d5fc7cfeddd5867b25fc185829c39de4d25e5857d",
+    "version": "3.6.0"
   },
   "darwin-arm64": {
     "sys": "darwin-arm64",
-    "url": "https://bin.equinox.io/a/aH6hGnhtNbT/ngrok-v3-3.5.0-darwin-arm64",
-    "sha256": "cbfd0bcd1d53aa1bc3b6afa54e0c8f01d77f6a369727f4f6eb1451b3a1eab3df",
-    "version": "3.5.0"
+    "url": "https://bin.equinox.io/a/9Zzu7daqPHA/ngrok-v3-3.6.0-darwin-arm64",
+    "sha256": "812829dac649b27f99eaf361306a014eb7ff28d005c3c9d087171342fce9472e",
+    "version": "3.6.0"
   }
 }
diff --git a/nixpkgs/pkgs/tools/networking/noip/default.nix b/nixpkgs/pkgs/tools/networking/noip/default.nix
index 4b57ef7731ed..85614001342f 100644
--- a/nixpkgs/pkgs/tools/networking/noip/default.nix
+++ b/nixpkgs/pkgs/tools/networking/noip/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.iand675 ];
     platforms = platforms.linux;
+    mainProgram = "noip2";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/norouter/default.nix b/nixpkgs/pkgs/tools/networking/norouter/default.nix
index e76cc4544e32..3513cb0cdfbc 100644
--- a/nixpkgs/pkgs/tools/networking/norouter/default.nix
+++ b/nixpkgs/pkgs/tools/networking/norouter/default.nix
@@ -31,5 +31,6 @@ buildGoModule rec {
     homepage = "https://github.com/norouter/norouter";
     license = licenses.asl20;
     maintainers = with maintainers; [ blaggacao ];
+    mainProgram = "norouter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ntopng/default.nix b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
index cc9bc701d8f0..18cb68cba407 100644
--- a/nixpkgs/pkgs/tools/networking/ntopng/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ntopng/default.nix
@@ -89,5 +89,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor ];
+    mainProgram = "ntopng";
   };
 })
diff --git a/nixpkgs/pkgs/tools/networking/ntttcp/default.nix b/nixpkgs/pkgs/tools/networking/ntttcp/default.nix
index 662e4d32fb72..cc816b737bdb 100644
--- a/nixpkgs/pkgs/tools/networking/ntttcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ntttcp/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ delroth ];
     platforms = platforms.linux;
+    mainProgram = "ntttcp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nuttcp/default.nix b/nixpkgs/pkgs/tools/networking/nuttcp/default.nix
index 9483c3ce756d..467159e8c275 100644
--- a/nixpkgs/pkgs/tools/networking/nuttcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nuttcp/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "http://nuttcp.net/";
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
+    mainProgram = "nuttcp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nylon/default.nix b/nixpkgs/pkgs/tools/networking/nylon/default.nix
index b519db4b55b9..37c6d14dfa27 100644
--- a/nixpkgs/pkgs/tools/networking/nylon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nylon/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.linux;
+    mainProgram = "nylon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/nzbget/default.nix b/nixpkgs/pkgs/tools/networking/nzbget/default.nix
index 4e67e81a7de8..2c698ae6c831 100644
--- a/nixpkgs/pkgs/tools/networking/nzbget/default.nix
+++ b/nixpkgs/pkgs/tools/networking/nzbget/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A command line tool for downloading files from news servers";
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; unix;
+    mainProgram = "nzbget";
   };
 })
diff --git a/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix b/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
index e2d406b9691b..05098a828a11 100644
--- a/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oapi-codegen/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     changelog = "https://github.com/deepmap/oapi-codegen/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ j4m3s ];
+    mainProgram = "oapi-codegen";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/octodns/providers/bind/default.nix b/nixpkgs/pkgs/tools/networking/octodns/providers/bind/default.nix
index f615c9a1eed3..d89576c75575 100644
--- a/nixpkgs/pkgs/tools/networking/octodns/providers/bind/default.nix
+++ b/nixpkgs/pkgs/tools/networking/octodns/providers/bind/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "octodns-bind";
-  version = "0.0.5";
+  version = "0.0.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "octodns";
     repo = "octodns-bind";
     rev = "v${version}";
-    hash = "sha256-0ia/xYarrOiLZa8KU0s5wtCGtXIyxSl6OcwNkSJb/rA=";
+    hash = "sha256-IxZr7Wds8wLfJg6rqCtJ59Sg/mCIJ1g9jDJ8CTM7O8w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/networking/ofono/default.nix b/nixpkgs/pkgs/tools/networking/ofono/default.nix
index 33cb492b2149..e87f8a707361 100644
--- a/nixpkgs/pkgs/tools/networking/ofono/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ofono/default.nix
@@ -62,5 +62,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux;
+    mainProgram = "ofonod";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/oha/default.nix b/nixpkgs/pkgs/tools/networking/oha/default.nix
index 7a2f0fc3d25e..2ba7a62152db 100644
--- a/nixpkgs/pkgs/tools/networking/oha/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oha/default.nix
@@ -39,5 +39,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/hatoo/oha/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "oha";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/onetun/default.nix b/nixpkgs/pkgs/tools/networking/onetun/default.nix
index 5200cff7076f..87a9b0bfc82f 100644
--- a/nixpkgs/pkgs/tools/networking/onetun/default.nix
+++ b/nixpkgs/pkgs/tools/networking/onetun/default.nix
@@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/aramperes/onetun";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "onetun";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openconnect/common.nix b/nixpkgs/pkgs/tools/networking/openconnect/common.nix
index e35c8d71cce9..fa54eecb89e1 100644
--- a/nixpkgs/pkgs/tools/networking/openconnect/common.nix
+++ b/nixpkgs/pkgs/tools/networking/openconnect/common.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ pradeepchhetri tricktron alyaeanyx ];
     platforms = lib.platforms.unix;
+    mainProgram = "openconnect";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
index d69f591cab08..17c0d1390f31 100644
--- a/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openfortivpn/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ madjar ];
     platforms = with platforms; linux ++ darwin;
+    mainProgram = "openfortivpn";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/openvpn/default.nix b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
index 46fa0be29c70..091bec29da08 100644
--- a/nixpkgs/pkgs/tools/networking/openvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/openvpn/default.nix
@@ -21,11 +21,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "openvpn";
-  version = "2.6.8";
+  version = "2.6.9";
 
   src = fetchurl {
     url = "https://swupdate.openvpn.net/community/releases/openvpn-${finalAttrs.version}.tar.gz";
-    hash = "sha256-Xt4VZcim2IAQD38jUxen7p7qg9UFLbVUfxOp52r3gF0=";
+    hash = "sha256-4I0UfhW0UI380dZhih8h8UlfmBeo2twe3fBTL6EW1+M=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -63,5 +63,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ viric peterhoeg ];
     platforms = platforms.unix;
+    mainProgram = "openvpn";
   };
 })
diff --git a/nixpkgs/pkgs/tools/networking/oui/default.nix b/nixpkgs/pkgs/tools/networking/oui/default.nix
index 517eb06507b4..9fd613a295e7 100644
--- a/nixpkgs/pkgs/tools/networking/oui/default.nix
+++ b/nixpkgs/pkgs/tools/networking/oui/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/thatmattlove/oui";
     license = with licenses; [ bsd3 ];
     maintainers = teams.wdz.members;
+    mainProgram = "oui";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/owl/default.nix b/nixpkgs/pkgs/tools/networking/owl/default.nix
index 5a726c25a027..568eeca0afff 100644
--- a/nixpkgs/pkgs/tools/networking/owl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/owl/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
     platforms = [ "x86_64-linux" ];
+    mainProgram = "owl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pacparser/default.nix b/nixpkgs/pkgs/tools/networking/pacparser/default.nix
index d4b81928498c..dc45aaac58fa 100644
--- a/nixpkgs/pkgs/tools/networking/pacparser/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pacparser/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "pactester";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pathvector/default.nix b/nixpkgs/pkgs/tools/networking/pathvector/default.nix
index f8560793e9dc..e9ca6f90e5a5 100644
--- a/nixpkgs/pkgs/tools/networking/pathvector/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pathvector/default.nix
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://pathvector.io";
     license = licenses.gpl3;
     maintainers = with maintainers; [ matthewpi ];
+    mainProgram = "pathvector";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pcapc/default.nix b/nixpkgs/pkgs/tools/networking/pcapc/default.nix
index e0cef5402089..35b338a5f63a 100644
--- a/nixpkgs/pkgs/tools/networking/pcapc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pcapc/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     description = "Compile libpcap filter expressions into BPF opcodes";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
+    mainProgram = "pcapc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pcapfix/default.nix b/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
index 5a8f24355c26..3f7a5be86ce0 100644
--- a/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pcapfix/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.ehmry ];
     platforms = platforms.all;
+    mainProgram = "pcapfix";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pgrok/default.nix b/nixpkgs/pkgs/tools/networking/pgrok/default.nix
index ab1c6d9f0a61..e5c9610521ce 100644
--- a/nixpkgs/pkgs/tools/networking/pgrok/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pgrok/default.nix
@@ -51,5 +51,6 @@ buildGoModule rec {
     homepage = "https://github.com/pgrok/pgrok";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ marie ];
+    mainProgram = "pgrok";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/phantomsocks/default.nix b/nixpkgs/pkgs/tools/networking/phantomsocks/default.nix
index 6f3c3ad9a336..7bb053c680f7 100644
--- a/nixpkgs/pkgs/tools/networking/phantomsocks/default.nix
+++ b/nixpkgs/pkgs/tools/networking/phantomsocks/default.nix
@@ -37,5 +37,6 @@ buildGoModule rec {
     '';
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ oluceps ];
+    mainProgram = "phantomsocks";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/photon/default.nix b/nixpkgs/pkgs/tools/networking/photon/default.nix
index 543d9f1a5b96..8a69bd70c149 100644
--- a/nixpkgs/pkgs/tools/networking/photon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/photon/default.nix
@@ -31,5 +31,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/s0md3v/Photon";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ];
+    mainProgram = "photon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/piknik/default.nix b/nixpkgs/pkgs/tools/networking/piknik/default.nix
index 7b5b1a5e04c3..d3b2a8266b88 100644
--- a/nixpkgs/pkgs/tools/networking/piknik/default.nix
+++ b/nixpkgs/pkgs/tools/networking/piknik/default.nix
@@ -33,5 +33,6 @@ buildGoModule rec {
     changelog = "https://github.com/jedisct1/piknik/blob/${src.rev}/ChangeLog";
     license = licenses.bsd2;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "piknik";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pingtcp/default.nix b/nixpkgs/pkgs/tools/networking/pingtcp/default.nix
index 5b4cbf10321f..88476ab85686 100644
--- a/nixpkgs/pkgs/tools/networking/pingtcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pingtcp/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LanetNetwork/pingtcp";
     license = licenses.gpl3;
     platforms = platforms.linux;
+    mainProgram = "pingtcp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pingu/default.nix b/nixpkgs/pkgs/tools/networking/pingu/default.nix
index ca33e4862478..5fcaa0af5fef 100644
--- a/nixpkgs/pkgs/tools/networking/pingu/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pingu/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/sheepla/pingu/";
     license = licenses.mit;
     maintainers = with maintainers; [ CactiChameleon9 ];
+    mainProgram = "pingu";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pixiecore/default.nix b/nixpkgs/pkgs/tools/networking/pixiecore/default.nix
index f1249cfb8286..e73999d44689 100644
--- a/nixpkgs/pkgs/tools/networking/pixiecore/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pixiecore/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/danderson/netboot/tree/master/pixiecore";
     license =  lib.licenses.asl20;
     maintainers = with lib.maintainers; [ bbigras danderson ];
+    mainProgram = "pixiecore";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pixiewps/default.nix b/nixpkgs/pkgs/tools/networking/pixiewps/default.nix
index 82d420755d03..d3a7f0bc69d1 100644
--- a/nixpkgs/pkgs/tools/networking/pixiewps/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pixiewps/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.nico202 ];
     platforms = lib.platforms.all;
+    mainProgram = "pixiewps";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/privoxy/default.nix b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
index 048ee085a6f2..5f394db354c0 100644
--- a/nixpkgs/pkgs/tools/networking/privoxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/privoxy/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ ];
+    mainProgram = "privoxy";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/networking/proxychains/default.nix b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
index 56778defe335..e78b1b0fcd6c 100644
--- a/nixpkgs/pkgs/tools/networking/proxychains/default.nix
+++ b/nixpkgs/pkgs/tools/networking/proxychains/default.nix
@@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
+    mainProgram = "proxychains4";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/pwnat/default.nix b/nixpkgs/pkgs/tools/networking/pwnat/default.nix
index ab123973c0a1..c0ead5468b50 100644
--- a/nixpkgs/pkgs/tools/networking/pwnat/default.nix
+++ b/nixpkgs/pkgs/tools/networking/pwnat/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license     = lib.licenses.gpl3Plus;
     maintainers = with maintainers; [viric];
     platforms   = with platforms; linux;
+    mainProgram = "pwnat";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/q/default.nix b/nixpkgs/pkgs/tools/networking/q/default.nix
index ed3a1a57fc36..fdeddef65460 100644
--- a/nixpkgs/pkgs/tools/networking/q/default.nix
+++ b/nixpkgs/pkgs/tools/networking/q/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/natesales/q";
     license = lib.licenses.gpl3Only;
     maintainers = [ lib.maintainers.das_j ];
+    mainProgram = "q";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/qrcp/default.nix b/nixpkgs/pkgs/tools/networking/qrcp/default.nix
index 0d8a344cbd6d..edd2a9b21633 100644
--- a/nixpkgs/pkgs/tools/networking/qrcp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/qrcp/default.nix
@@ -43,5 +43,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ fgaz ];
     broken = stdenv.isDarwin; # needs golang.org/x/sys bump
+    mainProgram = "qrcp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/quickserve/default.nix b/nixpkgs/pkgs/tools/networking/quickserve/default.nix
index f23bbcd25371..ca175f5f2a91 100644
--- a/nixpkgs/pkgs/tools/networking/quickserve/default.nix
+++ b/nixpkgs/pkgs/tools/networking/quickserve/default.nix
@@ -31,5 +31,6 @@ in stdenv.mkDerivation {
     homepage = "https://xyne.archlinux.ca/projects/quickserve/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ lassulus ];
+    mainProgram = "quickserve";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rathole/default.nix b/nixpkgs/pkgs/tools/networking/rathole/default.nix
index b6338e262f63..1f12ed46b147 100644
--- a/nixpkgs/pkgs/tools/networking/rathole/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rathole/default.nix
@@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/rapiz1/rathole/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "rathole";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rcon/default.nix b/nixpkgs/pkgs/tools/networking/rcon/default.nix
index 03c2a1ae1a37..e51dc3fac371 100644
--- a/nixpkgs/pkgs/tools/networking/rcon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rcon/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ f4814n ];
     platforms = with platforms; linux ++ darwin;
     license = licenses.bsd2;
+    mainProgram = "rcon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rconc/default.nix b/nixpkgs/pkgs/tools/networking/rconc/default.nix
index 613c4a8a31b0..5934dd7e8893 100644
--- a/nixpkgs/pkgs/tools/networking/rconc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rconc/default.nix
@@ -17,5 +17,6 @@ rustPlatform.buildRustPackage rec {
     description = "Simple cross-platform RCON client written in rust";
     homepage = "https://github.com/klemens/rconc";
     license = licenses.gpl3Only;
+    mainProgram = "rconc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rdap/default.nix b/nixpkgs/pkgs/tools/networking/rdap/default.nix
index d6ecc8d59570..3ea80e07dabb 100644
--- a/nixpkgs/pkgs/tools/networking/rdap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rdap/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "Command line client for the Registration Data Access Protocol (RDAP)";
     license = licenses.mit;
     maintainers = with maintainers; [ sebastianblunt ];
+    mainProgram = "rdap";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rdrview/default.nix b/nixpkgs/pkgs/tools/networking/rdrview/default.nix
index 24ba1d35e9af..e4d56be3ffb9 100644
--- a/nixpkgs/pkgs/tools/networking/rdrview/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rdrview/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/eafer/rdrview";
     license = licenses.asl20;
     maintainers = with maintainers; [ djanatyn ];
+    mainProgram = "rdrview";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/redfang/default.nix b/nixpkgs/pkgs/tools/networking/redfang/default.nix
index a4ba12b29489..a6447c19576c 100644
--- a/nixpkgs/pkgs/tools/networking/redfang/default.nix
+++ b/nixpkgs/pkgs/tools/networking/redfang/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/kalilinux/packages/redfang";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ moni ];
+    mainProgram = "fang";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/redir/default.nix b/nixpkgs/pkgs/tools/networking/redir/default.nix
index 83d52fdf10d2..17975521de16 100644
--- a/nixpkgs/pkgs/tools/networking/redir/default.nix
+++ b/nixpkgs/pkgs/tools/networking/redir/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.unix;
+    mainProgram = "redir";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/redli/default.nix b/nixpkgs/pkgs/tools/networking/redli/default.nix
index a9d590e05697..41bc3d9265e6 100644
--- a/nixpkgs/pkgs/tools/networking/redli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/redli/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/IBM-Cloud/redli";
     license = licenses.asl20;
     maintainers = with maintainers; [ tchekda ];
+    mainProgram = "redli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/redsocks/default.nix b/nixpkgs/pkgs/tools/networking/redsocks/default.nix
index cebec2cb2b60..f97dd01e074d 100644
--- a/nixpkgs/pkgs/tools/networking/redsocks/default.nix
+++ b/nixpkgs/pkgs/tools/networking/redsocks/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.asl20;
     maintainers = [ lib.maintainers.ekleog ];
     platforms = lib.platforms.linux;
+    mainProgram = "redsocks";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/requestly/default.nix b/nixpkgs/pkgs/tools/networking/requestly/default.nix
index 671d084b8ecb..20e877563afa 100644
--- a/nixpkgs/pkgs/tools/networking/requestly/default.nix
+++ b/nixpkgs/pkgs/tools/networking/requestly/default.nix
@@ -30,5 +30,6 @@ appimageTools.wrapType2 {
     homepage = "https://requestly.io";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "requestly";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/restish/default.nix b/nixpkgs/pkgs/tools/networking/restish/default.nix
index 807b8e4a9bdf..f8a1cfd466ea 100644
--- a/nixpkgs/pkgs/tools/networking/restish/default.nix
+++ b/nixpkgs/pkgs/tools/networking/restish/default.nix
@@ -52,5 +52,6 @@ buildGoModule rec {
     changelog = "https://github.com/danielgtaylor/restish/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "restish";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rewrk/default.nix b/nixpkgs/pkgs/tools/networking/rewrk/default.nix
index 6b48ce95b423..58aa3f46185b 100644
--- a/nixpkgs/pkgs/tools/networking/rewrk/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rewrk/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/lnx-search/rewrk/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "rewrk";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ripmime/default.nix b/nixpkgs/pkgs/tools/networking/ripmime/default.nix
index 7cfb31ff9858..70ff2cbe7305 100644
--- a/nixpkgs/pkgs/tools/networking/ripmime/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ripmime/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     homepage = "https://pldaniels.com/ripmime/";
     platforms = platforms.all;
+    mainProgram = "ripmime";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/tools/networking/routedns/default.nix b/nixpkgs/pkgs/tools/networking/routedns/default.nix
index 22a0a8266713..0b6f6822bb8d 100644
--- a/nixpkgs/pkgs/tools/networking/routedns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/routedns/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     description = "DNS stub resolver, proxy and router";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jsimonetti ];
+    mainProgram = "routedns";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rshijack/default.nix b/nixpkgs/pkgs/tools/networking/rshijack/default.nix
index 41d716bf61c5..181abdf4b603 100644
--- a/nixpkgs/pkgs/tools/networking/rshijack/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rshijack/default.nix
@@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ xrelkd ];
     platforms = platforms.unix;
+    mainProgram = "rshijack";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/s3rs/default.nix b/nixpkgs/pkgs/tools/networking/s3rs/default.nix
index cb73eaf6b59d..2e72c7cb45bf 100644
--- a/nixpkgs/pkgs/tools/networking/s3rs/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s3rs/default.nix
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/yanganto/s3rs";
     license = licenses.mit;
     maintainers = with maintainers; [ yanganto ];
+    mainProgram = "s3rs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/s5cmd/default.nix b/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
index 8d3b97c0d316..292169d77f77 100644
--- a/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/s5cmd/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     description = "Parallel S3 and local filesystem execution tool";
     license = licenses.mit;
     maintainers = with maintainers; [ tomberek ];
+    mainProgram = "s5cmd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/saldl/default.nix b/nixpkgs/pkgs/tools/networking/saldl/default.nix
index fb373fb5029e..b7281d3a20a7 100644
--- a/nixpkgs/pkgs/tools/networking/saldl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/saldl/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3;
     maintainers = with maintainers; [ zowoq ];
     platforms = platforms.all;
+    mainProgram = "saldl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
index d4e619f563f6..38fb6a60169b 100644
--- a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    hash = "sha256-vW1Q3pqVXR3yn2wixhDZE1QsMmUfKswaGZ6JbJAZ5VM=";
+    hash = "sha256-q7XtYOBruEmjPC4gx+hBO5oRwbxL7wQJenBS8Pl6yRk=";
   };
 
-  cargoHash = "sha256-cjkt6Ivpn3MpjdiPM/tLm3B+v/+VCJyxiF7x1bob528=";
+  cargoHash = "sha256-av4xUjoUGt53UoEpWULv15JKVWZq1x0YXvF5XFf4meQ=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/tools/networking/shncpd/default.nix b/nixpkgs/pkgs/tools/networking/shncpd/default.nix
index 8cfd1f94252a..ed724c24cf79 100644
--- a/nixpkgs/pkgs/tools/networking/shncpd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/shncpd/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = [ maintainers.fpletz ];
+    mainProgram = "shncpd";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/simpleproxy/default.nix b/nixpkgs/pkgs/tools/networking/simpleproxy/default.nix
index 6c110be05da3..7f9ccd1c9865 100644
--- a/nixpkgs/pkgs/tools/networking/simpleproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/simpleproxy/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "A simple TCP proxy";
     license = licenses.gpl2;
     maintainers = [ maintainers.montag451 ];
+    mainProgram = "simpleproxy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sipcalc/default.nix b/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
index c9470cd5b8b3..1ba4db5bc0d2 100644
--- a/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms = platforms.all;
     maintainers = [ maintainers.globin ];
+    mainProgram = "sipcalc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sipexer/default.nix b/nixpkgs/pkgs/tools/networking/sipexer/default.nix
index d88faee09f0f..d1be5e9f7770 100644
--- a/nixpkgs/pkgs/tools/networking/sipexer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sipexer/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     changelog = "https://github.com/miconda/sipexer/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ astro janik ];
+    mainProgram = "sipexer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sipsak/default.nix b/nixpkgs/pkgs/tools/networking/sipsak/default.nix
index c2aeaaa18e00..4d1cf08a11b8 100644
--- a/nixpkgs/pkgs/tools/networking/sipsak/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sipsak/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2;
     maintainers = with maintainers; [ sheenobu ];
     platforms = with platforms; unix;
+    mainProgram = "sipsak";
   };
 
 }
diff --git a/nixpkgs/pkgs/tools/networking/sish/default.nix b/nixpkgs/pkgs/tools/networking/sish/default.nix
index d1913e5dff41..afac612d0604 100644
--- a/nixpkgs/pkgs/tools/networking/sish/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sish/default.nix
@@ -38,5 +38,6 @@ buildGoModule rec {
     changelog = "https://github.com/antoniomika/sish/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "sish";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sitespeed-io/default.nix b/nixpkgs/pkgs/tools/networking/sitespeed-io/default.nix
index f7b71b2fb4ca..846e386ced3b 100644
--- a/nixpkgs/pkgs/tools/networking/sitespeed-io/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sitespeed-io/default.nix
@@ -2,13 +2,14 @@
 , stdenv
 , fetchFromGitHub
 , buildNpmPackage
-, makeWrapper
+, nodejs_18
 , coreutils
 , ffmpeg-headless
 , imagemagick_light
 , procps
 , python3
 , xorg
+, nix-update-script
 
 # chromedriver is more efficient than geckodriver, but is available on less platforms.
 
@@ -23,15 +24,17 @@
 assert (!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled.";
 buildNpmPackage rec {
   pname = "sitespeed-io";
-  version = "27.3.1";
+  version = "33.0.0";
 
   src = fetchFromGitHub {
     owner = "sitespeedio";
     repo = "sitespeed.io";
     rev = "v${version}";
-    hash = "sha256-Z4U4ZIw5Du/VSHIsGKdgu7wRv/6XVh/nMFDs8aYwkOQ=";
+    hash = "sha256-UmviwcxL67fn8B4ruJH9yKdcYVqmxqKSImQszKhDHZ0=";
   };
 
+  nodejs = nodejs_18;
+
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
   '';
@@ -41,11 +44,9 @@ buildNpmPackage rec {
   GECKODRIVER_SKIP_DOWNLOAD = true;
   EDGEDRIVER_SKIP_DOWNLOAD = true;
 
-  nativeBuildInputs = [ python3 makeWrapper ];
-
   dontNpmBuild = true;
   npmInstallFlags = [ "--omit=dev" ];
-  npmDepsHash = "sha256-RfZlXE8hnAJKiiWdOGFsAFGcxwgnLNvLrXeIinABFb0=";
+  npmDepsHash = "sha256-FggwOnuQ+azgdLxfc6EUAsbl0+il6/2+p1t7MCrTNgE=";
 
   postInstall = ''
     mv $out/bin/sitespeed{.,-}io
@@ -81,6 +82,10 @@ buildNpmPackage rec {
         ${lib.optionalString (withFirefox && !withChromium) "--add-flags '-b firefox'"}
     '';
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     description = "An open source tool that helps you monitor, analyze and optimize your website speed and performance";
     homepage = "https://sitespeed.io";
diff --git a/nixpkgs/pkgs/tools/networking/sleep-on-lan/default.nix b/nixpkgs/pkgs/tools/networking/sleep-on-lan/default.nix
index de4831ddeadd..bd55711830bc 100644
--- a/nixpkgs/pkgs/tools/networking/sleep-on-lan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sleep-on-lan/default.nix
@@ -30,5 +30,6 @@ buildGoModule rec {
     license = licenses.asl20;
     platforms = platforms.linux;
     maintainers = with maintainers; [ devusb ];
+    mainProgram = "sleep-on-lan";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
index 0daf91ae14d5..2b2091d85b27 100644
--- a/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/slirp4netns/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ orivej ] ++ teams.podman.members;
     platforms = platforms.linux;
+    mainProgram = "slirp4netns";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/slowlorust/default.nix b/nixpkgs/pkgs/tools/networking/slowlorust/default.nix
index bcfdfc7769eb..c48257130b2d 100644
--- a/nixpkgs/pkgs/tools/networking/slowlorust/default.nix
+++ b/nixpkgs/pkgs/tools/networking/slowlorust/default.nix
@@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/MJVL/slowlorust";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "slowlorust";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/smartdns/default.nix b/nixpkgs/pkgs/tools/networking/smartdns/default.nix
index 79b089e8e16a..e7355eb07a75 100644
--- a/nixpkgs/pkgs/tools/networking/smartdns/default.nix
+++ b/nixpkgs/pkgs/tools/networking/smartdns/default.nix
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.lexuge ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    mainProgram = "smartdns";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/snabb/default.nix b/nixpkgs/pkgs/tools/networking/snabb/default.nix
index 00bc41f69e77..16c6a40bb347 100644
--- a/nixpkgs/pkgs/tools/networking/snabb/default.nix
+++ b/nixpkgs/pkgs/tools/networking/snabb/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     license = licenses.asl20;
     maintainers = [ maintainers.lukego ];
+    mainProgram = "snabb";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/snet/default.nix b/nixpkgs/pkgs/tools/networking/snet/default.nix
index 4775d789d7c1..47f70a21d33b 100644
--- a/nixpkgs/pkgs/tools/networking/snet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/snet/default.nix
@@ -18,5 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/monsterxx03/snet";
     license = licenses.mit;
     maintainers = with maintainers; [ azuwis ];
+    mainProgram = "snet";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix b/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix
index e27ead59e971..b365ccc5f191 100644
--- a/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix
+++ b/nixpkgs/pkgs/tools/networking/snmpcheck/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.nothink.org/codes/snmpcheck/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ elohmeier ];
+    mainProgram = "snmp-check";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/snowflake/default.nix b/nixpkgs/pkgs/tools/networking/snowflake/default.nix
index 556a3101cb65..cac350ff597a 100644
--- a/nixpkgs/pkgs/tools/networking/snowflake/default.nix
+++ b/nixpkgs/pkgs/tools/networking/snowflake/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     description = "System to defeat internet censorship";
     homepage = "https://snowflake.torproject.org/";
     changelog = "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/raw/v${version}/ChangeLog";
-    maintainers = with maintainers; [ lourkeur yayayayaka ];
+    maintainers = with maintainers; [ bbjubjub yayayayaka ];
     license = licenses.bsd3;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sockperf/default.nix b/nixpkgs/pkgs/tools/networking/sockperf/default.nix
index 8f7bcc65d1ca..ed071322f2f8 100644
--- a/nixpkgs/pkgs/tools/networking/sockperf/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sockperf/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
+    mainProgram = "sockperf";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/speedtest-go/default.nix b/nixpkgs/pkgs/tools/networking/speedtest-go/default.nix
index 39c92fcb40d1..9570442345ec 100644
--- a/nixpkgs/pkgs/tools/networking/speedtest-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/speedtest-go/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     changelog = "https://github.com/showwin/speedtest-go/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ aleksana ];
+    mainProgram = "speedtest-go";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/speedtest-rs/default.nix b/nixpkgs/pkgs/tools/networking/speedtest-rs/default.nix
index 182f041d2977..22f4fba0c01a 100644
--- a/nixpkgs/pkgs/tools/networking/speedtest-rs/default.nix
+++ b/nixpkgs/pkgs/tools/networking/speedtest-rs/default.nix
@@ -9,21 +9,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "speedtest-rs";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchFromGitHub {
     owner = "nelsonjchen";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/d6A+Arlcc3SCKPSkYXwvqY2BRyAbA33Ah+GddHcc5M=";
+    hash = "sha256-JKthXrosqDZh6CWEqT08h3ySPZulitDol7lX3Eo7orM=";
   };
 
   buildInputs = [ openssl ] ++
-    lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+    lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.Security
+      darwin.apple_sdk.frameworks.SystemConfiguration
+    ];
 
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-4TJEM+oMjx/aaZgY2Y679pYFTdEWWFpWDYrK/o2b5UM=";
+  cargoHash = "sha256-kUXHC/qXgukaUqaBykXB2ZWmfQEjzJuIyemr1ogVX1U=";
 
   meta = with lib; {
     description = "Command line internet speedtest tool written in rust";
@@ -31,5 +34,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/nelsonjchen/speedtest-rs/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ GaetanLepage ];
+    mainProgram = "speedtest-rs";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/spoofer/default.nix b/nixpkgs/pkgs/tools/networking/spoofer/default.nix
index 905a28b1b3d0..bf969ae5d1f5 100644
--- a/nixpkgs/pkgs/tools/networking/spoofer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/spoofer/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ leenaars];
+    mainProgram = "spoofer-prober";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/srelay/default.nix b/nixpkgs/pkgs/tools/networking/srelay/default.nix
index a609328220f3..784aca8fe431 100644
--- a/nixpkgs/pkgs/tools/networking/srelay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/srelay/default.nix
@@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.bsd3;
     # never built on aarch64-linux since first introduction in nixpkgs
     broken = stdenv.isLinux && stdenv.isAarch64;
+    mainProgram = "srelay";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ssh-agents/default.nix b/nixpkgs/pkgs/tools/networking/ssh-agents/default.nix
index a4e930281a50..f9414d9835d3 100644
--- a/nixpkgs/pkgs/tools/networking/ssh-agents/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssh-agents/default.nix
@@ -39,5 +39,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ kalbasit ];
     platforms = platforms.unix;
+    mainProgram = "ssh-agents";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ssh-ident/default.nix b/nixpkgs/pkgs/tools/networking/ssh-ident/default.nix
index 1822eda26278..3886828c5221 100644
--- a/nixpkgs/pkgs/tools/networking/ssh-ident/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssh-ident/default.nix
@@ -27,5 +27,6 @@ stdenvNoCC.mkDerivation {
     license = licenses.bsd2;
     maintainers = with maintainers; [ telotortium ];
     platforms = with platforms; unix;
+    mainProgram = "ssh-ident";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix b/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix
index ed8b9cac734b..408719f74653 100644
--- a/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssh-key-confirmer/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/benjojo/ssh-key-confirmer";
     license = licenses.mit;
     maintainers = with maintainers; [ oxzi ];
+    mainProgram = "ssh-key-confirmer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sshed/default.nix b/nixpkgs/pkgs/tools/networking/sshed/default.nix
index cedb7bf0bc68..ac221f49ed2b 100644
--- a/nixpkgs/pkgs/tools/networking/sshed/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sshed/default.nix
@@ -25,5 +25,6 @@ buildGoModule rec {
     homepage = "https://github.com/trntv/sshed";
     license = licenses.asl20;
     maintainers = with maintainers; [ ocfox ];
+    mainProgram = "sshed";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sshpass/default.nix b/nixpkgs/pkgs/tools/networking/sshpass/default.nix
index a3948aed08f4..6818fe33a94d 100644
--- a/nixpkgs/pkgs/tools/networking/sshpass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sshpass/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.madjar ];
     platforms = platforms.unix;
+    mainProgram = "sshpass";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sshping/default.nix b/nixpkgs/pkgs/tools/networking/sshping/default.nix
index 13abba539ac5..608c8125f0d2 100644
--- a/nixpkgs/pkgs/tools/networking/sshping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sshping/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ jqueiroz ];
+    mainProgram = "sshping";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/ssldump/default.nix b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
index 478d2785ad3f..a855315a565c 100644
--- a/nixpkgs/pkgs/tools/networking/ssldump/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ssldump/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = "BSD-style";
     maintainers = with maintainers; [ aycanirican ];
     platforms = platforms.unix;
+    mainProgram = "ssldump";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sslsplit/default.nix b/nixpkgs/pkgs/tools/networking/sslsplit/default.nix
index 6712d44569c4..ca8a96d3321f 100644
--- a/nixpkgs/pkgs/tools/networking/sslsplit/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sslsplit/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ contrun ];
     license = with licenses; [ bsd2 mit unlicense free ];
+    mainProgram = "sslsplit";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/sstp/default.nix b/nixpkgs/pkgs/tools/networking/sstp/default.nix
index b93d6cbd9cfb..72745114a26e 100644
--- a/nixpkgs/pkgs/tools/networking/sstp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sstp/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
+    mainProgram = "sstpc";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/stun/default.nix b/nixpkgs/pkgs/tools/networking/stun/default.nix
index c74c73ec6a0e..de4787eca63a 100644
--- a/nixpkgs/pkgs/tools/networking/stun/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stun/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license     = licenses.vsl10;
     maintainers = with maintainers; [ marcweber obadz ];
     platforms   = platforms.linux;
+    mainProgram = "stun";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/stunnel/default.nix b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
index cf23252b2e96..219b72854616 100644
--- a/nixpkgs/pkgs/tools/networking/stunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stunnel/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.thoughtpolice ];
     platforms = lib.platforms.unix;
+    mainProgram = "stunnel";
   };
 })
diff --git a/nixpkgs/pkgs/tools/networking/subfinder/default.nix b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
index 73fe59095a0c..3cc7c51199de 100644
--- a/nixpkgs/pkgs/tools/networking/subfinder/default.nix
+++ b/nixpkgs/pkgs/tools/networking/subfinder/default.nix
@@ -32,5 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/projectdiscovery/subfinder";
     license = licenses.mit;
     maintainers = with maintainers; [ fpletz Br1ght0ne Misaka13514 ];
+    mainProgram = "subfinder";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/suckit/default.nix b/nixpkgs/pkgs/tools/networking/suckit/default.nix
index c6f18b26b8c4..3bd9f825469a 100644
--- a/nixpkgs/pkgs/tools/networking/suckit/default.nix
+++ b/nixpkgs/pkgs/tools/networking/suckit/default.nix
@@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/skallwar/suckit";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ figsoda ];
+    mainProgram = "suckit";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/swagger-cli/default.nix b/nixpkgs/pkgs/tools/networking/swagger-cli/default.nix
index 5a20ce93cc7c..8658ad45520a 100644
--- a/nixpkgs/pkgs/tools/networking/swagger-cli/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swagger-cli/default.nix
@@ -25,5 +25,6 @@ buildNpmPackage rec {
     homepage = "https://apitools.dev/swagger-cli/";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "swagger-cli";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix b/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
index 27ea4ff2d517..15e125f64fb9 100644
--- a/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swagger-codegen/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     maintainers = [ maintainers.jraygauthier ];
+    mainProgram = "swagger-codegen";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix b/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
index ef538cd68f63..da511769a8e0 100644
--- a/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
+++ b/nixpkgs/pkgs/tools/networking/swagger-codegen3/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, jre, makeWrapper, testers, swagger-codegen3 }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.52";
+  version = "3.0.53";
   pname = "swagger-codegen";
 
   jarfilename = "${pname}-cli-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/swagger/codegen/v3/${pname}-cli/${version}/${jarfilename}";
-    sha256 = "sha256-bBiETNzgySrOSFUB6356jiwDhwQ34QrOf2KdP5lv3Yg=";
+    sha256 = "sha256-o6z4yL0PadbVRx2YGEyPHAVpF82vandxPfQeKcQaLok=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/tools/networking/tayga/default.nix b/nixpkgs/pkgs/tools/networking/tayga/default.nix
index 382b010515e8..1fa1d8dd5610 100644
--- a/nixpkgs/pkgs/tools/networking/tayga/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tayga/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ _0x4A6F ];
     platforms = platforms.linux;
+    mainProgram = "tayga";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tcp-cutter/default.nix b/nixpkgs/pkgs/tools/networking/tcp-cutter/default.nix
index ade825dbe103..71075cc5dd1c 100644
--- a/nixpkgs/pkgs/tools/networking/tcp-cutter/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcp-cutter/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.offline ];
+    mainProgram = "tcp-cutter";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tcpflow/default.nix b/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
index 46fda2295943..73de0acef4e6 100644
--- a/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl3;
     maintainers = with maintainers; [ raskin obadz ];
     platforms   = platforms.unix;
+    mainProgram = "tcpflow";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix b/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
index 379caedaaf1b..cc5594afd5a5 100644
--- a/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcptraceroute/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mct/tcptraceroute";
     license = lib.licenses.gpl2;
     maintainers = [ ];
+    mainProgram = "tcptraceroute";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
index 49f44f52bc5f..35629c261f1e 100644
--- a/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
@@ -27,13 +27,13 @@ let
 in
 buildGoModule rec {
   pname = "telepresence2";
-  version = "2.17.0";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = "v${version}";
-    hash = "sha256-wmoOBoMjPCNJGg86Cl2V4izZQDiZjNzwErvWMYY1MGk=";
+    hash = "sha256-zk6HyZfYeJecJgdMU3qnXIKDYuvnu5yjSZtVvKem4uI=";
   };
 
   propagatedBuildInputs = [
@@ -47,7 +47,7 @@ buildGoModule rec {
     export CGO_ENABLED=0
   '';
 
-  vendorHash = "sha256-rTlMd56iBSBLTRYJlKHWmYyyeBtNk2WQ3hrPJl9dMYI=";
+  vendorHash = "sha256-wvzrnwzkV4SXsiZfIrowMF0G7qFdjEVrF77vM81rxLs=";
 
   ldflags = [
     "-s" "-w" "-X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}"
diff --git a/nixpkgs/pkgs/tools/networking/tendermint/default.nix b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
index a861ab0b0ed9..858a306e95bb 100644
--- a/nixpkgs/pkgs/tools/networking/tendermint/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tendermint/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ alexfmpe ];
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "tendermint";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/termscp/default.nix b/nixpkgs/pkgs/tools/networking/termscp/default.nix
index e7fef14cec59..101a38e4f5dd 100644
--- a/nixpkgs/pkgs/tools/networking/termscp/default.nix
+++ b/nixpkgs/pkgs/tools/networking/termscp/default.nix
@@ -60,5 +60,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/veeso/termscp/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "termscp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix b/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
index 71e5dea12be6..8e609a886b30 100644
--- a/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tinyfecvpn/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    mainProgram = "tinyvpn";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tox-node/default.nix b/nixpkgs/pkgs/tools/networking/tox-node/default.nix
index 4056321c9345..10a823f28736 100644
--- a/nixpkgs/pkgs/tools/networking/tox-node/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tox-node/default.nix
@@ -23,5 +23,6 @@ rustPlatform.buildRustPackage rec {
     license = [ licenses.gpl3Plus ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ suhr kurnevsky ];
+    mainProgram = "tox-node";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/traceroute/default.nix b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
index 90e53b184a56..e0c7fd61a75a 100644
--- a/nixpkgs/pkgs/tools/networking/traceroute/default.nix
+++ b/nixpkgs/pkgs/tools/networking/traceroute/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ koral ];
     platforms = platforms.linux;
+    mainProgram = "traceroute";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tran/default.nix b/nixpkgs/pkgs/tools/networking/tran/default.nix
index 3a9a78a55e97..767211a7e532 100644
--- a/nixpkgs/pkgs/tools/networking/tran/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tran/default.nix
@@ -29,5 +29,6 @@ buildGoModule rec {
     homepage = "https://github.com/abdfnx/tran";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "tran";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/transmission-rss/default.nix b/nixpkgs/pkgs/tools/networking/transmission-rss/default.nix
index 095ccfb91a5a..19df133e4028 100644
--- a/nixpkgs/pkgs/tools/networking/transmission-rss/default.nix
+++ b/nixpkgs/pkgs/tools/networking/transmission-rss/default.nix
@@ -25,5 +25,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/herlon214/transmission-rss";
     maintainers = with maintainers; [ icewind1991 ];
     license = licenses.mit;
+    mainProgram = "transmission-rss";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/trurl/default.nix b/nixpkgs/pkgs/tools/networking/trurl/default.nix
index 50b70e3f574b..b709c2a2b105 100644
--- a/nixpkgs/pkgs/tools/networking/trurl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/trurl/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.curl;
     maintainers = with maintainers; [ christoph-heiss ];
     platforms = platforms.all;
+    mainProgram = "trurl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tun2socks/default.nix b/nixpkgs/pkgs/tools/networking/tun2socks/default.nix
index 37019a38b348..dc7cdd243fec 100644
--- a/nixpkgs/pkgs/tools/networking/tun2socks/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tun2socks/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     description = "tun2socks - powered by gVisor TCP/IP stack";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ nickcao ];
+    mainProgram = "tun2socks";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tunwg/default.nix b/nixpkgs/pkgs/tools/networking/tunwg/default.nix
index dfcbbff907b7..1b36709baa48 100644
--- a/nixpkgs/pkgs/tools/networking/tunwg/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tunwg/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/ntnj/tunwg";
     license = licenses.mit;
     maintainers = with maintainers; [ dit7ya ];
+    mainProgram = "tunwg";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/udpreplay/default.nix b/nixpkgs/pkgs/tools/networking/udpreplay/default.nix
index 73bbe7933499..53147a9fe7a4 100644
--- a/nixpkgs/pkgs/tools/networking/udpreplay/default.nix
+++ b/nixpkgs/pkgs/tools/networking/udpreplay/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.considerate ];
     platforms = platforms.linux;
+    mainProgram = "udpreplay";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/udptunnel/default.nix b/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
index 362f6fbbc2cf..396d105ca287 100644
--- a/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/udptunnel/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [viric];
     platforms = with lib.platforms; linux;
+    mainProgram = "udptunnel";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/uqmi/default.nix b/nixpkgs/pkgs/tools/networking/uqmi/default.nix
index 83500191b71e..6fd830435aa1 100644
--- a/nixpkgs/pkgs/tools/networking/uqmi/default.nix
+++ b/nixpkgs/pkgs/tools/networking/uqmi/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation {
     license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ fpletz mkg20001 ];
+    mainProgram = "uqmi";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/vegeta/default.nix b/nixpkgs/pkgs/tools/networking/vegeta/default.nix
index caa420cbfa7a..a7b71272e9a2 100644
--- a/nixpkgs/pkgs/tools/networking/vegeta/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vegeta/default.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     changelog = "https://github.com/tsenart/vegeta/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ mmahut ];
+    mainProgram = "vegeta";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/vlan/default.nix b/nixpkgs/pkgs/tools/networking/vlan/default.nix
index aff4ebd09f37..d93c61bda547 100644
--- a/nixpkgs/pkgs/tools/networking/vlan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vlan/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     description = "User mode programs to enable VLANs on Ethernet devices";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
+    mainProgram = "vconfig";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/vopono/default.nix b/nixpkgs/pkgs/tools/networking/vopono/default.nix
index b8dbed5a02fa..f540d59d9a01 100644
--- a/nixpkgs/pkgs/tools/networking/vopono/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vopono/default.nix
@@ -20,5 +20,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
+    mainProgram = "vopono";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wakelan/default.nix b/nixpkgs/pkgs/tools/networking/wakelan/default.nix
index 3416b33281d3..2b18d5fd60ae 100644
--- a/nixpkgs/pkgs/tools/networking/wakelan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wakelan/default.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.viric ];
     platforms = lib.platforms.unix;
+    mainProgram = "wakelan";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wakeonlan/default.nix b/nixpkgs/pkgs/tools/networking/wakeonlan/default.nix
index b15aadcb3ee3..4a9f0936f940 100644
--- a/nixpkgs/pkgs/tools/networking/wakeonlan/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wakeonlan/default.nix
@@ -33,5 +33,6 @@ perlPackages.buildPerlPackage rec {
     homepage = "https://github.com/jpoliv/wakeonlan";
     license = licenses.artistic1;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "wakeonlan";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wavemon/default.nix b/nixpkgs/pkgs/tools/networking/wavemon/default.nix
index 8db0ed674b4f..259996d93540 100644
--- a/nixpkgs/pkgs/tools/networking/wavemon/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wavemon/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ raskin fpletz ];
     platforms = platforms.linux;
+    mainProgram = "wavemon";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wbox/default.nix b/nixpkgs/pkgs/tools/networking/wbox/default.nix
index 3a5fce6808f8..16f0883cd1d9 100644
--- a/nixpkgs/pkgs/tools/networking/wbox/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wbox/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.hping.org/wbox/";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.unix;
+    mainProgram = "wbox";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix b/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix
index 2f74cd86e736..ed8681315365 100644
--- a/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wg-netmanager/default.nix
@@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec {
     license = with licenses; [ mit asl20 bsd3 mpl20 ];
     maintainers = with maintainers; [ gin66 ];
     platforms = platforms.linux;
+    mainProgram = "wg_netmanager";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wget2/default.nix b/nixpkgs/pkgs/tools/networking/wget2/default.nix
index 27d1a659029b..017e6303ab2c 100644
--- a/nixpkgs/pkgs/tools/networking/wget2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wget2/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     # wget2 GPLv3+; libwget LGPLv3+
     license = with licenses; [ gpl3Plus lgpl3Plus ];
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "wget2";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/whois/default.nix b/nixpkgs/pkgs/tools/networking/whois/default.nix
index 992303ec6072..1fd5cb97383e 100644
--- a/nixpkgs/pkgs/tools/networking/whois/default.nix
+++ b/nixpkgs/pkgs/tools/networking/whois/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.unix;
+    mainProgram = "whois";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
index 0812726ab0e8..867de41d4816 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-go/default.nix
@@ -34,5 +34,6 @@ buildGoModule rec {
     homepage = "https://git.zx2c4.com/wireguard-go/about/";
     license = licenses.mit;
     maintainers = with maintainers; [ kirelagin yana zx2c4 ];
+    mainProgram = "wireguard-go";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-vanity-address/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-vanity-address/default.nix
index 74975e52b633..cc7ebc557faf 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-vanity-address/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireguard-vanity-address/default.nix
@@ -20,5 +20,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/warner/wireguard-vanity-address";
     license = licenses.mit;
     maintainers = with maintainers; [ bcc32 ];
+    mainProgram = "wireguard-vanity-address";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wireproxy/default.nix b/nixpkgs/pkgs/tools/networking/wireproxy/default.nix
index 7a12e477c050..1ce31211f5b5 100644
--- a/nixpkgs/pkgs/tools/networking/wireproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wireproxy/default.nix
@@ -1,19 +1,19 @@
 { lib
-, buildGo120Module
+, buildGoModule
 , fetchFromGitHub
 , testers
 , wireproxy
 }:
 
-buildGo120Module rec {
+buildGoModule rec {
   pname = "wireproxy";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "pufferffish";
     repo = "wireproxy";
     rev = "v${version}";
-    hash = "sha256-Sy8jApnU3dpsXi5vWyEY6D250xpG73aByNZ/pSg90l0=";
+    hash = "sha256-lMTlocKtOg82dH8XU+bIgPhico3mueLAuTspAY88GFI=";
   };
 
   ldflags = [
@@ -22,7 +22,7 @@ buildGo120Module rec {
     "-X main.version=v${version}"
   ];
 
-  vendorHash = "sha256-LBLEb2oVi5ILNtoOtmJZ7NC7hMvLZcexYAxwmb4iUBo=";
+  vendorHash = "sha256-V9W7Z8vgPdudNivfmGzJe1f6ebrZEqlG4AdIf2NNGrY=";
 
   passthru.tests.version = testers.testVersion {
     package = wireproxy;
@@ -35,5 +35,6 @@ buildGo120Module rec {
     homepage = "https://github.com/octeep/wireproxy";
     license = licenses.isc;
     maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+    mainProgram = "wireproxy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wormhole-william/default.nix b/nixpkgs/pkgs/tools/networking/wormhole-william/default.nix
index af439b741305..e08c0e51a58a 100644
--- a/nixpkgs/pkgs/tools/networking/wormhole-william/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wormhole-william/default.nix
@@ -26,5 +26,6 @@ buildGoModule rec {
     changelog = "https://github.com/psanford/wormhole-william/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ psanford ];
+    mainProgram = "wormhole-william";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wrk/default.nix b/nixpkgs/pkgs/tools/networking/wrk/default.nix
index 20efd6f0182a..082497ad7d28 100644
--- a/nixpkgs/pkgs/tools/networking/wrk/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wrk/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ragge ];
     platforms = platforms.unix;
+    mainProgram = "wrk";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wrk2/default.nix b/nixpkgs/pkgs/tools/networking/wrk2/default.nix
index 62d4cd5dd678..6d2988705129 100644
--- a/nixpkgs/pkgs/tools/networking/wrk2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wrk2/default.nix
@@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ thoughtpolice ];
     # never built on aarch64-linux since first introduction in nixpkgs
     broken = stdenv.isLinux && stdenv.isAarch64;
+    mainProgram = "wrk2";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wsl-vpnkit/default.nix b/nixpkgs/pkgs/tools/networking/wsl-vpnkit/default.nix
index 39152cbab205..b9b25747a50f 100644
--- a/nixpkgs/pkgs/tools/networking/wsl-vpnkit/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wsl-vpnkit/default.nix
@@ -80,5 +80,6 @@ resholve.mkDerivation {
     changelog = "https://github.com/sakai135/wsl-vpnkit/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ terlar ];
+    mainProgram = "wsl-vpnkit";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/wuzz/default.nix b/nixpkgs/pkgs/tools/networking/wuzz/default.nix
index 6f1a5eeccae7..0ee71eb1e651 100644
--- a/nixpkgs/pkgs/tools/networking/wuzz/default.nix
+++ b/nixpkgs/pkgs/tools/networking/wuzz/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     description = "Interactive cli tool for HTTP inspection";
     license = licenses.agpl3;
     maintainers = with maintainers; [ pradeepchhetri ];
+    mainProgram = "wuzz";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/xrootd/default.nix b/nixpkgs/pkgs/tools/networking/xrootd/default.nix
index e32139fdfceb..1ceb6380aaa1 100644
--- a/nixpkgs/pkgs/tools/networking/xrootd/default.nix
+++ b/nixpkgs/pkgs/tools/networking/xrootd/default.nix
@@ -2,8 +2,10 @@
 , stdenv
 , callPackage
 , fetchFromGitHub
+, davix
 , cmake
 , cppunit
+, gtest
 , makeWrapper
 , pkg-config
 , curl
@@ -14,6 +16,7 @@
 , libxml2
 , openssl
 , readline
+, scitokens-cpp
 , systemd
 , voms
 , zlib
@@ -22,21 +25,19 @@
   # If not null, the builder will
   # move "$out/etc" to "$out/etc.orig" and symlink "$out/etc" to externalEtc.
 , externalEtc ? "/etc"
+, removeReferencesTo
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-
-  __structuredAttrs = true;
-
   pname = "xrootd";
-  version = "5.5.5";
+  version = "5.6.6";
 
   src = fetchFromGitHub {
     owner = "xrootd";
     repo = "xrootd";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-SLmxv8opN7z4V07S9kLGo8HG7Ql62iZQLtf3zGemwA8=";
+    hash = "sha256-vSZKTsDMY5bhfniFOQ11VA30gjfb4Y8tCC7JNjNw8Y0=";
   };
 
   outputs = [ "bin" "out" "dev" "man" ]
@@ -62,9 +63,11 @@ stdenv.mkDerivation (finalAttrs: {
     cmake
     makeWrapper
     pkg-config
+    removeReferencesTo
   ];
 
   buildInputs = [
+    davix
     curl
     libkrb5
     libuuid
@@ -72,7 +75,11 @@ stdenv.mkDerivation (finalAttrs: {
     libxml2
     openssl
     readline
+    scitokens-cpp
     zlib
+  ]
+  ++ lib.optionals (!stdenv.isDarwin) [
+    # https://github.com/xrootd/xrootd/blob/5b5a1f6957def2816b77ec773c7e1bfb3f1cfc5b/cmake/XRootDFindLibs.cmake#L58
     fuse
   ]
   ++ lib.optionals stdenv.isLinux [
@@ -80,11 +87,16 @@ stdenv.mkDerivation (finalAttrs: {
     voms
   ]
   ++ lib.optionals enableTestRunner [
+    gtest
     cppunit
   ];
 
   preConfigure = ''
     patchShebangs genversion.sh
+    substituteInPlace cmake/XRootDConfig.cmake.in \
+      --replace-fail "@PACKAGE_CMAKE_INSTALL_" "@CMAKE_INSTALL_FULL_"
+  '' + lib.optionalString stdenv.isDarwin ''
+    sed -i cmake/XRootDOSDefs.cmake -e '/set( MacOSX TRUE )/ainclude( GNUInstallDirs )'
   '';
 
   # https://github.com/xrootd/xrootd/blob/master/packaging/rhel/xrootd.spec.in#L665-L675=
@@ -98,31 +110,38 @@ stdenv.mkDerivation (finalAttrs: {
     install -m 644 -t "$out/etc/xrootd/client.plugins.d" ../packaging/common/client-plugin.conf.example
     mkdir -p "$out/etc/logrotate.d"
     install -m 644 -T ../packaging/common/xrootd.logrotate "$out/etc/logrotate.d/xrootd"
+  ''
+  # Leaving those in bin/ leads to a cyclic reference between $dev and $bin
+  # This happens since https://github.com/xrootd/xrootd/commit/fe268eb622e2192d54a4230cea54c41660bd5788
+  # So far, this xrootd-config script does not seem necessary in $bin
+  + ''
+    moveToOutput "bin/xrootd-config" "$dev"
+    moveToOutput "bin/.xrootd-config-wrapped" "$dev"
   '' + lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/lib/systemd/system"
     install -m 644 -t "$out/lib/systemd/system" ../packaging/common/*.service ../packaging/common/*.socket
   '';
 
-  cmakeFlags = lib.optionals enableTestRunner [
+  cmakeFlags = [
+    "-DXRootD_VERSION_STRING=${finalAttrs.version}"
+  ] ++ lib.optionals enableTestRunner [
+    "-DFORCE_ENABLED=TRUE"
+    "-DENABLE_DAVIX=TRUE"
+    "-DENABLE_FUSE=${if (!stdenv.isDarwin) then "TRUE" else "FALSE"}" # not supported
+    "-DENABLE_MACAROONS=OFF"
+    "-DENABLE_PYTHON=FALSE" # built separately
+    "-DENABLE_SCITOKENS=TRUE"
     "-DENABLE_TESTS=TRUE"
+    "-DENABLE_VOMS=${if stdenv.isLinux then "TRUE" else "FALSE"}"
   ];
 
-  makeWrapperArgs = [
-    # Workaround the library-not-found issue
-    # happening to binaries compiled with xrootd libraries.
-    # See #169677
-    "--prefix" "${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH" ":" "${placeholder "out"}/lib"
-  ];
-
-  postFixup = ''
-    while IFS= read -r FILE; do
-      wrapProgram "$FILE" "''${makeWrapperArgs[@]}"
-    done < <(find "$bin/bin" -mindepth 1 -maxdepth 1 -type f,l -perm -a+x)
-  '' + lib.optionalString (externalEtc != null) ''
+  postFixup = lib.optionalString (externalEtc != null) ''
     moveToOutput etc "$etc"
     ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
   '';
 
+  dontPatchELF = true; # shrinking rpath will cause runtime failures in dlopen
+
   meta = with lib; {
     description = "High performance, scalable fault tolerant data access";
     homepage = "https://xrootd.slac.stanford.edu";
diff --git a/nixpkgs/pkgs/tools/networking/zap/default.nix b/nixpkgs/pkgs/tools/networking/zap/default.nix
index f763c609aae8..9bb63cf37e7c 100644
--- a/nixpkgs/pkgs/tools/networking/zap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zap/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ mog rafael ];
     platforms = platforms.linux;
     license = licenses.asl20;
+    mainProgram = "zap";
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/zrok/default.nix b/nixpkgs/pkgs/tools/networking/zrok/default.nix
index 1515f357778e..68d4ad3ba125 100644
--- a/nixpkgs/pkgs/tools/networking/zrok/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zrok/default.nix
@@ -14,14 +14,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-DrkX9Be8gw9JXyfyxcK2mhGur5jWFv4LjaYRSVh4dSE=";
-    aarch64-linux = "sha256-VVeTVBJyptbR/6JZwZ0V2v4lS3X/ixrcC++aMQBtg2Q=";
-    armv7l-linux = "sha256-m6tALmSCZKLQrSeIpygEQF5nuJBZ8MYmxdbeFH5ydt0=";
+    x86_64-linux = "sha256-17RtPUuFmIwxh+9mEsR9vwUHQHnXLIHEEhpV05Q9Ssw=";
+    aarch64-linux = "sha256-bJjhKf8dkOsVaaPikDrPLe+zF5CFvxvEALuzmiQuINY=";
+    armv7l-linux = "sha256-m/Ncr/+5kkC4p1/DhEfWermdsOAuekVECzR7SI1KpIQ=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "zrok";
-  version = "0.4.23";
+  version = "0.4.24";
 
   src = fetchzip {
     url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
diff --git a/nixpkgs/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix b/nixpkgs/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
index 44dc0bdd3a09..d832a102f33b 100644
--- a/nixpkgs/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zs-apc-spdu-ctl/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.fogti ];
     platforms = platforms.linux;
+    mainProgram = "zs-apc-spdu-ctl";
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/home-manager/default.nix b/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
index d369760f5977..77498f9538a3 100644
--- a/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/home-manager/default.nix
@@ -16,14 +16,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "unstable-2024-02-11";
+  version = "unstable-2024-02-15";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "bfd0ae29a86eff4603098683b516c67e22184511";
-    hash = "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=";
+    rev = "3d6791b3897b526c82920a2ab5f61d71985b3cf8";
+    hash = "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
index 20d5c3105e97..8ccdd08a25e3 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-update/default.nix
@@ -9,14 +9,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nix-update";
-  version = "1.0.0";
+  version = "1.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    hash = "sha256-C7ke51QlBcTR98ovQi5NcxToEPP6s9gqnxWO1eBw/sI=";
+    hash = "sha256-/Lv4wO4mCOwk8lNdfiQq2U+PhgeEeSnh89I2N7fxEpE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/aflplusplus/default.nix b/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
index d1390253e63a..5d4b761df334 100644
--- a/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
+++ b/nixpkgs/pkgs/tools/security/aflplusplus/default.nix
@@ -19,13 +19,13 @@ let
   libtokencap = callPackage ./libtokencap.nix { inherit aflplusplus; };
   aflplusplus = stdenvNoCC.mkDerivation rec {
     pname = "aflplusplus";
-    version = "4.09c";
+    version = "4.10c";
 
     src = fetchFromGitHub {
       owner = "AFLplusplus";
       repo = "AFLplusplus";
       rev = "v${version}";
-      sha256 = "sha256-SQQJpR3+thi4iyrowkOD878nRHNgBJqqUdRFhtqld4k=";
+      sha256 = "sha256-elghcBw2tIttQo7bkMFRCx8iNqxwY0NCz0343wc8hWA=";
     };
     enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/tools/security/cfripper/default.nix b/nixpkgs/pkgs/tools/security/cfripper/default.nix
index 5e13a2df14c8..aac55cf46b74 100644
--- a/nixpkgs/pkgs/tools/security/cfripper/default.nix
+++ b/nixpkgs/pkgs/tools/security/cfripper/default.nix
@@ -3,16 +3,23 @@
 , python3
 }:
 
-python3.pkgs.buildPythonApplication rec {
+
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      pydantic = self.pydantic_1;
+    };
+  };
+in python.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.15.3";
+  version = "1.15.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = "cfripper";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SmD3Dq5LicPRe3lWFsq4zqM/yDZ1LsgRwSUA5/RbN9I=";
+    hash = "sha256-heVFum+Eaofd9L0dNHqD9GgHP+ckGwJi+NfeFci+ESc=";
   };
 
   postPatch = ''
@@ -20,11 +27,11 @@ python3.pkgs.buildPythonApplication rec {
       --replace "pluggy~=0.13.1" "pluggy" \
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = with python.pkgs; [
     setuptools
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python.pkgs; [
     boto3
     cfn-flip
     click
@@ -35,7 +42,7 @@ python3.pkgs.buildPythonApplication rec {
     setuptools
   ];
 
-  nativeCheckInputs = with python3.pkgs; [
+  nativeCheckInputs = with python.pkgs; [
     moto
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/tools/security/doppler/default.nix b/nixpkgs/pkgs/tools/security/doppler/default.nix
index 92b964ad2c95..c90cf8c2725e 100644
--- a/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.66.5";
+  version = "3.67.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-/kcGfTDthm4gp1M4lSeY1x8Q7EWVX2pZVjF2rAbz+Es=";
+    sha256 = "sha256-aBdpcmKv8EwUu8MKsC/aoSkiXf+JuTmhpGrPauWpThc=";
   };
 
-  vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
+  vendorHash = "sha256-NUHWKPszQH/pvnA+j65+bJ6t+C0FDRRbTviqkYztpE4=";
 
   ldflags = [
     "-s -w"
diff --git a/nixpkgs/pkgs/tools/security/enpass/default.nix b/nixpkgs/pkgs/tools/security/enpass/default.nix
index cd5a3bc4618f..d95ba0baa9be 100644
--- a/nixpkgs/pkgs/tools/security/enpass/default.nix
+++ b/nixpkgs/pkgs/tools/security/enpass/default.nix
@@ -12,7 +12,7 @@ let
     x86_64-linux = "amd64";
   };
 
-  data = all_data.${system_map.${stdenv.hostPlatform.system} or (throw "Unsupported platform")};
+  data = all_data.${system_map.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")};
 
   baseUrl = "https://apt.enpass.io";
 
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index 4c9b252b7372..2b416ae08cad 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2024-02-10";
+  version = "2024-02-17";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-tnAPjyvzl70bLFyn1y0prkp8o7CjPy1XwYYF1IGq4No=";
+    hash = "sha256-rOhNN/kdwAtSq27P1vpTG/nLSyID/OKrPbDQOxdbgIw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/grype/default.nix b/nixpkgs/pkgs/tools/security/grype/default.nix
index eceffd9bdecd..dcae1af2bed1 100644
--- a/nixpkgs/pkgs/tools/security/grype/default.nix
+++ b/nixpkgs/pkgs/tools/security/grype/default.nix
@@ -1,19 +1,20 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, git
 , installShellFiles
 , openssl
 }:
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.74.5";
+  version = "0.74.6";
 
   src = fetchFromGitHub {
     owner = "anchore";
-    repo = pname;
+    repo = "grype";
     rev = "refs/tags/v${version}";
-    hash = "sha256-h68LfKQG5xgFIFkyuK9Z6tw8+xoimnF2d2QgTjwU74U=";
+    hash = "sha256-2KLVIwiSrs+e0srXkfBdk/RxCIvSq/Lixe83th2KvRA=";
     # 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;
@@ -28,17 +29,20 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-lnOF3Xvjc20aFPOf9of3n+aBHvPrLTTlH7aPPlYA/RA=";
+  vendorHash = "sha256-wgcbP/VbHOMuc0PxWaOsiYTrr77ztLDVaDMhAD50vuQ=";
 
   nativeBuildInputs = [
     installShellFiles
   ];
 
   nativeCheckInputs = [
+    git
     openssl
   ];
 
-  subPackages = [ "cmd/grype" ];
+  subPackages = [
+    "cmd/grype"
+  ];
 
   excludedPackages = "test/integration";
 
@@ -70,23 +74,25 @@ buildGoModule rec {
 
     # remove tests that depend on docker
     substituteInPlace test/cli/cmd_test.go \
-      --replace "TestCmd" "SkipCmd"
+      --replace-fail "TestCmd" "SkipCmd"
     substituteInPlace grype/pkg/provider_test.go \
-      --replace "TestSyftLocationExcludes" "SkipSyftLocationExcludes"
+      --replace-fail "TestSyftLocationExcludes" "SkipSyftLocationExcludes"
     substituteInPlace test/cli/cmd_test.go \
-      --replace "Test_descriptorNameAndVersionSet" "Skip_descriptorNameAndVersionSet"
+      --replace-fail "Test_descriptorNameAndVersionSet" "Skip_descriptorNameAndVersionSet"
     # remove tests that depend on git
     substituteInPlace test/cli/db_validations_test.go \
-      --replace "TestDBValidations" "SkipDBValidations"
+      --replace-fail "TestDBValidations" "SkipDBValidations"
     substituteInPlace test/cli/registry_auth_test.go \
-      --replace "TestRegistryAuth" "SkipRegistryAuth"
+      --replace-fail "TestRegistryAuth" "SkipRegistryAuth"
     substituteInPlace test/cli/sbom_input_test.go \
-      --replace "TestSBOMInput_FromStdin" "SkipSBOMInput_FromStdin" \
-      --replace "TestSBOMInput_AsArgument" "SkipSBOMInput_AsArgument"
+      --replace-fail "TestSBOMInput_FromStdin" "SkipSBOMInput_FromStdin" \
+      --replace-fail "TestSBOMInput_AsArgument" "SkipSBOMInput_AsArgument"
     substituteInPlace test/cli/subprocess_test.go \
-      --replace "TestSubprocessStdin" "SkipSubprocessStdin"
+      --replace-fail "TestSubprocessStdin" "SkipSubprocessStdin"
     substituteInPlace grype/internal/packagemetadata/names_test.go \
-      --replace "TestAllNames" "SkipAllNames"
+      --replace-fail "TestAllNames" "SkipAllNames"
+    substituteInPlace test/cli/version_cmd_test.go \
+      --replace-fail "TestVersionCmdPrintsToStdout" "SkipVersionCmdPrintsToStdout"
 
     # segfault
     rm grype/db/v5/namespace/cpe/namespace_test.go
diff --git a/nixpkgs/pkgs/tools/security/httpx/default.nix b/nixpkgs/pkgs/tools/security/httpx/default.nix
index 9667d1997a08..98f41b9c599f 100644
--- a/nixpkgs/pkgs/tools/security/httpx/default.nix
+++ b/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.3.9";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3k/3CJ+/17Ygj4N8KPRYiAT+QJx3RlQMNemFztKtTt4=";
+    hash = "sha256-G+N9Zo8MbXbCRB21SvxSNftvn5v8Ss+I0v7Lj30CgJo=";
   };
 
-  vendorHash = "sha256-apTCSKWkAarAHDEVvyyRjBm5s5M2YDXP5bMITDLoq20=";
+  vendorHash = "sha256-fy4yJkwBlVNRn8FWHtZHCMcCF7LQXsDhEYVSv4RVcBM=";
 
   subPackages = [
     "cmd/httpx"
diff --git a/nixpkgs/pkgs/tools/security/kubernetes-polaris/default.nix b/nixpkgs/pkgs/tools/security/kubernetes-polaris/default.nix
index 885106528483..b053640d8da9 100644
--- a/nixpkgs/pkgs/tools/security/kubernetes-polaris/default.nix
+++ b/nixpkgs/pkgs/tools/security/kubernetes-polaris/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubernetes-polaris";
-  version = "8.5.4";
+  version = "8.5.5";
 
   src = fetchFromGitHub {
     owner = "FairwindsOps";
     repo = "polaris";
     rev = version;
-    sha256 = "sha256-Ip8SJi77QjNF2ez2NU48NKi+suOhViecuQyXSY6hLkI=";
+    sha256 = "sha256-DKfCXtFrZgmR0jiXwCD1iuwx/8aNEjwZ/fCQNeRhSu4=";
   };
 
   vendorHash = "sha256-ZWetW+Xar4BXXlR0iG+O/NRqYk41x+PPVCGis2W2Nkk=";
diff --git a/nixpkgs/pkgs/tools/security/ldapnomnom/default.nix b/nixpkgs/pkgs/tools/security/ldapnomnom/default.nix
index 59daa142856b..03503c26c803 100644
--- a/nixpkgs/pkgs/tools/security/ldapnomnom/default.nix
+++ b/nixpkgs/pkgs/tools/security/ldapnomnom/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ldapnomnom";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "lkarlslund";
     repo = "ldapnomnom";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3s2mLNqnJ+wZ17gy8Yr2Ze0S62A1bmE91E2ciLNO14E=";
+    hash = "sha256-enFTv8RqZpyS6LEqGIi55VMhArJy7Nhv0YhuWAOWyN0=";
   };
 
-  vendorHash = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8=";
+  vendorHash = "sha256-Iry9GoKOiXf83YudpmgHQRaP8GV4zokpX2mRAXoxSDQ=";
 
   ldflags = [
     "-w"
diff --git a/nixpkgs/pkgs/tools/security/oath-toolkit/default.nix b/nixpkgs/pkgs/tools/security/oath-toolkit/default.nix
index 3e01af4886d9..1e5b418c3f46 100644
--- a/nixpkgs/pkgs/tools/security/oath-toolkit/default.nix
+++ b/nixpkgs/pkgs/tools/security/oath-toolkit/default.nix
@@ -8,11 +8,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "oath-toolkit";
-  version = "2.6.10";
+  version = "2.6.11";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-hsJyJPfW19rUek9r7mX2uIS/W70VxemM8sxpYl2/I5E=";
+    sha256 = "sha256-/FEqSltG9MQ6sFhsMYn+zk1U9+ZJOX1voeI0KEMeLLQ=";
   };
 
   buildInputs = [ securityDependency ];
diff --git a/nixpkgs/pkgs/tools/security/openpgp-card-tools/default.nix b/nixpkgs/pkgs/tools/security/openpgp-card-tools/default.nix
index 38f814bbd2e2..ff1e2958cde5 100644
--- a/nixpkgs/pkgs/tools/security/openpgp-card-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/openpgp-card-tools/default.nix
@@ -12,17 +12,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "openpgp-card-tools";
-  version = "0.9.5";
+  version = "0.10.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "openpgp-card";
     repo = "openpgp-card-tools";
     rev = "v${version}";
-    hash = "sha256-VD0eDq+lfeAu2gY9VZfz2ola3+CJCWerTEaGivpILyo=";
+    hash = "sha256-dSGkPAeiQ54hYMJgghlPkbeJP3ZPUXGU7WmE63yIvz0=";
   };
 
-  cargoHash = "sha256-tfawWfwsdWUOimd97b059HXt83ew6KBouI2MdGN8Knc=";
+  cargoHash = "sha256-coFoFWI/Iq7tbkv9RKPCNfAVKWDsJd7KTzOTtQDHXJY=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
   buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
@@ -34,10 +34,10 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "CLI tools for OpenPGP cards";
-    homepage = "https://gitlab.com/openpgp-card/openpgp-card";
+    description = "A tool for inspecting and configuring OpenPGP cards";
+    homepage = "https://codeberg.org/openpgp-card/openpgp-card-tools";
     license = with licenses ;[ asl20 /* OR */ mit ];
     maintainers = with maintainers; [ nickcao ];
-    mainProgram = "opgpcard";
+    mainProgram = "oct";
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix b/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
index f23d27314eef..b8fd130df24b 100644
--- a/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
+++ b/nixpkgs/pkgs/tools/security/pass/rofi-pass.nix
@@ -29,13 +29,13 @@ assert lib.assertOneOf "backend" backend [ "x11" "wayland" ];
 
 stdenv.mkDerivation {
   pname = "rofi-pass";
-  version = "unstable-2023-07-07";
+  version = "unstable-2024-02-13";
 
   src = fetchFromGitHub {
     owner = "carnager";
     repo = "rofi-pass";
-    rev = "e77cbdbe0e885f0b1daba3a0b6bae793cc2b1ba3";
-    hash = "sha256-zmNuFE+++tf4pKTXSTc7s8R9rvI+XwgWl8mCEPaaIRM=";
+    rev = "8aa6b9293a8f0af267425326fa966966ca42085e";
+    hash = "sha256-g/AuLYj0yvLCXFR3y9GbMiE6hDCPBeuFM145c2Ukvys=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/semgrep/common.nix b/nixpkgs/pkgs/tools/security/semgrep/common.nix
index da646461a20f..e4e51d81e9b7 100644
--- a/nixpkgs/pkgs/tools/security/semgrep/common.nix
+++ b/nixpkgs/pkgs/tools/security/semgrep/common.nix
@@ -1,9 +1,9 @@
 { lib }:
 
 rec {
-  version = "1.37.0";
+  version = "1.61.1";
 
-  srcHash = "sha256-oFJ43dq3DAhux0UEFDKFZnxruoRdOfCndKY6XgG3d5I=";
+  srcHash = "sha256-muTw6rj9FuSSXvUzdP4QRQogzmUPlrvGARRK/Jqg+Gc=";
 
   # submodule dependencies
   # these are fetched so we:
@@ -11,10 +11,10 @@ rec {
   #   2. avoid fetchSubmodules since it's prone to impurities
   submodules = {
     "cli/src/semgrep/semgrep_interfaces" = {
-      owner = "returntocorp";
+      owner = "semgrep";
       repo = "semgrep-interfaces";
-      rev = "331603197022625f50a64dd5e3029a96a5f03ada";
-      hash = "sha256-UAcWbTSCIdBGvgGSbdQ+miFOEuBvQ6m42MkU3VeErKY=";
+      rev = "bbfd1c5b91bd411bceffc3de73f5f0b37f04433d";
+      hash = "sha256-wrhV5bBuIpVYehzVTxussiED//ObJXQSfPiiKnIR/DM=";
     };
   };
 
@@ -25,22 +25,22 @@ rec {
   core = {
     x86_64-linux = {
       platform = "any";
-      hash = "sha256-Sj/6tzZMyRQAJL09X/3zgvdGTIhNibqO8usKsus9Xss=";
+      hash = "sha256-lX/zRgkEyoln69pf4fWtb8f9wffBOI/KkCegn8kFmj4=";
     };
     x86_64-darwin = {
       platform = "macosx_10_14_x86_64";
-      hash = "sha256-hC04VknZG6aYYNX7lqvkcOoVslewNqlYax+o1nV2TcM=";
+      hash = "sha256-Rk4qP/iKpRUbqdry6V/NmXRQLkA0e9ltIOdYiO5DuTg=";
     };
     aarch64-darwin = {
       platform = "macosx_11_0_arm64";
-      hash = "sha256-0F+ndM4+0dnxf9acwWvGdIy9iYWSqixS9IzOxa95/yM=";
+      hash = "sha256-Gqq9LGwZ96i8LU8Z8qSN3TxuUUTDYrJiVCY9rm7aNzI=";
     };
   };
 
   meta = with lib; {
     homepage = "https://semgrep.dev/";
-    downloadPage = "https://github.com/returntocorp/semgrep/";
-    changelog = "https://github.com/returntocorp/semgrep/blob/v${version}/CHANGELOG.md";
+    downloadPage = "https://github.com/semgrep/semgrep/";
+    changelog = "https://github.com/semgrep/semgrep/blob/v${version}/CHANGELOG.md";
     description = "Lightweight static analysis for many languages";
     longDescription = ''
       Semgrep is a fast, open-source, static analysis tool for finding bugs and
diff --git a/nixpkgs/pkgs/tools/security/semgrep/default.nix b/nixpkgs/pkgs/tools/security/semgrep/default.nix
index ff41daacac30..70e6b8641ee8 100644
--- a/nixpkgs/pkgs/tools/security/semgrep/default.nix
+++ b/nixpkgs/pkgs/tools/security/semgrep/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , semgrep-core
 , buildPythonApplication
 , pythonPackages
@@ -9,19 +10,31 @@
 , git
 }:
 
+# testing locally post build:
+# ./result/bin/semgrep scan --metrics=off --config 'r/generic.unicode.security.bidi.contains-bidirectional-characters'
+
 let
   common = import ./common.nix { inherit lib; };
+  semgrepBinPath = lib.makeBinPath [ semgrep-core ];
 in
 buildPythonApplication rec {
   pname = "semgrep";
   inherit (common) version;
   src = fetchFromGitHub {
-    owner = "returntocorp";
+    owner = "semgrep";
     repo = "semgrep";
     rev = "v${version}";
     hash = common.srcHash;
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-test_dump_engine-test-for-nix-store-path.patch";
+      url = "https://github.com/semgrep/semgrep/commit/c7553c1a61251146773617f80a2d360e6b6ab3f9.patch";
+      hash = "sha256-A3QdL0DDh/pbDpRIBACUie7PEvC17iG4t6qTnmPIwA4=";
+    })
+  ];
+
   # prepare a subset of the submodules as we only need a handful
   # and there are many many submodules total
   postPatch = (lib.concatStringsSep "\n" (lib.mapAttrsToList
@@ -72,34 +85,57 @@ buildPythonApplication rec {
   ];
 
   doCheck = true;
+
   nativeCheckInputs = [ git pytestCheckHook ] ++ (with pythonPackages; [
+    flaky
     pytest-snapshot
     pytest-mock
     pytest-freezegun
     types-freezegun
   ]);
+
   disabledTests = [
     # requires networking
     "test_send"
     # requires networking
     "test_parse_exclude_rules_auto"
+    # many child tests require networking to download files
+    "TestConfigLoaderForProducts"
+    # doesn't start flaky plugin correctly
+    "test_debug_performance"
   ];
+
   preCheck = ''
     # tests need a home directory
     export HOME="$(mktemp -d)"
 
+    # tests need access to `semgrep-core`
+    export OLD_PATH="$PATH"
+    export PATH="$PATH:${semgrepBinPath}"
+
+    # we're in cli
+    # replace old semgrep with wrapped one
+    rm ./bin/semgrep
+    ln -s $out/bin/semgrep ./bin/semgrep
+
     # disabledTestPaths doesn't manage to avoid the e2e tests
     # remove them from pyproject.toml
     # and remove need for pytest-split
     substituteInPlace pyproject.toml \
       --replace '"tests/e2e",' "" \
+      --replace '"tests/e2e-pro",' "" \
       --replace 'addopts = "--splitting-algorithm=least_duration"' ""
   '';
 
+  postCheck = ''
+    export PATH="$OLD_PATH"
+    unset OLD_PATH
+  '';
+
   # since we stop cli/setup.py from finding semgrep-core and copying it into
   # the result we need to provide it on the PATH
   preFixup = ''
-    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ semgrep-core ]})
+    makeWrapperArgs+=(--prefix PATH : ${semgrepBinPath})
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/security/semgrep/semgrep-core.nix b/nixpkgs/pkgs/tools/security/semgrep/semgrep-core.nix
index b924dd16579f..33e50837bf75 100644
--- a/nixpkgs/pkgs/tools/security/semgrep/semgrep-core.nix
+++ b/nixpkgs/pkgs/tools/security/semgrep/semgrep-core.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
       inherit version;
       format = "wheel";
       dist = python;
-      python = "cp37.cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311";
+      python = "cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311";
       inherit (data) platform hash;
     };
 
diff --git a/nixpkgs/pkgs/tools/security/semgrep/update.sh b/nixpkgs/pkgs/tools/security/semgrep/update.sh
index c66180cf8f2b..67b720154b0b 100755
--- a/nixpkgs/pkgs/tools/security/semgrep/update.sh
+++ b/nixpkgs/pkgs/tools/security/semgrep/update.sh
@@ -24,10 +24,10 @@ instantiateClean() {
 
 # get latest version
 NEW_VERSION=$(
-  curl -s -H \
+  curl -s -L -H \
     "Accept: application/vnd.github.v3+json" \
     ${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \
-    https://api.github.com/repos/returntocorp/semgrep/releases/latest \
+    https://api.github.com/repos/semgrep/semgrep/releases/latest \
   | jq -r '.tag_name'
 )
 # trim v prefix
@@ -58,7 +58,7 @@ fetchPypi rec {
   version = \"$VERSION\";
   format = \"wheel\";
   dist = python;
-  python = \"cp37.cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311\";
+  python = \"cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311\";
   platform = \"$PLATFORM\";
 }
 "
@@ -101,7 +101,7 @@ update_core_platform "aarch64-darwin"
 OLD_PWD=$PWD
 TMPDIR="$(mktemp -d)"
 # shallow clone to check submodule commits, don't actually need the submodules
-git clone https://github.com/returntocorp/semgrep "$TMPDIR/semgrep" --depth 1 --branch "v$NEW_VERSION"
+git clone https://github.com/semgrep/semgrep "$TMPDIR/semgrep" --depth 1 --branch "v$NEW_VERSION"
 
 get_submodule_commit() {
     OLD_PWD=$PWD
diff --git a/nixpkgs/pkgs/tools/security/sigma-cli/default.nix b/nixpkgs/pkgs/tools/security/sigma-cli/default.nix
index 4f12607ff06a..897fdfcb2f29 100644
--- a/nixpkgs/pkgs/tools/security/sigma-cli/default.nix
+++ b/nixpkgs/pkgs/tools/security/sigma-cli/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sigma-cli";
-  version = "1.0.0";
+  version = "1.0.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SigmaHQ";
     repo = "sigma-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TVsWGExs4diHoAhfbUs2q9Dh9xVr8WyDRMRhhAFpB8A=";
+    hash = "sha256-+6+xTc9XGsPxK3OsiA4dj2ORgC0PQtZsZ5a6STwmfcg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/security/sudo-rs/default.nix b/nixpkgs/pkgs/tools/security/sudo-rs/default.nix
index d0e547dc2d23..a1e46c6ee708 100644
--- a/nixpkgs/pkgs/tools/security/sudo-rs/default.nix
+++ b/nixpkgs/pkgs/tools/security/sudo-rs/default.nix
@@ -11,15 +11,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sudo-rs";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "memorysafety";
     repo = "sudo-rs";
     rev = "v${version}";
-    hash = "sha256-EQEdNDUXEMMiFZKuu9LR9ywjvKWyM5bWcRHHUB9+gp4=";
+    hash = "sha256-Fc9NgKo8Be8AqB1YcH/oH514f3pOjFtqNBIC+3xwagY=";
   };
-  cargoHash = "sha256-Zs9/A7u4yMLKY4cAUCnsqRHgkxI8R3w1JwkAd2lw0eo=";
+  cargoHash = "sha256-1XhdMHGZZOmSFuVW3Oa1Xwjy3dzkgJOE7h24Ly2F3ps=";
 
   nativeBuildInputs = [ installShellFiles pandoc ];
 
diff --git a/nixpkgs/pkgs/tools/security/trufflehog/default.nix b/nixpkgs/pkgs/tools/security/trufflehog/default.nix
index cfb6fb85b82b..c986dbab98cf 100644
--- a/nixpkgs/pkgs/tools/security/trufflehog/default.nix
+++ b/nixpkgs/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.67.5";
+  version = "3.67.6";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-163tIYqWUvfbN4Vh+nqQ98nHHFwEg0esJplBB5ivqOY=";
+    hash = "sha256-LKnFlgMbgp47mNkER+gE4PwEpqBY1txmhDpmcPCXH24=";
   };
 
-  vendorHash = "sha256-Kp78cAg3zpxZkJlVAvaxbq6GvUH/4HTH6Xz9EIo9tc0=";
+  vendorHash = "sha256-/DKly5ZFrySYrjGywjsyQd5Ky1bQ+ZIJll0io6XC5+s=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/security/zlint/default.nix b/nixpkgs/pkgs/tools/security/zlint/default.nix
index ba8eeeb12fa5..838e866de20a 100644
--- a/nixpkgs/pkgs/tools/security/zlint/default.nix
+++ b/nixpkgs/pkgs/tools/security/zlint/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "zlint";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "zmap";
     repo = "zlint";
     rev = "v${version}";
-    hash = "sha256-SGQOWMpjSS0XHrBjhPSRPBssCk073Hc1OlzQh/pnSRs=";
+    hash = "sha256-8iZUEUU+HY8cJrBwiGNE4e6hXQvNwAt0cPnBjAVDcHo=";
   };
 
   modRoot = "v3";
diff --git a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
index 9fe6eff850f4..d0f928f29291 100644
--- a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "1.0.148";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-P4HSRqbFFgVc02HZf8UoTquseqHp2MUtTi5OZxomt6M=";
+    sha256 = "sha256-t7AozR3R+msppRnHTPRy3hd2SuCR9NZdg85+FLqSWEc=";
   };
 
-  cargoHash = "sha256-pn5/87/KfbpSQHsVsSh03miCh2SZjA/LxMWrUvjJySo=";
+  cargoHash = "sha256-d+SDI5keZ044LtS/A3K26moFVQngUfNNfr33PipTTg4=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/nixpkgs/pkgs/tools/system/bfs/default.nix b/nixpkgs/pkgs/tools/system/bfs/default.nix
index 17f6af921c78..db663f46d70e 100644
--- a/nixpkgs/pkgs/tools/system/bfs/default.nix
+++ b/nixpkgs/pkgs/tools/system/bfs/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, libcap, acl, oniguruma }:
+{ lib, stdenv, fetchFromGitHub, libcap, acl, oniguruma, liburing }:
 
 stdenv.mkDerivation rec {
   pname = "bfs";
-  version = "3.0.4";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    hash = "sha256-45pWJjC2ol89HYGxi3QP8Y9/pFRx7NBNyYCK4RN2SXk=";
+    hash = "sha256-lsVfsNVjFX38YaYVBJWEst3c3RhUCbK2ycteqZZUM3M=";
   };
 
-  buildInputs = [ oniguruma ] ++ lib.optionals stdenv.isLinux [ libcap acl ];
+  buildInputs = [ oniguruma ] ++ lib.optionals stdenv.isLinux [ libcap acl liburing ];
 
   # Disable LTO on darwin. See https://github.com/NixOS/nixpkgs/issues/19098
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/tools/system/btop/default.nix b/nixpkgs/pkgs/tools/system/btop/default.nix
index b95fdc7578a2..e81cc57a514f 100644
--- a/nixpkgs/pkgs/tools/system/btop/default.nix
+++ b/nixpkgs/pkgs/tools/system/btop/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-QQM2/LO/EHovhj+S+4x3ro/aOVrtuxteVVvYAd6feTk=";
+    hash = "sha256-Y6agmrqozKiV+GbiY60eOYORRrYLuB1zLNilxzM6oV0=";
   };
 
   nativeBuildInputs = [ cmake ] ++ lib.optionals cudaSupport [
diff --git a/nixpkgs/pkgs/tools/system/gdu/default.nix b/nixpkgs/pkgs/tools/system/gdu/default.nix
index ba95a6730630..9e84f2d8edfe 100644
--- a/nixpkgs/pkgs/tools/system/gdu/default.nix
+++ b/nixpkgs/pkgs/tools/system/gdu/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.25.0";
+  version = "5.27.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
-    repo = pname;
+    repo = "gdu";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TtfTIG0XlEDXVjIZ6Vpy/Z5StXcxyaEocwoe7M75YDw=";
+    hash = "sha256-hQyvYLegGimYTRz0J/2tmaC6N4LfjB1ivWgN29DwNhA=";
   };
 
-  vendorHash = "sha256-DkH1H2XvVlDMFuFSbCmhPMC709upPvXhpzlEgNq5zoA=";
+  vendorHash = "sha256-weNcJjofI7Aoy0Eya0KprXHAn7aTA0rQJYrJ4+t65hI=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -27,11 +27,12 @@ buildGoModule rec {
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/dundee/gdu/v${lib.versions.major version}/build.Version=${version}"
+    "-X=github.com/dundee/gdu/v${lib.versions.major version}/build.Version=${version}"
   ];
 
   postPatch = ''
-    substituteInPlace cmd/gdu/app/app_test.go --replace "development" "${version}"
+    substituteInPlace cmd/gdu/app/app_test.go \
+      --replace-fail "development" "${version}"
   '';
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
index 7155d1359da5..955c0fe62a7a 100644
--- a/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/nixpkgs/pkgs/tools/system/java-service-wrapper/default.nix
@@ -58,5 +58,9 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     maintainers = [ maintainers.suhr ];
     mainProgram = "wrapper";
+    # Broken for Musl at 2024-01-17. Errors as:
+    # logger.c:81:12: fatal error: gnu/libc-version.h: No such file or directory
+    # Tracking issue: https://github.com/NixOS/nixpkgs/issues/281557
+    broken = stdenv.hostPlatform.isMusl;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/natscli/default.nix b/nixpkgs/pkgs/tools/system/natscli/default.nix
index 0bff6fbc1b4e..97c9884f4e3d 100644
--- a/nixpkgs/pkgs/tools/system/natscli/default.nix
+++ b/nixpkgs/pkgs/tools/system/natscli/default.nix
@@ -5,20 +5,21 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.1.1";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "nats-io";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ktO+WrsacnQOgPZeyNTyUSATVwVud399YmcqgJ4PLTw=";
+    repo = "natscli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-40gKG47C8RvgPm3qJ5oNJP82efmCfrCSKVt+35jawlw=";
   };
 
-  vendorHash = "sha256-5v3pPzt/U6kAHF9K7bb+Wu39gLh0O4TDIRgEToPNT6c=";
+  vendorHash = "sha256-d2JijN9OU/hQFU3Q2kEAWU0nRrPacfRWNIhEuLHjoIc=";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
     homepage = "https://github.com/nats-io/natscli";
+    changelog = "https://github.com/nats-io/natscli/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
     mainProgram = "nats";
diff --git a/nixpkgs/pkgs/tools/system/netdata/default.nix b/nixpkgs/pkgs/tools/system/netdata/default.nix
index 4248b00003ec..b2461760da70 100644
--- a/nixpkgs/pkgs/tools/system/netdata/default.nix
+++ b/nixpkgs/pkgs/tools/system/netdata/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   # Don't forget to update go.d.plugin.nix as well
-  version = "1.44.0";
+  version = "1.44.3";
   pname = "netdata";
 
   src = fetchFromGitHub {
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
     repo = "netdata";
     rev = "v${version}";
     hash = if withCloudUi
-      then "sha256-8kkOpMfcYPcHI3GuevZ2NYjJjlZvrvBgIs883Zsztgw="
-      else "sha256-Kui3sV8OzBri4h47qD10snQgdvdi6yi/2z4cXWREcxE=";
+      then "sha256-ahWaq6geEoc6NZ2oU/Dqnb0bjRXd+q1zaRGOSIYVYok="
+      else "sha256-2Kvh2WuoJjJxsFKueMjCAbazqZdzoOTxakbPVsj9PBo=";
     fetchSubmodules = true;
 
     # Remove v2 dashboard distributed under NCUL1. Make sure an empty
diff --git a/nixpkgs/pkgs/tools/text/ascii/default.nix b/nixpkgs/pkgs/tools/text/ascii/default.nix
index b48d9d0cb4ae..613288079d34 100644
--- a/nixpkgs/pkgs/tools/text/ascii/default.nix
+++ b/nixpkgs/pkgs/tools/text/ascii/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ascii";
-  version = "3.19";
+  version = "3.20";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/ascii/${pname}-${version}.tar.gz";
-    sha256 = "sha256-+dou/tgvJFZY+VYeW3VoCecerw5adzWsW+uSTN2ppWA=";
+    sha256 = "sha256-nm5X6mDUGagDoCTOY2YlTvtxYma4Tu3VjNmA2rzBFnQ=";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/tools/text/ov/default.nix b/nixpkgs/pkgs/tools/text/ov/default.nix
index ff5a076c6ecf..d74d4bc06182 100644
--- a/nixpkgs/pkgs/tools/text/ov/default.nix
+++ b/nixpkgs/pkgs/tools/text/ov/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "ov";
-  version = "0.33.2";
+  version = "0.33.3";
 
   src = fetchFromGitHub {
     owner = "noborus";
     repo = "ov";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EaAguJPr/FVDfmfbC26zpmkZFnX+3Cdez/zvx2lr4jM=";
+    hash = "sha256-dKAZ8rcm1J3jRfOyLz74YuVv0hZ3iWXR1slBTu5CtYU=";
   };
 
-  vendorHash = "sha256-/S7YKIwuZyQBGIbcPt/ffv8Vx6vzXsk/fDRCIXANPTE=";
+  vendorHash = "sha256-6Ik//r6JJ2n9lXr6JZ6BGIIL7yXXray+flEwQ0IKyA4=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/text/recode/default.nix b/nixpkgs/pkgs/tools/text/recode/default.nix
index 8c49fb5ee7fc..9f215f41feaa 100644
--- a/nixpkgs/pkgs/tools/text/recode/default.nix
+++ b/nixpkgs/pkgs/tools/text/recode/default.nix
@@ -1,22 +1,36 @@
-{ lib, stdenv, fetchurl, python3, perl, intltool, flex, texinfo, libiconv, libintl }:
+{ lib
+, stdenv
+, fetchurl
+, python3Packages
+, flex
+, texinfo
+, libiconv
+, libintl
+}:
 
 stdenv.mkDerivation rec {
   pname = "recode";
-  version = "3.7.12";
+  version = "3.7.14";
 
   # Use official tarball, avoid need to bootstrap/generate build system
   src = fetchurl {
     url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-TbHJB28E26oVlyb1AAhH5eWoOuyOXGT4ygQ4P2zaEtU=";
+    hash = "sha256-eGqv1USFGisTsKN36sFQD4IM5iYVzMLmMLUB53Q7nzM=";
   };
 
-  nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
+  nativeBuildInputs = [ python3Packages.python flex texinfo libiconv ];
+
   buildInputs = [ libintl ];
 
   enableParallelBuilding = true;
 
   doCheck = true;
 
+  nativeCheckInputs = with python3Packages; [
+    cython
+    setuptools
+  ];
+
   meta = {
     homepage = "https://github.com/rrthomas/recode";
     description = "Converts files between various character sets and usages";
diff --git a/nixpkgs/pkgs/tools/text/shfmt/default.nix b/nixpkgs/pkgs/tools/text/shfmt/default.nix
index 0b1457f43b27..8c5da3097b4b 100644
--- a/nixpkgs/pkgs/tools/text/shfmt/default.nix
+++ b/nixpkgs/pkgs/tools/text/shfmt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.7.0";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-5/WGYsmZAFFdONpViRaqjL/KXyOu618A8S/SqcgZoEU=";
+    sha256 = "sha256-2AnSmwl4ID7QxF8k1fl50S47KjKs9PwVpxchUIlhVo0=";
   };
 
-  vendorHash = "sha256-V/6wiC0oanytzMGW/lP+t+uz6cMgXRuviDEj7ErQh5k=";
+  vendorHash = "sha256-rWAnWohbQZyPlOWqWwcxPMDABxumCo4M8fBUx54q76c=";
 
   subPackages = [ "cmd/shfmt" ];
 
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index 0293f2770a62..8d1288bae8b7 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "4.5.2";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-aQJU4SuGJy+TyxBgaHimxc0HtW9ZJIB2b6jxcGIoqo4=";
+    hash = "sha256-VAfnj/2EdkDpcS30DveUUYLSNj07sy+gvKxyGkg2mvA=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 9ea35d355c72..a04c4289f5c7 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "3.0.7";
+  version = "3.1.0";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    hash = "sha256-wCCW5yJPbXkwkkDywtIBR7gaJG0nLEHIC4xb1LbPa3w=";
+    hash = "sha256-BWY/a5XFadyeyjtfBv9vVpT/EPYXoL/DqtUVk9nMkQg=";
   };
 
   vendorHash = "sha256-uEuzAMsQHTAbKeAPIWu2yoCLhBrQNEYxdmjfzLLWONQ=";
diff --git a/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix b/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix
index 33ec940aebc4..6ec52db7ebfd 100644
--- a/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix
+++ b/nixpkgs/pkgs/tools/video/untrunc-anthwlock/default.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, ffmpeg_4, libui }:
+{ lib, stdenv, fetchFromGitHub, ffmpeg_4, libui, unstableGitUpdater, wrapGAppsHook }:
 
 stdenv.mkDerivation {
   pname = "untrunc-anthwlock";
-  version = "2020.07.18";
+  version = "unstable-2021-11-21";
 
   src = fetchFromGitHub {
     owner = "anthwlock";
     repo = "untrunc";
-    rev = "a0bf2e8642ecdb7af5897ed9b0dd30a7d03520ae";
-    sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp";
+    rev = "d72ec324fbc29eb00b53c7dafeef09f92308962b";
+    hash = "sha256-h+aFPhlbEM6EfCKbsJPelBY5ys7kv5K4rbK/HTHeEcw=";
   };
 
+  nativeBuildInputs = [ wrapGAppsHook ];
+
   buildInputs = [ ffmpeg_4 libui ];
 
   buildPhase = ''
@@ -28,6 +30,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with lib; {
     description = "Restore a truncated mp4/mov (improved version of ponchio/untrunc)";
     homepage = "https://github.com/anthwlock/untrunc";
diff --git a/nixpkgs/pkgs/tools/virtualization/multipass/default.nix b/nixpkgs/pkgs/tools/virtualization/multipass/default.nix
index 4d1bf855ad6f..e7875f00bb6a 100644
--- a/nixpkgs/pkgs/tools/virtualization/multipass/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/multipass/default.nix
@@ -25,7 +25,7 @@
 
 let
   pname = "multipass";
-  version = "1.13.0";
+  version = "1.13.1";
 
   # This is done here because a CMakeLists.txt from one of it's submodules tries
   # to modify a file, so we grab the source for the submodule here, copy it into
@@ -46,7 +46,7 @@ stdenv.mkDerivation
     owner = "canonical";
     repo = "multipass";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DMyIvhlkMuUyOlUw8b4312NUtpK0n8rI8nhoV6Dscyo=";
+    hash = "sha256-QttgWSuhxcuOyMNF9Ve1w0ftT41+hNz3WW5Vag/88X4=";
     fetchSubmodules = true;
     leaveDotGit = true;
     postFetch = ''
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index d94efa53ea09..15a2122a9922 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/pkgs/top-level/aliases.nix
@@ -58,6 +58,7 @@ mapAliases ({
 
   AusweisApp2 = ausweisapp; # Added 2023-11-08
   a4term = a4; # Added 2023-10-06
+  adtool = throw "'adtool' has been removed, as it was broken and unmaintained";
   aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03
   airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
   alertmanager-bot = throw "alertmanager-bot is broken and has been archived by upstream"; # Added 2023-07-28
@@ -279,6 +280,7 @@ mapAliases ({
 
   ### F ###
 
+  fancypp = throw "'fancypp' was removed because it and its dependants are unmaintained"; # Added 2024-02-14
   faustStk = faustPhysicalModeling; # Added 2023-05-16
   fastnlo = fastnlo-toolkit; # Added 2021-04-24
   fastnlo_toolkit = fastnlo-toolkit; # Added 2024-01-03
@@ -400,6 +402,7 @@ mapAliases ({
   graylog-3_3 = throw "graylog 3.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 3.x to latest series."; # Added 2023-10-09
   graylog-4_0 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
   graylog-4_3 = throw "graylog 4.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 4.x to latest series."; # Added 2023-10-09
+  graylog-5_0 = throw "graylog 5.0.x is EOL. Please consider downgrading nixpkgs if you need an upgrade from 5.0.x to latest series."; # Added 2024-02-15
   gr-gsm = throw "'gr-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
   gringo = clingo; # added 2022-11-27
   gr-limesdr = throw "'gr-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
@@ -824,6 +827,9 @@ mapAliases ({
   pharo-spur64 = pharo; # Added 2022-08-03
   phodav_2_0 = throw "'phodav_2_0' has been renamed to/replaced by 'phodav'"; # Added 2023-02-21
   photoflow = throw "photoflow was removed because it was broken and unmaintained by upstream"; # Added 2023-03-10
+  picom-allusive = throw "picom-allusive was renamed to compfy and is being abandoned by upstream"; # Added 2024-02-13
+  picom-jonaburg = throw "picom-jonaburg was removed because it is unmaintained by upstream"; # Added 2024-02-13
+  picom-next = picom; # Added 2024-02-13
 
   # Obsolete PHP version aliases
   php80 = throw "php80 has been dropped due to the lack of maintenance from upstream for future releases"; # Added 2023-06-21
@@ -978,8 +984,10 @@ mapAliases ({
     https://github.com/SchildiChat/schildichat-desktop/issues/215''; # Added 2023-12-05
   schildichat-desktop = schildichat-web;
   schildichat-desktop-wayland = schildichat-web;
+  scitoken-cpp = scitokens-cpp; # Added 2024-02-12
   sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   searx = throw "'searx' has been removed as it is unmaintained. Please switch to searxng"; # Added 2023-10-03
+  semver-cpp = throw "'semver-cpp' was removed because no packages in nixpkgs use it anymore"; # Added 2024-02-14
   session-desktop-appimage = session-desktop;
   setupcfg2nix = throw "'setupcfg2nix' has been removed. Please switch to buildPythonPackage"; # Added 2023-12-12
   sequoia = sequoia-sq; # Added 2023-06-26
@@ -1000,6 +1008,7 @@ mapAliases ({
   solr_8 = throw "'solr' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-03-16
   solr = throw "'solr' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-03-16
   soundOfSorting = sound-of-sorting; # Added 2023-07-07
+  soundux = throw "'soundux' has been removed, as it is unmaintained."; # Added on 2024-02-14
   spark2 = throw "'spark2' is no longer supported nixpkgs, please use 'spark'"; # Added 2023-05-08
   spark_2_4 = throw "'spark_2_4' is no longer supported nixpkgs, please use 'spark'"; # Added 2023-05-08
   spark_3_1 = throw "'spark_3_1' is no longer supported nixpkgs, please use 'spark'"; # Added 2023-05-08
@@ -1065,6 +1074,7 @@ mapAliases ({
   tixati = throw "'tixati' has been removed from nixpkgs as it is unfree and unmaintained"; # Added 2023-03-17
   tkcvs = tkrev; # Added 2022-03-07
   tokodon = plasma5Packages.tokodon;
+  tokyo-night-gtk = tokyonight-gtk-theme; # Added 2024-01-28
   tootle = throw "'tootle' has been removed as it is not maintained upstream. Consider using 'tuba' instead"; # Added 2024-02-11
   tor-browser-bundle-bin = tor-browser; # Added 2023-09-23
   transfig = fig2dev; # Added 2022-02-15
diff --git a/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index 9d4db35294e9..1b5149510bc5 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -897,7 +897,9 @@ with pkgs;
 
   docker-slim = callPackage ../applications/virtualization/docker-slim { };
 
-  doc2go = callPackage ../development/tools/doc2go { };
+  doc2go = callPackage ../development/tools/doc2go {
+    buildGoModule = buildGo122Module;
+  };
 
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
@@ -1248,6 +1250,8 @@ with pkgs;
 
   fetchPypi = callPackage ../build-support/fetchpypi { };
 
+  fetchPypiLegacy = callPackage ../build-support/fetchpypilegacy { };
+
   resolveMirrorURLs = {url}: fetchurl {
     showURLs = true;
     inherit url;
@@ -2230,7 +2234,9 @@ with pkgs;
 
   commitlint = nodePackages."@commitlint/cli";
 
-  conform = callPackage ../applications/version-management/conform { };
+  conform = callPackage ../applications/version-management/conform {
+    buildGoModule = buildGo122Module;
+  };
 
   datalad = callPackage ../applications/version-management/datalad { };
 
@@ -3093,8 +3099,6 @@ with pkgs;
 
   termonad = callPackage ../applications/terminal-emulators/termonad { };
 
-  tilix = callPackage ../applications/terminal-emulators/tilix { };
-
   tym = callPackage ../applications/terminal-emulators/tym { };
 
   wayst = callPackage ../applications/terminal-emulators/wayst { };
@@ -4926,8 +4930,6 @@ with pkgs;
 
   crunch = callPackage ../tools/security/crunch { };
 
-  crunchy-cli = callPackage ../applications/video/crunchy-cli { };
-
   crudini = callPackage ../tools/misc/crudini { };
 
   csv2odf = callPackage ../applications/office/csv2odf { };
@@ -5664,7 +5666,6 @@ with pkgs;
   hyprdim = callPackage ../applications/misc/hyprdim { };
 
   hyprland = callPackage ../applications/window-managers/hyprwm/hyprland {
-    stdenv = gcc13Stdenv;
     wlroots = callPackage ../applications/window-managers/hyprwm/hyprland/wlroots.nix { };
     udis86 = callPackage ../applications/window-managers/hyprwm/hyprland/udis86.nix { };
   };
@@ -5675,15 +5676,9 @@ with pkgs;
 
   hyprland-protocols = callPackage ../applications/window-managers/hyprwm/hyprland-protocols { };
 
-  hyprlang = callPackage ../by-name/hy/hyprlang/package.nix {
-    stdenv = gcc13Stdenv;
-  };
-
   hyprnome = callPackage ../applications/misc/hyprnome { };
 
-  hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper {
-    stdenv = gcc13Stdenv;
-  };
+  hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper { };
 
   hyprpicker = callPackage ../applications/window-managers/hyprwm/hyprpicker {
     wlroots = wlroots_0_16;
@@ -8833,8 +8828,6 @@ with pkgs;
 
   grails = callPackage ../development/web/grails { jdk = null; };
 
-  graylog-5_0 = callPackage ../tools/misc/graylog/5.0.nix { };
-
   graylog-5_1 = callPackage ../tools/misc/graylog/5.1.nix { };
 
   graylog-5_2 = callPackage ../tools/misc/graylog/5.2.nix { };
@@ -8965,8 +8958,6 @@ with pkgs;
 
   gtdialog = callPackage ../development/libraries/gtdialog { };
 
-  gtkclipblock = callPackage ../by-name/gt/gtkclipblock/package.nix { stdenv = gcc13Stdenv; };
-
   gtkd = callPackage ../development/libraries/gtkd { dcompiler = ldc; };
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
@@ -11476,9 +11467,9 @@ with pkgs;
 
   openfortivpn = callPackage ../tools/networking/openfortivpn { };
 
-  opensnitch = callPackage ../tools/networking/opensnitch/daemon.nix { };
-
-  opensnitch-ui = libsForQt5.callPackage ../tools/networking/opensnitch/ui.nix { };
+  openobserve = darwin.apple_sdk_11_0.callPackage ../servers/monitoring/openobserve {
+    apple_sdk = darwin.apple_sdk_11_0;
+  };
 
   obexfs = callPackage ../tools/bluetooth/obexfs { };
 
@@ -11549,6 +11540,7 @@ with pkgs;
 
   opendht = callPackage ../development/libraries/opendht  {
     inherit (darwin.apple_sdk.frameworks) Security;
+    restinio = restinio_0_6;
   };
 
   opendkim = callPackage ../development/libraries/opendkim { };
@@ -14858,7 +14850,6 @@ with pkgs;
 
   volumeicon = callPackage ../tools/audio/volumeicon { };
 
-  waf = callPackage ../development/tools/build-managers/waf { };
   # An alias to work around the splicing incidents
   # Related:
   # https://github.com/NixOS/nixpkgs/issues/204303
@@ -15747,6 +15738,7 @@ with pkgs;
 
   flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { });
   flutter = flutterPackages.stable;
+  flutter319 = flutterPackages.v3_19;
   flutter316 = flutterPackages.v3_16;
   flutter313 = flutterPackages.v3_13;
 
@@ -17230,7 +17222,6 @@ with pkgs;
   tbb = tbb_2020_3;
 
   terra = callPackage ../development/compilers/terra {
-    llvmPackages = llvmPackages_11;
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) Cocoa Foundation;
   };
@@ -18159,8 +18150,6 @@ with pkgs;
 
   adreaper = callPackage ../tools/security/adreaper { };
 
-  adtool = callPackage ../tools/admin/adtool { };
-
   aeron = callPackage ../servers/aeron { };
 
   inherit (callPackage ../development/tools/alloy { })
@@ -18185,10 +18174,10 @@ with pkgs;
   ansible = ansible_2_16;
   ansible_2_16 = python3Packages.toPythonApplication python3Packages.ansible-core;
   ansible_2_15 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (oldAttrs: rec {
-    version = "2.15.5";
+    version = "2.15.9";
     src = oldAttrs.src.override {
       inherit version;
-      hash = "sha256-jMU5y41DSa8//ZAccHIvenogOuZCfdrJX/31RqbkFgI=";
+      hash = "sha256-JfmxtaWvPAmGvTko7QhurduGdSf7XIOv7xoDz60080U=";
     };
   }));
   ansible_2_14 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (oldAttrs: rec {
@@ -20399,7 +20388,9 @@ with pkgs;
 
   alure2 = callPackage ../development/libraries/alure2 { };
 
-  agg = callPackage ../development/libraries/agg { };
+  agg = callPackage ../development/libraries/agg {
+    stdenv = gccStdenv;
+  };
 
   agkozak-zsh-prompt = callPackage ../shells/zsh/agkozak-zsh-prompt { };
 
@@ -20441,6 +20432,8 @@ with pkgs;
 
   argparse = callPackage ../development/libraries/argparse { };
 
+  argparse-manpage = with python3Packages; toPythonApplication argparse-manpage;
+
   argp-standalone = callPackage ../development/libraries/argp-standalone { };
 
   aribb25 = callPackage ../development/libraries/aribb25 {
@@ -20453,8 +20446,6 @@ with pkgs;
     cudaPackages = cudaPackages_12;
   };
 
-  arrow-cpp = callPackage ../development/libraries/arrow-cpp { };
-
   arrow-glib = callPackage ../development/libraries/arrow-glib { };
 
   arsenal = callPackage ../tools/security/arsenal { };
@@ -21052,8 +21043,6 @@ with pkgs;
   factor-lang-scope = callPackage ../development/compilers/factor-lang/scope.nix { };
   factor-lang = factor-lang-scope.interpreter;
 
-  fancypp = callPackage ../development/libraries/fancypp { };
-
   far2l = callPackage ../applications/misc/far2l {
     inherit (darwin.apple_sdk.frameworks) IOKit Carbon Cocoa AudioToolbox OpenGL System;
   };
@@ -23832,8 +23821,6 @@ with pkgs;
 
   toml-f = callPackage ../development/libraries/toml-f { };
 
-  fypp = python3Packages.callPackage ../development/python-modules/fypp { };
-
   dbcsr = callPackage ../development/libraries/science/math/dbcsr { };
 
   taco = callPackage ../development/libraries/taco { };
@@ -24446,9 +24433,7 @@ with pkgs;
 
   protobuf = protobuf_24;
 
-  protobuf_25 = callPackage ../development/libraries/protobuf/25.nix {
-    abseil-cpp = abseil-cpp_202308;
-  };
+  protobuf_25 = callPackage ../development/libraries/protobuf/25.nix { };
   protobuf_24 = callPackage ../development/libraries/protobuf/24.nix { };
   protobuf_23 = callPackage ../development/libraries/protobuf/23.nix { };
   protobuf_21 = callPackage ../development/libraries/protobuf/21.nix {
@@ -24664,8 +24649,6 @@ with pkgs;
 
   resolv_wrapper = callPackage ../development/libraries/resolv_wrapper { };
 
-  restinio = callPackage ../development/libraries/restinio { };
-
   restish = callPackage ../tools/networking/restish { };
 
   rhino = callPackage ../development/libraries/java/rhino {
@@ -24840,8 +24823,6 @@ with pkgs;
 
   seasocks = callPackage ../development/libraries/seasocks { };
 
-  semver-cpp = callPackage ../development/libraries/semver-cpp { };
-
   serd = callPackage ../development/libraries/serd { };
 
   serf = callPackage ../development/libraries/serf { };
@@ -26771,10 +26752,6 @@ with pkgs;
 
   pulseeffects-legacy = callPackage ../applications/audio/pulseeffects-legacy { };
 
-  soundux = callPackage ../applications/audio/soundux {
-    yt-dlp = yt-dlp.override { withAlias = true; };
-  };
-
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
 
   tomcat-native = callPackage ../servers/http/tomcat/tomcat-native.nix { };
@@ -27260,7 +27237,9 @@ with pkgs;
 
   systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
 
-  tailscale = callPackage ../servers/tailscale { };
+  tailscale = callPackage ../servers/tailscale {
+    buildGoModule = buildGo122Module;
+  };
 
   tailscale-systray = callPackage ../applications/misc/tailscale-systray { };
 
@@ -27687,6 +27666,8 @@ with pkgs;
 
   ebtables = callPackage ../os-specific/linux/ebtables { };
 
+  elegant-sddm = libsForQt5.callPackage ../data/themes/elegant-sddm { };
+
   error-inject = callPackages ../os-specific/linux/error-inject { };
 
   extrace = callPackage ../os-specific/linux/extrace { };
@@ -31778,7 +31759,7 @@ with pkgs;
   firefox-devedition-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
     inherit (gnome) adwaita-icon-theme;
     channel = "developer-edition";
-    generated = import ../applications/networking/browsers/firefox-bin/devedition_sources.nix;
+    generated = import ../applications/networking/browsers/firefox-bin/developer-edition_sources.nix;
   };
 
   firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
@@ -33163,9 +33144,7 @@ with pkgs;
 
   libowlevelzs = callPackage ../development/libraries/libowlevelzs { };
 
-  librecad = libsForQt5.callPackage ../applications/misc/librecad {
-    boost = boost175;
-  };
+  librecad = libsForQt5.callPackage ../applications/misc/librecad { };
 
   libreoffice-bin = callPackage ../applications/office/libreoffice/darwin { };
 
@@ -34670,6 +34649,8 @@ with pkgs;
 
   qcomicbook = libsForQt5.callPackage ../applications/graphics/qcomicbook { };
 
+  qctools = libsForQt5.callPackage ../applications/video/qctools { };
+
   qelectrotech = libsForQt5.callPackage ../applications/misc/qelectrotech { };
 
   eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
@@ -35116,7 +35097,7 @@ with pkgs;
 
   spice-vdagent = callPackage ../applications/virtualization/spice-vdagent { };
 
-  spike = pin-to-gcc12-if-gcc13 (callPackage ../applications/virtualization/spike { });
+  spike = callPackage ../applications/virtualization/spike { };
 
   tensorman = callPackage ../tools/misc/tensorman { };
 
@@ -35696,9 +35677,9 @@ with pkgs;
 
   tofi = callPackage ../applications/misc/tofi { };
 
-  tokyo-night-gtk = tokyo-night-gtk-variants.full;
+  tokyonight-gtk-theme = tokyonight-gtk-theme-variants.full;
 
-  tokyo-night-gtk-variants = recurseIntoAttrs (callPackage ../data/themes/tokyo-night-gtk { });
+  tokyonight-gtk-theme-variants = recurseIntoAttrs (callPackage ../data/themes/tokyonight-gtk-theme { });
 
   topydo = callPackage ../applications/misc/topydo { };
 
@@ -36444,14 +36425,6 @@ with pkgs;
 
   x-create-mouse-void = callPackage ../applications/window-managers/x-create-mouse-void { };
 
-  picom = callPackage ../applications/window-managers/picom { };
-
-  picom-allusive = callPackage ../applications/window-managers/picom/picom-allusive.nix { };
-
-  picom-jonaburg = callPackage ../applications/window-managers/picom/picom-jonaburg.nix { };
-
-  picom-next = callPackage ../applications/window-managers/picom/picom-next.nix { };
-
   xd = callPackage ../applications/networking/p2p/xd { };
 
   xdaliclock = callPackage ../tools/misc/xdaliclock { };
@@ -36465,7 +36438,6 @@ with pkgs;
   xdg-desktop-portal-gtk = callPackage ../development/libraries/xdg-desktop-portal-gtk { };
 
   xdg-desktop-portal-hyprland = callPackage ../applications/window-managers/hyprwm/xdg-desktop-portal-hyprland {
-    stdenv = gcc13Stdenv;
     inherit (qt6) qtbase qttools qtwayland wrapQtAppsHook;
   };
 
@@ -36533,7 +36505,9 @@ with pkgs;
 
   apvlv = callPackage ../applications/misc/apvlv { };
 
-  xpdf = libsForQt5.callPackage ../applications/misc/xpdf { };
+  xpdf = libsForQt5.callPackage ../applications/misc/xpdf {
+    stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
+  };
 
   xplugd = callPackage ../tools/X11/xplugd { };
 
@@ -41766,6 +41740,7 @@ with pkgs;
     # TODO: remove once `udev` is `systemdMinimal` everywhere.
     udev = systemdMinimal;
     jack = libjack2;
+    restinio = restinio_0_6;
   };
 
   jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { };
@@ -41920,7 +41895,7 @@ with pkgs;
 
   weggli = callPackage ../tools/security/weggli { };
 
-  yazi = callPackage ../applications/file-managers/yazi { inherit (darwin.apple_sdk.frameworks) Foundation; };
+  yazi-unwrapped = callPackage ../by-name/ya/yazi-unwrapped/package.nix { inherit (darwin.apple_sdk.frameworks) Foundation; };
 
   ssl-proxy = callPackage ../tools/networking/ssl-proxy { };
 
diff --git a/nixpkgs/pkgs/top-level/linux-kernels.nix b/nixpkgs/pkgs/top-level/linux-kernels.nix
index 62caa91bd496..31cce49051a9 100644
--- a/nixpkgs/pkgs/top-level/linux-kernels.nix
+++ b/nixpkgs/pkgs/top-level/linux-kernels.nix
@@ -185,6 +185,14 @@ in {
       ];
     };
 
+    linux_rt_6_6 = callPackage ../os-specific/linux/kernel/linux-rt-6.6.nix {
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.export-rt-sched-migrate
+      ];
+    };
+
     linux_6_7 = callPackage ../os-specific/linux/kernel/mainline.nix {
       branch = "6.7";
       kernelPatches = [
@@ -613,6 +621,7 @@ in {
      linux_rt_5_10 = packagesFor kernels.linux_rt_5_10;
      linux_rt_5_15 = packagesFor kernels.linux_rt_5_15;
      linux_rt_6_1 = packagesFor kernels.linux_rt_6_1;
+     linux_rt_6_6 = packagesFor kernels.linux_rt_6_6;
      __attrsFailEvaluation = true;
   };
 
@@ -663,7 +672,7 @@ in {
     linux_latest = packages.linux_6_7;
     linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
     linux_rt_default = packages.linux_rt_5_4;
-    linux_rt_latest = packages.linux_rt_6_1;
+    linux_rt_latest = packages.linux_rt_6_6;
   } // { __attrsFailEvaluation = true; };
 
   manualConfig = callPackage ../os-specific/linux/kernel/manual-config.nix {};
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index 9c483e790da8..317059621291 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -105,6 +105,8 @@ self: super: with self; {
 
   aesedb = callPackage ../development/python-modules/aesedb { };
 
+  aetcd = callPackage ../development/python-modules/aetcd { };
+
   afdko = callPackage ../development/python-modules/afdko { };
 
   affine = callPackage ../development/python-modules/affine { };
@@ -167,6 +169,8 @@ self: super: with self; {
 
   aioasuswrt = callPackage ../development/python-modules/aioasuswrt { };
 
+  aioautomower = callPackage ../development/python-modules/aioautomower { };
+
   aioazuredevops = callPackage ../development/python-modules/aioazuredevops { };
 
   aiobafi6 = callPackage ../development/python-modules/aiobafi6 { };
@@ -411,6 +415,8 @@ self: super: with self; {
 
   aiosyncthing = callPackage ../development/python-modules/aiosyncthing { };
 
+  aiotankerkoenig = callPackage ../development/python-modules/aiotankerkoenig { };
+
   aiotractive = callPackage ../development/python-modules/aiotractive { };
 
   aiounifi = callPackage ../development/python-modules/aiounifi { };
@@ -717,6 +723,8 @@ self: super: with self; {
 
   argparse-dataclass = callPackage ../development/python-modules/argparse-dataclass { };
 
+  argparse-manpage = callPackage ../development/python-modules/argparse-manpage { };
+
   args = callPackage ../development/python-modules/args { };
 
   aria2p = callPackage ../development/python-modules/aria2p { };
@@ -3346,6 +3354,8 @@ self: super: with self; {
 
   docloud = callPackage ../development/python-modules/docloud { };
 
+  docstr-coverage = callPackage ../development/python-modules/docstr-coverage { };
+
   docstring-to-markdown = callPackage ../development/python-modules/docstring-to-markdown { };
 
   docstring-parser = callPackage ../development/python-modules/docstring-parser { };
@@ -3745,6 +3755,10 @@ self: super: with self; {
 
   escapism = callPackage ../development/python-modules/escapism { };
 
+  essentials = callPackage ../development/python-modules/essentials { };
+
+  essentials-openapi = callPackage ../development/python-modules/essentials-openapi { };
+
   etcd = callPackage ../development/python-modules/etcd { };
 
   etcd3 = callPackage ../development/python-modules/etcd3 {
@@ -3935,6 +3949,8 @@ self: super: with self; {
 
   fastapi-mail = callPackage ../development/python-modules/fastapi-mail { };
 
+  fastapi-sso = callPackage ../development/python-modules/fastapi-sso { };
+
   fast-histogram = callPackage ../development/python-modules/fast-histogram { };
 
   fastavro = callPackage ../development/python-modules/fastavro { };
@@ -4386,6 +4402,8 @@ self: super: with self; {
 
   fschat = callPackage ../development/python-modules/fschat { };
 
+  fsspec-xrootd = callPackage ../development/python-modules/fsspec-xrootd { };
+
   fsspec = callPackage ../development/python-modules/fsspec { };
 
   fst-pso = callPackage ../development/python-modules/fst-pso { };
@@ -4575,6 +4593,8 @@ self: super: with self; {
 
   georss-wa-dfes-client = callPackage ../development/python-modules/georss-wa-dfes-client { };
 
+  gerbonara = callPackage ../development/python-modules/gerbonara { };
+
   getjump = callPackage ../development/python-modules/getjump { };
 
   getmac = callPackage ../development/python-modules/getmac { };
@@ -4838,6 +4858,8 @@ self: super: with self; {
 
   govee-led-wez = callPackage ../development/python-modules/govee-led-wez { };
 
+  govee-local-api = callPackage ../development/python-modules/govee-local-api { };
+
   goveelights = callPackage ../development/python-modules/goveelights { };
 
   gpapi = callPackage ../development/python-modules/gpapi { };
@@ -5229,6 +5251,8 @@ self: super: with self; {
 
   home-assistant-bluetooth = callPackage ../development/python-modules/home-assistant-bluetooth { };
 
+  homeassistant-bring-api = callPackage ../development/python-modules/homeassistant-bring-api { };
+
   home-assistant-chip-clusters = callPackage ../development/python-modules/home-assistant-chip-clusters { };
 
   home-assistant-chip-core = callPackage ../development/python-modules/home-assistant-chip-core { };
@@ -6337,6 +6361,8 @@ self: super: with self; {
 
   lexid = callPackage ../development/python-modules/lexid { };
 
+  lexilang = callPackage ../development/python-modules/lexilang { };
+
   lhapdf = toPythonModule (pkgs.lhapdf.override {
     inherit python;
   });
@@ -6566,6 +6592,8 @@ self: super: with self; {
 
   limnoria = callPackage ../development/python-modules/limnoria { };
 
+  linear-garage-door = callPackage ../development/python-modules/linear-garage-door { };
+
   linear-operator = callPackage ../development/python-modules/linear-operator { };
 
   linecache2 = callPackage ../development/python-modules/linecache2 { };
@@ -6707,6 +6735,8 @@ self: super: with self; {
 
   ltpycld2 = callPackage ../development/python-modules/ltpycld2 { };
 
+  lttng = callPackage ../development/python-modules/lttng { };
+
   luddite = callPackage ../development/python-modules/luddite { };
 
   luftdaten = callPackage ../development/python-modules/luftdaten { };
@@ -7027,7 +7057,7 @@ self: super: with self; {
 
   meshtastic = callPackage ../development/python-modules/meshtastic { };
 
-  meson = toPythonModule ((pkgs.meson.override { python3 = python; }).overrideAttrs
+  meson = toPythonModule ((pkgs.meson.override { python3 = python; }).overridePythonAttrs
     (oldAttrs: { # We do not want the setup hook in Python packages because the build is performed differently.
       setupHook = null;
     }));
@@ -8183,6 +8213,8 @@ self: super: with self; {
 
   myst-parser = callPackage ../development/python-modules/myst-parser { };
 
+  myuplink = callPackage ../development/python-modules/myuplink { };
+
   n3fit = callPackage ../development/python-modules/n3fit { };
 
   nad-receiver = callPackage ../development/python-modules/nad-receiver { };
@@ -8299,6 +8331,8 @@ self: super: with self; {
 
   neo4j = callPackage ../development/python-modules/neo4j { };
 
+  neoteroi-mkdocs = callPackage ../development/python-modules/neoteroi-mkdocs { };
+
   nessclient = callPackage ../development/python-modules/nessclient { };
 
   nest = toPythonModule(pkgs.nest-mpi.override { withPython = true; python3 = python; });
@@ -9325,6 +9359,8 @@ self: super: with self; {
 
   pyprecice = callPackage ../development/python-modules/pyprecice { };
 
+  pyprobables = callPackage ../development/python-modules/pyprobables { };
+
   pyproject-api = callPackage ../development/python-modules/pyproject-api { };
 
   pyproject-hooks = callPackage ../development/python-modules/pyproject-hooks { };
@@ -9542,6 +9578,8 @@ self: super: with self; {
 
   pynobo = callPackage ../development/python-modules/pynobo { };
 
+  pynose = callPackage ../development/python-modules/pynose { };
+
   pynuki = callPackage ../development/python-modules/pynuki { };
 
   pynut2 = callPackage ../development/python-modules/pynut2 { };
@@ -9883,6 +9921,8 @@ self: super: with self; {
 
   priority = callPackage ../development/python-modules/priority { };
 
+  prisma = callPackage ../development/python-modules/prisma { };
+
   prison = callPackage ../development/python-modules/prison { };
 
   proboscis = callPackage ../development/python-modules/proboscis { };
@@ -11715,6 +11755,8 @@ self: super: with self; {
 
   pytest-testmon = callPackage ../development/python-modules/pytest-testmon { };
 
+  pytest-textual-snapshot = callPackage ../development/python-modules/pytest-textual-snapshot { };
+
   pytest-timeout = callPackage ../development/python-modules/pytest-timeout { };
 
   pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
@@ -12016,6 +12058,8 @@ self: super: with self; {
 
   python-stdnum = callPackage ../development/python-modules/python-stdnum { };
 
+  python-technove = callPackage ../development/python-modules/python-technove { };
+
   python-telegram = callPackage ../development/python-modules/python-telegram { };
 
   python-telegram-bot = callPackage ../development/python-modules/python-telegram-bot { };
@@ -12445,6 +12489,8 @@ self: super: with self; {
 
   rangehttpserver = callPackage ../development/python-modules/rangehttpserver { };
 
+  rangeparser = callPackage ../development/python-modules/rangeparser { };
+
   rank-bm25 = callPackage ../development/python-modules/rank-bm25 { };
 
   rapidfuzz = callPackage ../development/python-modules/rapidfuzz { };
@@ -12650,8 +12696,12 @@ self: super: with self; {
 
   reretry = callPackage ../development/python-modules/reretry { };
 
+  rerun-sdk = callPackage ../development/python-modules/rerun-sdk { };
+
   resampy = callPackage ../development/python-modules/resampy { };
 
+  resend = callPackage ../development/python-modules/resend { };
+
   resize-right = callPackage ../development/python-modules/resize-right { };
 
   resolvelib = callPackage ../development/python-modules/resolvelib { };
@@ -14226,7 +14276,7 @@ self: super: with self; {
   tensorflow-build = let
     compat = rec {
       protobufTF = pkgs.protobuf_21.override {
-        abseil-cpp = pkgs.abseil-cpp;
+        abseil-cpp = pkgs.abseil-cpp_202301;
       };
       grpcTF = (pkgs.grpc.overrideAttrs (
         oldAttrs: rec {
@@ -14278,6 +14328,7 @@ self: super: with self; {
     grpc = compat.grpcTF;
     grpcio = compat.grpcioTF;
     tensorboard = compat.tensorboardTF;
+    abseil-cpp = pkgs.abseil-cpp_202301;
 
     # Tensorflow 2.13 doesn't support gcc13:
     # https://github.com/tensorflow/tensorflow/issues/61289
@@ -15999,6 +16050,8 @@ self: super: with self; {
 
   viv-utils = callPackage ../development/python-modules/viv-utils { };
 
+  vllm = callPackage ../development/python-modules/vllm { };
+
   vmprof = callPackage ../development/python-modules/vmprof { };
 
   vncdo = callPackage ../development/python-modules/vncdo { };
@@ -16062,6 +16115,8 @@ self: super: with self; {
 
   wagtail-localize = callPackage ../development/python-modules/wagtail-localize { };
 
+  wagtail-modeladmin = callPackage ../development/python-modules/wagtail-modeladmin { };
+
   waitress = callPackage ../development/python-modules/waitress { };
 
   waitress-django = callPackage ../development/python-modules/waitress-django { };
@@ -16406,6 +16461,10 @@ self: super: with self; {
 
   xpybutil = callPackage ../development/python-modules/xpybutil { };
 
+  xrootd = callPackage ../development/python-modules/xrootd {
+    inherit (pkgs) xrootd;
+  };
+
   xsdata = callPackage ../development/python-modules/xsdata { };
 
   xstatic-asciinema-player = callPackage ../development/python-modules/xstatic-asciinema-player { };
diff --git a/nixpkgs/pkgs/top-level/qt5-packages.nix b/nixpkgs/pkgs/top-level/qt5-packages.nix
index decb95383438..e6d5aab36956 100644
--- a/nixpkgs/pkgs/top-level/qt5-packages.nix
+++ b/nixpkgs/pkgs/top-level/qt5-packages.nix
@@ -245,6 +245,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   quazip = callPackage ../development/libraries/quazip { };
 
+  quickflux = callPackage ../development/libraries/quickflux { };
+
   qscintilla = callPackage ../development/libraries/qscintilla { };
 
   qwt = callPackage ../development/libraries/qwt/default.nix { };
@@ -255,6 +257,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   qzxing = callPackage ../development/libraries/qzxing { };
 
+  rlottie-qml = callPackage ../development/libraries/rlottie-qml { };
+
   soqt = callPackage ../development/libraries/soqt { };
 
   telepathy = callPackage ../development/libraries/telepathy/qt { };