about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/README.md2
-rw-r--r--pkgs/applications/audio/airwindows-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/ledfx/default.nix2
-rw-r--r--pkgs/applications/audio/qpwgraph/default.nix4
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix6
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix4
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/sparrow/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix3
-rw-r--r--pkgs/applications/file-managers/ytree/default.nix40
-rw-r--r--pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch93
-rw-r--r--pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch200
-rw-r--r--pkgs/applications/graphics/qimgv/default.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix10
-rw-r--r--pkgs/applications/misc/blender/default.nix7
-rw-r--r--pkgs/applications/misc/cura/numpy-cast.patch12
-rw-r--r--pkgs/applications/misc/houdini/default.nix6
-rw-r--r--pkgs/applications/misc/houdini/runtime-build.nix35
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix34
-rw-r--r--pkgs/applications/misc/josm/default.nix8
-rw-r--r--pkgs/applications/misc/mediaelch/default.nix4
-rw-r--r--pkgs/applications/misc/mobilecoin-wallet/default.nix7
-rw-r--r--pkgs/applications/misc/navi/default.nix1
-rw-r--r--pkgs/applications/misc/notejot/default.nix10
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix8
-rw-r--r--pkgs/applications/misc/tellico/hex.patch15
-rw-r--r--pkgs/applications/misc/thedesk/default.nix3
-rw-r--r--pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch55
-rw-r--r--pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch43
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix99
-rw-r--r--pkgs/applications/networking/instant-messengers/gotktrix/default.nix50
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix2
-rw-r--r--pkgs/applications/networking/warp/default.nix8
-rw-r--r--pkgs/applications/office/calligra/qt5_11.patch98
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix13
-rw-r--r--pkgs/applications/office/timeular/default.nix2
-rw-r--r--pkgs/applications/radio/abracadabra/default.nix4
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix4
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch31
-rw-r--r--pkgs/applications/science/math/yacas/fix-test-script.patch26
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix32
-rw-r--r--pkgs/applications/system/glances/skip-failing-tests.patch52
-rw-r--r--pkgs/applications/version-management/radicle-upstream/default.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/core.nix9
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/hub.nix19
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/paste.nix11
-rw-r--r--pkgs/applications/version-management/sourcehut/scm.nix10
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix9
-rw-r--r--pkgs/applications/video/haruna/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix4
-rw-r--r--pkgs/applications/video/olive-editor/q-painter-path.patch48
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix33
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch21
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch11
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/portals.patch28
-rw-r--r--pkgs/build-support/appimage/default.nix1
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix2
-rw-r--r--pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh6
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/main.rs4
-rw-r--r--pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs87
-rw-r--r--pkgs/by-name/ar/arcan/package.nix (renamed from pkgs/desktops/arcan/arcan/default.nix)28
-rw-r--r--pkgs/by-name/ar/arcan/wrapper.nix (renamed from pkgs/desktops/arcan/wrapper.nix)0
-rw-r--r--pkgs/by-name/ar/ark-pixel-font/package.nix60
-rw-r--r--pkgs/by-name/ca/cat9/package.nix (renamed from pkgs/desktops/arcan/cat9/default.nix)14
-rw-r--r--pkgs/by-name/co/cowsql/package.nix2
-rw-r--r--pkgs/by-name/dr/drone-scp/package.nix28
-rw-r--r--pkgs/by-name/du/durden/package.nix (renamed from pkgs/desktops/arcan/durden/default.nix)14
-rw-r--r--pkgs/by-name/fm/fmtoy/package.nix70
-rw-r--r--pkgs/by-name/ha/haredo/package.nix71
-rw-r--r--pkgs/by-name/ha/haredo/setup-hook.sh69
-rw-r--r--pkgs/by-name/im/immersed-vr/package.nix4
-rw-r--r--pkgs/by-name/in/incus-unwrapped/package.nix2
-rw-r--r--pkgs/by-name/li/libfmvoice/package.nix52
-rw-r--r--pkgs/by-name/li/linien-gui/package.nix47
-rw-r--r--pkgs/by-name/lx/lxd-to-incus/package.nix2
-rw-r--r--pkgs/by-name/ma/maid/Gemfile3
-rw-r--r--pkgs/by-name/ma/maid/Gemfile.lock55
-rw-r--r--pkgs/by-name/ma/maid/gemset.nix230
-rw-r--r--pkgs/by-name/ma/maid/package.nix23
-rw-r--r--pkgs/by-name/ma/maid/test.nix20
-rw-r--r--pkgs/by-name/ma/matlab-language-server/package.nix39
-rw-r--r--pkgs/by-name/nh/nh/package.nix59
-rw-r--r--pkgs/by-name/nw/nwg-drawer/package.nix4
-rw-r--r--pkgs/by-name/ph/phpunit/package.nix1
-rw-r--r--pkgs/by-name/pi/pipeworld/package.nix (renamed from pkgs/desktops/arcan/pipeworld/default.nix)14
-rw-r--r--pkgs/by-name/pl/pls/Cargo.lock856
-rw-r--r--pkgs/by-name/pl/pls/package.nix37
-rw-r--r--pkgs/by-name/pr/presenterm/package.nix14
-rw-r--r--pkgs/by-name/pr/prio/package.nix (renamed from pkgs/desktops/arcan/prio/default.nix)8
-rw-r--r--pkgs/by-name/ra/raft-cowsql/package.nix2
-rw-r--r--pkgs/by-name/rc/rclip/package.nix46
-rw-r--r--pkgs/by-name/re/resources/package.nix66
-rw-r--r--pkgs/by-name/sy/syntax/package.nix30
-rw-r--r--pkgs/by-name/ta/tailscale-nginx-auth/package.nix43
-rw-r--r--pkgs/by-name/vg/vgm2x/package.nix57
-rw-r--r--pkgs/by-name/wi/windmill/package.nix2
-rw-r--r--pkgs/by-name/xa/xarcan/package.nix (renamed from pkgs/desktops/arcan/xarcan/default.nix)14
-rw-r--r--pkgs/by-name/yg/yggdrasil/package.nix6
-rw-r--r--pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff39
-rw-r--r--pkgs/by-name/yt/ytree/package.nix46
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix4
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix4
-rw-r--r--pkgs/desktops/arcan/default.nix49
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix7
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch32
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/unite/default.nix43
-rw-r--r--pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch11
-rw-r--r--pkgs/desktops/lomiri/default.nix1
-rw-r--r--pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix129
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix10
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch210
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix480
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix4
-rw-r--r--pkgs/development/compilers/cudatoolkit/extension.nix17
-rw-r--r--pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh8
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/overrides.nix35
-rw-r--r--pkgs/development/compilers/cudatoolkit/saxpy/default.nix22
-rw-r--r--pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch43
-rw-r--r--pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch261
-rw-r--r--pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch70
-rw-r--r--pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch83
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch87
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch107
-rw-r--r--pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch33
-rw-r--r--pkgs/development/compilers/yosys/default.nix4
-rw-r--r--pkgs/development/compilers/yosys/fix-clang-build.patch8
-rw-r--r--pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch88
-rw-r--r--pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch43
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix57
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml1
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml7
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix9
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix4
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/replxx.nix6
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/singeli.nix6
-rw-r--r--pkgs/development/interpreters/elixir/generic-builder.nix8
-rw-r--r--pkgs/development/interpreters/love/0.7-gl-prototypes.patch21
-rw-r--r--pkgs/development/interpreters/love/11.nix4
-rw-r--r--pkgs/development/interpreters/octave/patches/bug62436.patch27
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch15
-rw-r--r--pkgs/development/libraries/apr/is-this-a-compiler-bug.patch17
-rw-r--r--pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch13
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/cairo/skip-configure-stderr-check.patch89
-rw-r--r--pkgs/development/libraries/crypto++/default.nix4
-rw-r--r--pkgs/development/libraries/ctranslate2/default.nix1
-rw-r--r--pkgs/development/libraries/dqlite/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/rpcgen-path.patch54
-rw-r--r--pkgs/development/libraries/hwloc/default.nix5
-rw-r--r--pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch27
-rw-r--r--pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch (renamed from pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch)0
-rw-r--r--pkgs/development/libraries/libopenshot-audio/default.nix (renamed from pkgs/applications/video/openshot-qt/libopenshot-audio.nix)22
-rw-r--r--pkgs/development/libraries/libopenshot/0001-link-magickcore.diff12
-rw-r--r--pkgs/development/libraries/libopenshot/default.nix (renamed from pkgs/applications/video/openshot-qt/libopenshot.nix)49
-rw-r--r--pkgs/development/libraries/libressl/fix-build-with-glibc.patch92
-rw-r--r--pkgs/development/libraries/libwnck/fix-pc-file.patch24
-rw-r--r--pkgs/development/libraries/loudmouth/glib-2.32.patch13
-rw-r--r--pkgs/development/libraries/mp4v2/fix-build-clang.patch13
-rw-r--r--pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch22
-rw-r--r--pkgs/development/libraries/nco/default.nix4
-rw-r--r--pkgs/development/libraries/nvidia-thrust/default.nix102
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix2
-rw-r--r--pkgs/development/libraries/openmpi/default.nix17
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix30
-rw-r--r--pkgs/development/libraries/openvino/default.nix6
-rw-r--r--pkgs/development/libraries/protobuf/25.nix6
-rw-r--r--pkgs/development/libraries/qcoro/default.nix4
-rw-r--r--pkgs/development/libraries/qtutilities/default.nix4
-rw-r--r--pkgs/development/libraries/raft-canonical/default.nix2
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/cutensor/generic.nix29
-rw-r--r--pkgs/development/libraries/science/math/faiss/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch45
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/extension.nix28
-rw-r--r--pkgs/development/libraries/science/math/tensorrt/generic.nix15
-rw-r--r--pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix13
-rw-r--r--pkgs/development/libraries/ucc/default.nix20
-rw-r--r--pkgs/development/libraries/ucx/default.nix32
-rw-r--r--pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch18
-rw-r--r--pkgs/development/libraries/zlog/default.nix4
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch19
-rw-r--r--pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch36
-rw-r--r--pkgs/development/ocaml-modules/expat/unittest.patch15
-rw-r--r--pkgs/development/ocaml-modules/fix/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix4
-rw-r--r--pkgs/development/php-packages/box/default.nix6
-rw-r--r--pkgs/development/php-packages/composer/default.nix1
-rw-r--r--pkgs/development/php-packages/grumphp/default.nix1
-rw-r--r--pkgs/development/php-packages/psalm/default.nix1
-rw-r--r--pkgs/development/php-packages/spx/default.nix (renamed from pkgs/development/php-packages/php-spx/default.nix)2
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-xray-sdk/default.nix70
-rw-r--r--pkgs/development/python-modules/bdffont/default.nix42
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/celery/default.nix4
-rw-r--r--pkgs/development/python-modules/character-encoding-utils/default.nix41
-rw-r--r--pkgs/development/python-modules/cupy/default.nix46
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc-render/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc/dvc-daemon.patch18
-rw-r--r--pkgs/development/python-modules/easyenergy/default.nix4
-rw-r--r--pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch274
-rw-r--r--pkgs/development/python-modules/energyzero/default.nix4
-rw-r--r--pkgs/development/python-modules/evohome-async/default.nix4
-rw-r--r--pkgs/development/python-modules/exrex/default.nix9
-rw-r--r--pkgs/development/python-modules/faulthandler/disable-env-test.patch13
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch45
-rw-r--r--pkgs/development/python-modules/habluetooth/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix4
-rw-r--r--pkgs/development/python-modules/ihm/default.nix4
-rw-r--r--pkgs/development/python-modules/jax/default.nix4
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix42
-rw-r--r--pkgs/development/python-modules/jaxlib/default.nix14
-rw-r--r--pkgs/development/python-modules/labgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/lcd-i2c/default.nix34
-rw-r--r--pkgs/development/python-modules/linien-client/default.nix41
-rw-r--r--pkgs/development/python-modules/linien-common/default.nix53
-rw-r--r--pkgs/development/python-modules/linien-common/tests.nix26
-rw-r--r--pkgs/development/python-modules/livestreamer-curses/default.nix28
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix38
-rw-r--r--pkgs/development/python-modules/mypy-boto3/default.nix708
-rw-r--r--pkgs/development/python-modules/mypy-boto3/update.sh384
-rw-r--r--pkgs/development/python-modules/open-clip-torch/default.nix86
-rw-r--r--pkgs/development/python-modules/opencensus-ext-azure/default.nix4
-rw-r--r--pkgs/development/python-modules/pixel-font-builder/default.nix54
-rw-r--r--pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch26
-rw-r--r--pkgs/development/python-modules/psycopg/ctypes.patch31
-rw-r--r--pkgs/development/python-modules/psycopg/default.nix14
-rw-r--r--pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch30
-rw-r--r--pkgs/development/python-modules/pyhanko-certvalidator/default.nix6
-rw-r--r--pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch25
-rw-r--r--pkgs/development/python-modules/pyhanko/default.nix12
-rw-r--r--pkgs/development/python-modules/pymiele/default.nix45
-rw-r--r--pkgs/development/python-modules/pynvim/default.nix19
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix6
-rw-r--r--pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch20
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch31
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix2
-rw-r--r--pkgs/development/python-modules/python-osc/default.nix19
-rw-r--r--pkgs/development/python-modules/renson-endura-delta/default.nix53
-rw-r--r--pkgs/development/python-modules/reportlab/darwin-m1-compat.patch13
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/securesystemslib/default.nix6
-rw-r--r--pkgs/development/python-modules/signify/certificate-expiration-date.patch18
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix20
-rw-r--r--pkgs/development/python-modules/thermopro-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/torch/default.nix3
-rw-r--r--pkgs/development/python-modules/types-aiobotocore-packages/default.nix702
-rw-r--r--pkgs/development/python-modules/types-aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch130
-rw-r--r--pkgs/development/python-modules/unidata-blocks/default.nix44
-rw-r--r--pkgs/development/python-modules/uritemplate/default.nix9
-rw-r--r--pkgs/development/python-modules/webdataset/default.nix83
-rw-r--r--pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch13
-rw-r--r--pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--pkgs/development/python-modules/yolink-api/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/1.9.nix111
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch24
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--pkgs/development/tools/buildpack/default.nix4
-rw-r--r--pkgs/development/tools/compass/Gemfile5
-rw-r--r--pkgs/development/tools/compass/Gemfile.lock4
-rw-r--r--pkgs/development/tools/compass/default.nix9
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/pkg.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/plugins.nix30
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/worker.nix2
-rw-r--r--pkgs/development/tools/electron/binary/generic.nix2
-rw-r--r--pkgs/development/tools/electron/common.nix12
-rw-r--r--pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch73
-rw-r--r--pkgs/development/tools/electron/info.json1130
-rw-r--r--pkgs/development/tools/electron/version-old.patch42
-rw-r--r--pkgs/development/tools/electron/version.patch4
-rw-r--r--pkgs/development/tools/fastgron/default.nix4
-rw-r--r--pkgs/development/tools/memray/default.nix8
-rw-r--r--pkgs/development/tools/minizinc/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch68
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix8
-rw-r--r--pkgs/development/tools/mongosh/package-lock.json2092
-rw-r--r--pkgs/development/tools/mongosh/source.json8
-rw-r--r--pkgs/development/tools/neil/default.nix4
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-hack/default.nix6
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch95
-rw-r--r--pkgs/games/aaaaxy/default.nix6
-rw-r--r--pkgs/games/gambatte/fix-scons-paths.patch15
-rw-r--r--pkgs/games/path-of-building/default.nix4
-rw-r--r--pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch136
-rw-r--r--pkgs/games/stepmania/default.nix55
-rw-r--r--pkgs/games/tennix/fix_FTBFS.patch288
-rw-r--r--pkgs/misc/cups/0001-TargetConditionals.patch29
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix15
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix7
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch295
-rw-r--r--pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch51
-rw-r--r--pkgs/servers/home-assistant/build-custom-component/check_manifest.py38
-rw-r--r--pkgs/servers/home-assistant/build-custom-component/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-components/README.md30
-rw-r--r--pkgs/servers/home-assistant/custom-components/default.nix3
-rw-r--r--pkgs/servers/home-assistant/custom-components/miele/default.nix35
-rw-r--r--pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix (renamed from pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix)3
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/default.nix2
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix39
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix6
-rw-r--r--pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch12
-rw-r--r--pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch88
-rw-r--r--pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch44
-rw-r--r--pkgs/servers/matrix-synapse/sliding-sync/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/atlas-exporter.nix22
-rw-r--r--pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch51
-rw-r--r--pkgs/servers/mxisd/0001-gradle.patch22
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix3
-rw-r--r--pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch22
-rw-r--r--pkgs/servers/web-apps/netbox/config_3_3.patch50
-rw-r--r--pkgs/servers/web-apps/netbox/graphql-3_2_0.patch21
-rw-r--r--pkgs/shells/fish/default.nix6
-rw-r--r--pkgs/shells/fish/plugins/fzf-fish.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/stdenv/darwin/fixed-xnu-python3.patch41
-rw-r--r--pkgs/tools/admin/aws-encryption-sdk-cli/default.nix26
-rw-r--r--pkgs/tools/admin/chamber/default.nix4
-rw-r--r--pkgs/tools/admin/lxd/default.nix2
-rw-r--r--pkgs/tools/admin/lxd/ui.nix2
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/audio/fmtoy/default.nix72
-rw-r--r--pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch18
-rw-r--r--pkgs/tools/compression/ouch/default.nix10
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/blobfuse/install-adls.patch14
-rw-r--r--pkgs/tools/filesystems/davfs2/isdir.patch30
-rw-r--r--pkgs/tools/filesystems/stuffbin/default.nix4
-rw-r--r--pkgs/tools/graphics/astc-encoder/default.nix4
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix19
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/misc/diffoci/default.nix6
-rw-r--r--pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch28
-rw-r--r--pkgs/tools/misc/hdf5/bin-mv.patch30
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/pls/default.nix44
-rw-r--r--pkgs/tools/misc/svu/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch53
-rw-r--r--pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch12
-rw-r--r--pkgs/tools/networking/gping/default.nix6
-rw-r--r--pkgs/tools/networking/hping/default.nix7
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix12
-rw-r--r--pkgs/tools/networking/ofono/default.nix4
-rw-r--r--pkgs/tools/networking/photon/destdir.patch20
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/package-management/micromamba/default.nix4
-rw-r--r--pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch13
-rw-r--r--pkgs/tools/security/cfripper/default.nix4
-rw-r--r--pkgs/tools/security/dalfox/default.nix6
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fscan/default.nix5
-rw-r--r--pkgs/tools/security/gnupg/gpgkey2ssh-20.patch14
-rw-r--r--pkgs/tools/security/gotestwaf/default.nix4
-rw-r--r--pkgs/tools/security/jadx/default.nix7
-rw-r--r--pkgs/tools/security/rblake2sum/default.nix1
-rw-r--r--pkgs/tools/security/rblake3sum/default.nix29
-rw-r--r--pkgs/tools/security/step-kms-plugin/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--pkgs/tools/security/wpscan/Gemfile.lock48
-rw-r--r--pkgs/tools/security/wpscan/gemset.nix64
-rw-r--r--pkgs/tools/virtualization/distrobuilder/default.nix2
-rw-r--r--pkgs/tools/virtualization/xe-guest-utilities/default.nix7
-rw-r--r--pkgs/tools/wayland/swaysome/default.nix6
-rw-r--r--pkgs/tools/wayland/wob/default.nix7
-rw-r--r--pkgs/top-level/aliases.nix4
-rw-r--r--pkgs/top-level/all-packages.nix73
-rw-r--r--pkgs/top-level/cuda-packages.nix15
-rw-r--r--pkgs/top-level/php-packages.nix6
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix32
-rw-r--r--pkgs/top-level/qt5-packages.nix4
401 files changed, 7456 insertions, 8832 deletions
diff --git a/pkgs/README.md b/pkgs/README.md
index 31a590e43d8d8..0649d9415a26c 100644
--- a/pkgs/README.md
+++ b/pkgs/README.md
@@ -470,7 +470,7 @@ Preferred source hash type is sha256. There are several ways to get it.
 
    in the package expression, attempt build and extract correct hash from error messages.
 
-   > **Warning**
+   > [!Warning]
    > You must use one of these four fake hashes and not some arbitrarily-chosen hash.
    > See [here][secure-hashes]
 
diff --git a/pkgs/applications/audio/airwindows-lv2/default.nix b/pkgs/applications/audio/airwindows-lv2/default.nix
index f46f3053a2846..5e87c50a3147a 100644
--- a/pkgs/applications/audio/airwindows-lv2/default.nix
+++ b/pkgs/applications/audio/airwindows-lv2/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "airwindows-lv2";
-  version = "22.0";
+  version = "26.0";
   src = fetchFromSourcehut {
     owner = "~hannes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u62wLRrJ45ap981Q8JmMnanc8AWQb1MJHK32PEr10I4=";
+    sha256 = "sha256-CmNe70ii3WfQ6GGHVqTEyQ2HVubzoeoeN3JsCZSbsPM=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/applications/audio/ledfx/default.nix b/pkgs/applications/audio/ledfx/default.nix
index 31e7d23f75df7..9efc5270fb222 100644
--- a/pkgs/applications/audio/ledfx/default.nix
+++ b/pkgs/applications/audio/ledfx/default.nix
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'rpi-ws281x>=4.3.0; platform_system == \"Linux\"'," "" \
-      --replace '"sentry-sdk==1.14.0",' "sentry-sdk" \
+      --replace "sentry-sdk==1.14.0" "sentry-sdk" \
       --replace "~=" ">="
   '';
 
diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix
index 44a285c7b65a4..bab3d8c9b4ee5 100644
--- a/pkgs/applications/audio/qpwgraph/default.nix
+++ b/pkgs/applications/audio/qpwgraph/default.nix
@@ -13,14 +13,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qpwgraph";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "rncbc";
     repo = "qpwgraph";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-wJ+vUw16yBBFjMdJogF1nkLnAh3o2ndN9+0png8ZVJ4=";
+    sha256 = "sha256-oB8/q0igSZoaDzKzgmGAECU0qJwO67t9qWw+fB2vfxg=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 3196d492fb500..63e2bd7f2dccd 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -17,7 +17,9 @@
 , libxdg_basedir
 , wxGTK
 # GStreamer
+, glib-networking
 , gst_all_1
+, libsoup_3
 # User-agent info
 , lsb-release
 # rt2rtng
@@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
     libxdg_basedir
     lsb-release
     wxGTK
+    # for https gstreamer / libsoup
+    glib-networking
   ] ++ gstInputs
     ++ pythonInputs;
 
@@ -89,6 +93,8 @@ stdenv.mkDerivation rec {
   preFixup = ''
     gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ dbus ]})
     wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH
+    # for GStreamer
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.getLib libsoup_3}/lib")
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index 2abfe5f16d549..e44cefb02fd43 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "23.10.24";
+  version = "23.11.6";
 
   src = fetchurl {
     name = "exodus-linux-x64-${version}.zip";
     url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
     curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
-    sha256 = "sha256-g28jSQaqjnM34sCpyYLSipUoU3pqAcXQIyWhlrR4xz4=";
+    sha256 = "sha256-s7LPOUDDQIgASMr3EmEUgtwWHl6mdDez4H3L+Mj3LQA=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 5f96baba174bb..3c61455bb1b5d 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.71.0";
+  version = "2.71.1";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-boZ28o8bg2TXZcc1mx4ZlPIPRFK9wy4+MTbYLT5XCQU=";
+    hash = "sha256-+1i4ycURuT0xSF2yLQM5uyDFzeeGQ8H4On2Pb3oIRYc=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/sparrow/default.nix b/pkgs/applications/blockchains/sparrow/default.nix
index be6b93407ab39..32b8066ff42ec 100644
--- a/pkgs/applications/blockchains/sparrow/default.nix
+++ b/pkgs/applications/blockchains/sparrow/default.nix
@@ -21,11 +21,11 @@
 
 let
   pname = "sparrow";
-  version = "1.7.9";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
-    sha256 = "0bz8mx6mszqadx7nlb4ini45r2r57grdgmrq6k9lxgrgcpd8gasy";
+    sha256 = "sha256-dpYGMclYMjxjUbIcSZ7V54I1LTVfHxAKH9+7CaprD4U=";
   };
 
   launcher = writeScript "sparrow" ''
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index a1eb75f8de820..eca8d53c66b96 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -2123,19 +2123,19 @@ let
 
       kddejong.vscode-cfn-lint =
         let
-          inherit (python3Packages) cfn-lint;
+          inherit (python3Packages) cfn-lint pydot;
         in
         buildVscodeMarketplaceExtension {
           mktplcRef = {
             name = "vscode-cfn-lint";
             publisher = "kddejong";
-            version = "0.21.0";
+            version = "0.25.1";
             sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ=";
           };
 
           nativeBuildInputs = [ jq moreutils ];
 
-          buildInputs = [ cfn-lint ];
+          buildInputs = [ cfn-lint pydot ];
 
           postInstall = ''
             cd "$out/$installPrefix"
diff --git a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
index ef1a5a4d49ec8..9d157bb7b2e0f 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
@@ -28,6 +28,9 @@ vscode-utils.buildVscodeMarketplaceExtension {
     EOF
     }
     jq "$(print_jq_query)" ./package.json | sponge ./package.json
+    # Add a link from temp to /tmp so that the extension gets a writable
+    # directory to write to.
+    ln -s /tmp temp
   '';
 
   meta = {
diff --git a/pkgs/applications/file-managers/ytree/default.nix b/pkgs/applications/file-managers/ytree/default.nix
deleted file mode 100644
index 4ba320919ef35..0000000000000
--- a/pkgs/applications/file-managers/ytree/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, ncurses
-, readline
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ytree";
-  version = "2.05";
-
-  src = fetchurl {
-    url = "https://han.de/~werner/${pname}-${version}.tar.gz";
-    sha256 = "sha256-jPixUeSRO1t/epHf/VxzBhBqQkd+xE5x1ix19mq2Glc=";
-  };
-
-  buildInputs = [
-    ncurses
-    readline
-  ];
-
-  # don't save timestamp, in order to improve reproducibility
-  postPatch = ''
-    substituteInPlace Makefile --replace 'gzip' 'gzip -n'
-  '';
-
-  installFlags = [ "DESTDIR=${placeholder "out"}" ];
-
-  preInstall = ''
-    mkdir -p $out/bin $out/share/man/man1
-  '';
-
-  meta = with lib; {
-    description = "A curses-based file manager similar to DOS Xtree(TM)";
-    homepage = "https://www.han.de/~werner/ytree.html";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
-  };
-}
-# TODO: X11 support
diff --git a/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch b/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch
deleted file mode 100644
index c461d8a642912..0000000000000
--- a/pkgs/applications/graphics/dia/poppler-22_09-build-fix.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/plug-ins/pdf/pdf-import.cpp b/plug-ins/pdf/pdf-import.cpp
-index 189737908..a2a479693 100644
---- a/plug-ins/pdf/pdf-import.cpp
-+++ b/plug-ins/pdf/pdf-import.cpp
-@@ -152,12 +152,12 @@ public :
-   void
-   updateLineDash (GfxState *state)
-   {
--    double *dashPattern;
--    int dashLength;
--    double dashStart;
--
--    state->getLineDash (&dashPattern, &dashLength, &dashStart);
--    this->dash_length = dashLength ? dashPattern[0] * scale : 1.0;
-+    const double *dashPattern=NULL;
-+    int dashLength=0;
-+    double dashStart=0;
-+    const std::vector<double> &dash = state->getLineDash(&dashStart);  // > Poppler 22.09 ...
-+    dashPattern = dash.data();
-+    dashLength = dash.size();
- 
-     if (dashLength == 0)
-       this->line_style = DIA_LINE_STYLE_SOLID;
-@@ -318,10 +318,11 @@ public :
-     //FIXME: Dia is really unhappy about zero size fonts
-     if (!(state->getFontSize() > 0.0))
-       return;
--    GfxFont *f = state->getFont();
-+    const std::shared_ptr<GfxFont> f = state->getFont();  // poppler 22.05 ... header changed
-+    gconstpointer f1 = &f;  // GLib typedef const void * gconstpointer;
- 
-     // instead of building the same font over and over again
--    if (g_hash_table_lookup (this->font_map, f)) {
-+    if (g_hash_table_lookup (this->font_map, f1)) {
-       ++font_map_hits;
-       return;
-     }
-@@ -333,8 +334,9 @@ public :
-     gchar *family = g_strdup (f->getFamily() ? f->getFamily()->c_str() : "sans");
- 
-     // we are (not anymore) building the same font over and over again
-+    f1  = &f;
-     g_print ("Font 0x%x: '%s' size=%g (* %g)\n",
--	     GPOINTER_TO_INT (f), family, state->getTransformedFontSize(), scale);
-+	     GPOINTER_TO_INT (f1), family, state->getTransformedFontSize(), scale);
- 
-     // now try to make a fontname Dia/Pango can cope with
-     // strip style postfix - we already have extracted the style bits above
-@@ -354,7 +356,9 @@ public :
-       fsize *= fabs(fm[3] / fm[0]);
-     font = dia_font_new (family, style, fsize * scale / 0.8);
- 
--    g_hash_table_insert (this->font_map, f, font);
-+    f1 = &f;
-+    gpointer f2 = (gpointer)f1;  // GLib typedef void* gpointer;
-+    g_hash_table_insert (this->font_map, f2, font);
-     g_free (family);
-   }
-   void updateTextShift(GfxState *state, double shift)
-@@ -721,11 +725,12 @@ DiaOutputDev::drawString(GfxState *state, GooString *s)
-     return;
-   if (!(state->getFontSize() > 0.0))
-     return;
--  font = (DiaFont *)g_hash_table_lookup (this->font_map, state->getFont());
-+  gconstpointer f_1 = &state->getFont();
-+  font = (DiaFont *)g_hash_table_lookup (this->font_map, f_1);
- 
-   // we have to decode the string data first
-   {
--    GfxFont *f = state->getFont();
-+    const std::shared_ptr<GfxFont> f = state->getFont();
-     const char *p = s->c_str();
-     CharCode code;
-     int   j = 0, m, n;
-@@ -870,8 +875,8 @@ import_pdf(const gchar *filename, DiagramData *dia, DiaContext *ctx, void* user_
-   std::unique_ptr<PDFDoc> doc;
-   GooString *fileName = new GooString(filename);
-   // no passwords yet
--  GooString *ownerPW = NULL;
--  GooString *userPW = NULL;
-+  const std::optional<GooString> ownerPW;
-+  const std::optional<GooString> userPW;
-   gboolean ret = FALSE;
- 
-   // without this we will get strange crashes (at least with /O2 build)
-@@ -899,6 +904,7 @@ import_pdf(const gchar *filename, DiagramData *dia, DiaContext *ctx, void* user_
-     delete diaOut;
-     ret = TRUE;
-   }
-+  doc.reset();
-   delete fileName;
- 
-   return ret;
diff --git a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
deleted file mode 100644
index b1079ab366043..0000000000000
--- a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
-index 4a6d90b..c74cab2 100644
---- focusblur-3.2.6/src/aaa.h
-+++ focusblur-3.2.6/src/aaa.h
-@@ -19,8 +19,7 @@
- #ifndef __AAA_H__
- #define __AAA_H__
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
-index 685b253..8778fec 100644
---- focusblur-3.2.6/src/brush.h
-+++ focusblur-3.2.6/src/brush.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_BRUSH_H__
- #define __FOCUSBLUR_BRUSH_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include "focusblurtypes.h"
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
-index 78f5e99..baee540 100644
---- focusblur-3.2.6/src/depthmap.h
-+++ focusblur-3.2.6/src/depthmap.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_DEPTHMAP_H__
- #define __FOCUSBLUR_DEPTHMAP_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- #include "focusblurenums.h"
-diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
-index 07ffe4b..3c1e4b9 100644
---- focusblur-3.2.6/src/diffusion.h
-+++ focusblur-3.2.6/src/diffusion.h
-@@ -23,7 +23,7 @@
- #define __FOCUSBLUR_DIFFUSION_H__
- 
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblur.h"
- #include "focusblurtypes.h"
-diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
-index 124bcba..cd809fa 100644
---- focusblur-3.2.6/src/fftblur.h
-+++ focusblur-3.2.6/src/fftblur.h
-@@ -23,8 +23,7 @@
- #define __FOCUSBLUR_FFTBLUR_H__
- 
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimpwidgets/gimpwidgetstypes.h>
- 
- #include "focusblurparam.h"
-diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
-index b34d682..42e6380 100644
---- focusblur-3.2.6/src/fftblurbuffer.h
-+++ focusblur-3.2.6/src/fftblurbuffer.h
-@@ -28,8 +28,7 @@
- #endif
- #include <fftw3.h>
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <gtk/gtkstyle.h>
- #include <libgimp/gimptypes.h>
- #include <libgimpwidgets/gimpwidgetstypes.h>
-diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
-index 495572d..10a34f4 100644
---- focusblur-3.2.6/src/fftblurproc.h
-+++ focusblur-3.2.6/src/fftblurproc.h
-@@ -23,8 +23,7 @@
- #define __FOCUSBLUR_FFTBLUR_PROC_H__
- 
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- 
-diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
-index 54ca40a..d7e13a6 100644
---- focusblur-3.2.6/src/focusblur.h
-+++ focusblur-3.2.6/src/focusblur.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_H__
- #define __FOCUSBLUR_H__
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
-diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
-index 64c887b..32865b4 100644
---- focusblur-3.2.6/src/focusblurparam.h
-+++ focusblur-3.2.6/src/focusblurparam.h
-@@ -22,8 +22,7 @@
- #ifndef __FOCUSBLUR_PARAM_H__
- #define __FOCUSBLUR_PARAM_H__
- 
--#include <glib/gmacros.h>
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <gtk/gtkstyle.h>
- #include <libgimp/gimptypes.h>
- 
-diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
-index 15f3603..cfc0567 100644
---- focusblur-3.2.6/src/focusblurstock.h
-+++ focusblur-3.2.6/src/focusblurstock.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_STOCK_H__
- #define __FOCUSBLUR_STOCK_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
-diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
-index 0954c60..1531c84 100644
---- focusblur-3.2.6/src/focusblurtypes.h
-+++ focusblur-3.2.6/src/focusblurtypes.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_TYPES_H__
- #define __FOCUSBLUR_TYPES_H__
- 
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- 
- G_BEGIN_DECLS
-diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
-index 6defd27..e819c60 100644
---- focusblur-3.2.6/src/interface.h
-+++ focusblur-3.2.6/src/interface.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_INTERFACE_H__
- #define __FOCUSBLUR_INTERFACE_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- #include "focusblurtypes.h"
- 
-diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
-index febbd24..a501f1e 100644
---- focusblur-3.2.6/src/render.h
-+++ focusblur-3.2.6/src/render.h
-@@ -24,7 +24,7 @@
- 
- #include "config.h"
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- //#include <libgimp/gimp.h>
- #include <libgimp/gimpui.h>
- 
-diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
-index c5a3621..86b4c09 100644
---- focusblur-3.2.6/src/shine.h
-+++ focusblur-3.2.6/src/shine.h
-@@ -22,7 +22,7 @@
- #ifndef __FOCUSBLUR_SHINE_H__
- #define __FOCUSBLUR_SHINE_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimp/gimptypes.h>
- 
- #include "focusblurtypes.h"
-diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
-index 50d34ca..8eec35c 100644
---- focusblur-3.2.6/src/source.h
-+++ focusblur-3.2.6/src/source.h
-@@ -24,7 +24,7 @@
- 
- #include "config.h"
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- #include <libgimp/gimptypes.h>
- 
- #include "focusblurtypes.h"
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index 560cf666d2621..2cb5f8ddde247 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -29,6 +29,10 @@ mkDerivation rec {
     pkg-config
   ];
 
+  cmakeFlags = [
+    "-DVIDEO_SUPPORT=ON"
+  ];
+
   buildInputs = [
     exiv2
     mpv
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 2a46cfd50035d..27d07e9d57f28 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,7 +9,7 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.10.20" else "8.10.20-1.BETA";
+  version = if channel == "stable" then "8.10.20" else "8.10.22-21.BETA";
 
   sources = {
     stable = {
@@ -33,19 +33,19 @@ let
     beta = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-+wHxtlE0zeVEObzdpcIP75LKbbjsG8LMqdIPFkY0BoU=";
+        hash = "sha256-R4jj5U2a8AoAs1qVIjMQx6odK0Ks4WeqRURf3pOOduo=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-BRsp/hhBwgQFU+5Tt1M9V5Lx8oRLN3uaqLrzrPo/xpo=";
+        hash = "sha256-1opo/RZ0aTZn3Jo9XIw/g8WYK2xgRiaRKgd7RstGJ5g=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-WVP5a007cU1GR/lnL7C6QiJpTTsjzaiS69H2LJzYm70=";
+        hash = "sha256-jlQgXlLLUF78g2B7KYgTSQZAEe57TRw4vN7MPn3IwwI=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-BBSUSSnot1ktC0ik7yMhqsgLdkeQBrJUpHBvwu0w9m0=";
+        hash = "sha256-nzKESK3QKsi0Xzm3ytXWIH08LV2F6jLKvCLDHzVR9xQ=";
       };
     };
   };
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 24ea7287160b7..bdfd867f55675 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -52,7 +52,10 @@ stdenv.mkDerivation (finalAttrs: rec {
   nativeBuildInputs =
     [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev
     ]
-    ++ lib.optionals cudaSupport [ addOpenGLRunpath ]
+    ++ lib.optionals cudaSupport [
+      addOpenGLRunpath
+      cudaPackages.cuda_nvcc
+    ]
     ++ lib.optionals waylandSupport [ pkg-config ];
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
@@ -87,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: rec {
       llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
     ])
     ++ lib.optional jackaudioSupport libjack2
-    ++ lib.optional cudaSupport cudaPackages.cudatoolkit
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]
     ++ lib.optional colladaSupport opencollada
     ++ lib.optional spaceNavSupport libspnav;
   pythonPath = with python310Packages; [ numpy requests zstandard ];
diff --git a/pkgs/applications/misc/cura/numpy-cast.patch b/pkgs/applications/misc/cura/numpy-cast.patch
deleted file mode 100644
index efb14182b3e65..0000000000000
--- a/pkgs/applications/misc/cura/numpy-cast.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN Cura-15.04.old/Cura/util/sliceEngine.py Cura-15.04/Cura/util/sliceEngine.py
---- Cura-15.04.old/Cura/util/sliceEngine.py	2016-05-07 20:34:17.305020334 +0200
-+++ Cura-15.04/Cura/util/sliceEngine.py	2016-05-07 20:40:02.993286467 +0200
-@@ -343,7 +343,7 @@
- 						objMax[1] = max(oMax[1], objMax[1])
- 			if objMin is None:
- 				return
--			pos += (objMin + objMax) / 2.0 * 1000
-+			pos = numpy.add( pos, (objMin + objMax) / 2.0 * 1000, out=pos, casting='unsafe')
- 			commandList += ['-s', 'posx=%d' % int(pos[0]), '-s', 'posy=%d' % int(pos[1])]
- 
- 			vertexTotal = [0] * 4
diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix
index 131cd28764ecc..5c28cd2443e40 100644
--- a/pkgs/applications/misc/houdini/default.nix
+++ b/pkgs/applications/misc/houdini/default.nix
@@ -71,6 +71,8 @@ buildFHSEnv rec {
       "bin/hotl"  # hda/otl manipulation tool
       "bin/hython"  # hython
       "bin/hkey"  # license administration
+      "bin/husk"  # hydra rendereing tool
+      "bin/mantra"  # mantra renderer
       "houdini/sbin/sesinetd"
     ];
   in ''
@@ -80,7 +82,7 @@ buildFHSEnv rec {
       mkdir -p $out/$(dirname $executable)
 
       echo "#!${stdenv.shell}" >> $out/$executable
-      echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
+      echo "$WRAPPER ${unwrapped}/$executable \"\$@\"" >> $out/$executable
     done
 
     cd $out
@@ -93,6 +95,6 @@ buildFHSEnv rec {
   ];
 
   runScript = writeScript "${name}-wrapper" ''
-    exec $@
+    exec "$@"
   '';
 }
diff --git a/pkgs/applications/misc/houdini/runtime-build.nix b/pkgs/applications/misc/houdini/runtime-build.nix
new file mode 100644
index 0000000000000..60f27c1949642
--- /dev/null
+++ b/pkgs/applications/misc/houdini/runtime-build.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, requireFile, bc, version, src, eulaDate }:
+
+let
+  license_dir = "~/.config/houdini";
+in
+stdenv.mkDerivation rec {
+  inherit version src;
+  pname = "houdini-runtime";
+
+  buildInputs = [ bc ];
+  installPhase = ''
+    patchShebangs houdini.install
+    mkdir -p $out
+    ./houdini.install --install-houdini \
+                      --install-license \
+                      --no-install-menus \
+                      --no-install-bin-symlink \
+                      --auto-install \
+                      --no-root-check \
+                      --accept-EULA ${eulaDate} \
+                      $out
+    echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt  # does not seem to do anything any more. not sure, official docs do not say anything about it
+  '';
+
+  dontFixup = true;
+
+  meta = with lib; {
+    description = "3D animation application software";
+    homepage = "https://www.sidefx.com";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    hydraPlatforms = [ ]; # requireFile src's should be excluded
+    maintainers = with maintainers; [ canndrew kwohlfahrt ];
+  };
+}
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index 2f218781abb6e..e437dd51c8850 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -1,40 +1,14 @@
-{ lib, stdenv, requireFile, bc }:
+{ lib, stdenv, requireFile, callPackage}:
 
 let
   license_dir = "~/.config/houdini";
 in
-stdenv.mkDerivation rec {
+callPackage ./runtime-build.nix rec {
   version = "19.5.569";
-  pname = "houdini-runtime";
+  eulaDate = "2021-10-13";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc9.3.tar.gz";
     sha256 = "0c2d6a31c24f5e7229498af6c3a7cdf81242501d7a0792e4c33b53a898d4999e";
-    url = meta.homepage;
-  };
-
-  buildInputs = [ bc ];
-  installPhase = ''
-    patchShebangs houdini.install
-    mkdir -p $out
-    ./houdini.install --install-houdini \
-                      --install-license \
-                      --no-install-menus \
-                      --no-install-bin-symlink \
-                      --auto-install \
-                      --no-root-check \
-                      --accept-EULA 2021-10-13 \
-                      $out
-    echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt  # does not seem to do anything any more. not sure, official docs do not say anything about it
-  '';
-
-  dontFixup = true;
-
-  meta = with lib; {
-    description = "3D animation application software";
-    homepage = "https://www.sidefx.com";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    hydraPlatforms = [ ]; # requireFile src's should be excluded
-    maintainers = with maintainers; [ canndrew kwohlfahrt ];
+    url = "https://www.sidefx.com/download/daily-builds/?production=true";
   };
 }
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 3eff3c3d79f32..89806a0acbc3f 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "18822";
+  version = "18906";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      hash = "sha256-pzB12lkcWGJ7sVdcfJZC2MnUowfWdElxny0pSQ5vjlw=";
+      hash = "sha256-/G3/v7pkRYqxvhYRthmU/20U8cYUkwZ+/VJXvpzeRPE=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      hash = "sha256-MFiWbEU8C6Jvq9wkIKANQeqJh2/yC3y40ANnGEl4IF0=";
+      hash = "sha256-+CDnAQK4ekFCoWvd8+kQLNqycD7tIQ/D7VAyrDU030A=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-/zdOaiyuvSwdVZcnw0ghDj2I+YKpFLc12fjZUMtRtVg=";
+      sha256 = "sha256-RFZGRTDdWP/goH/Ev16nhq1SjxYkfFr3djwSrotK7Fo=";
     };
   };
 in
diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix
index 2745dca8a02cc..bc85e674c575e 100644
--- a/pkgs/applications/misc/mediaelch/default.nix
+++ b/pkgs/applications/misc/mediaelch/default.nix
@@ -24,13 +24,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mediaelch";
-  version = "2.10.4";
+  version = "2.10.6";
 
   src = fetchFromGitHub {
     owner = "Komet";
     repo = "MediaElch";
     rev = "v${version}";
-    hash = "sha256-gNpnmyUKDXf40+1JmJzNyEPIv/DO8b3CdJAphheEvTU=";
+    hash = "sha256-qc7HaCMAmALY9MoIKmaCWF0cnwBBFDAXwqiBzwzu2bU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/mobilecoin-wallet/default.nix b/pkgs/applications/misc/mobilecoin-wallet/default.nix
index 3d0cbdcefa170..1bde970c1e155 100644
--- a/pkgs/applications/misc/mobilecoin-wallet/default.nix
+++ b/pkgs/applications/misc/mobilecoin-wallet/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "mobilecoin-wallet";
-  version = "1.5.0";
+  version = "1.8.0";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin-Wallet-${version}.AppImage";
-    sha256 = "sha256-zSTtnKvgcDSiicEDuVK2LN2d8WHiGReYI3XLBmm3Fbo=";
+    url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin.Wallet-${version}.AppImage";
+    hash = "sha256-XGU/xxsMhOBAh+MeMtL2S707yH8HnoO9w5l7zqjO6rs=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 
@@ -34,6 +34,7 @@ in appimageTools.wrapType2 {
     homepage = "https://github.com/mobilecoinofficial/desktop-wallet";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
+    mainProgram = "mobilecoin-wallet";
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/navi/default.nix b/pkgs/applications/misc/navi/default.nix
index 4049f95b1949d..6cf0044207093 100644
--- a/pkgs/applications/misc/navi/default.nix
+++ b/pkgs/applications/misc/navi/default.nix
@@ -33,6 +33,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/denisidoro/navi";
     license = licenses.asl20;
     platforms = platforms.unix;
+    mainProgram = "navi";
     maintainers = with maintainers; [ cust0dian ];
   };
 }
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index 798c15fffde93..a2882e16f93ef 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -12,6 +12,7 @@
 , pkg-config
 , vala
 , wrapGAppsHook4
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
+
+  patches = [
+    # Fixes the compilation error with new Vala compiler. Remove in the next version.
+    (fetchpatch {
+      url = "https://github.com/musicinmybrain/notejot/commit/c6a7cfcb792de63fb51eb174f9f3d4e02f6a2ce1.patch";
+      hash = "sha256-dexPKIpUaAu/p0K2WQpElhPNt86CS+jD0dPL5+CTl4I=";
+    })
+  ];
+
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index 6c839f65d942e..39bb82aaaef6d 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -25,6 +25,10 @@ buildPythonApplication rec {
     hash = "sha256-tvsBTf6+zKBzB5aL+LUcEvE4jmVHnnoY0L4xoKMJ0vM=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py --replace "root_dir = sys.prefix" "root_dir = '/'"
+  '';
+
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
@@ -49,9 +53,7 @@ buildPythonApplication rec {
   dontWrapGApps = true;
 
   postInstall = ''
-    mkdir -p $out/share/applications
-    cp -r safeeyes/platform/icons $out/share/icons/
-    cp safeeyes/platform/io.github.slgobinath.SafeEyes.desktop $out/share/applications/io.github.slgobinath.SafeEyes.desktop
+    mv $out/lib/python*/site-packages/share $out/share
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/misc/tellico/hex.patch b/pkgs/applications/misc/tellico/hex.patch
deleted file mode 100644
index 999c502287e99..0000000000000
--- a/pkgs/applications/misc/tellico/hex.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-index 7ea81c7..0c19767 100644
---- a/src/utils/iso5426converter.cpp
-+++ b/src/utils/iso5426converter.cpp
-@@ -1211,7 +1211,11 @@ QChar Iso5426Converter::getCombiningChar(uint c) {
-     return 0x1EF1; // SMALL LETTER U WITH HORN AND DOT BELOW
- 
-   default:
-+#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
-+    myDebug() << "no match for" << hex << c;
-+#else
-     myDebug() << "no match for" << Qt::hex << c;
-+#endif
-     return QChar();
-   }
- }
diff --git a/pkgs/applications/misc/thedesk/default.nix b/pkgs/applications/misc/thedesk/default.nix
index 5d704acb23513..faf32c96a19e3 100644
--- a/pkgs/applications/misc/thedesk/default.nix
+++ b/pkgs/applications/misc/thedesk/default.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     mv usr $out
     mv opt $out
 
+    # binary is not used and probably vulnerable to CVE(s)
+    rm $out/opt/TheDesk/thedesk
+
     substituteInPlace $out/share/applications/thedesk.desktop \
       --replace '/opt/TheDesk' $out/bin
 
diff --git a/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch b/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch
deleted file mode 100644
index f14d7f7180271..0000000000000
--- a/pkgs/applications/misc/ulauncher/0001-Adjust-get_data_path-for-NixOS.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 86cc27022015697a61d1ec1b13e52f9dbe7f6c57 Mon Sep 17 00:00:00 2001
-From: worldofpeace <worldofpeace@protonmail.ch>
-Date: Mon, 23 Mar 2020 18:34:00 -0400
-Subject: [PATCH] Adjust get_data_path for NixOS
-
-We construct the ulauncher data path from xdg_data_dirs
-and prevent it from being a nix store path or being xdg_data_home.
-We do this to prevent /nix/store paths being hardcoded to shortcuts.json.
-On NixOS this path will either be /run/current-system/sw/share/ulauncher
-or $HOME/.nix-profile/share/ulauncher if the user used nix-env.
----
- ulauncher/config.py | 27 ++++++++++++++++++---------
- 1 file changed, 18 insertions(+), 9 deletions(-)
-
-diff --git a/ulauncher/config.py b/ulauncher/config.py
-index f21014e..cc636e1 100644
---- a/ulauncher/config.py
-+++ b/ulauncher/config.py
-@@ -50,15 +50,24 @@ def get_data_path():
-     is specified at installation time.
-     """
- 
--    # Get pathname absolute or relative.
--    path = os.path.join(
--        os.path.dirname(__file__), __ulauncher_data_directory__)
--
--    abs_data_path = os.path.abspath(path)
--    if not os.path.exists(abs_data_path):
--        raise ProjectPathNotFoundError(abs_data_path)
--
--    return abs_data_path
-+    paths = list(
-+        filter(
-+            os.path.exists,
-+            [
-+                os.path.join(dir, "ulauncher")
-+                for dir in xdg_data_dirs
-+                # Get path that isn't in the /nix/store so they don't get hardcoded into configs
-+                if not dir.startswith("/nix/store/")
-+                # Exclude .local/share/ulauncher which isn't what we want
-+                if not dir.startswith(xdg_data_home)
-+            ],
-+        )
-+    )
-+
-+    try:
-+        return paths[0]
-+    except:
-+        raise ProjectPathNotFoundError()
- 
- 
- def is_wayland():
--- 
-2.25.1
-
diff --git a/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch b/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch
new file mode 100644
index 0000000000000..99a8c521a08af
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/chromium-120-llvm-16.patch
@@ -0,0 +1,43 @@
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index de1cd6e..bb5700b 100644
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -616,24 +616,6 @@ config("compiler") {
+       }
+     }
+ 
+-    # TODO(crbug.com/1488374): This causes binary size growth and potentially
+-    # other problems.
+-    # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
+-    if (default_toolchain != "//build/toolchain/cros:target" &&
+-        !llvm_android_mainline) {
+-      cflags += [
+-        "-mllvm",
+-        "-split-threshold-for-reg-with-hint=0",
+-      ]
+-      if (use_thin_lto && is_a_target_toolchain) {
+-        if (is_win) {
+-          ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
+-        } else {
+-          ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
+-        }
+-      }
+-    }
+-
+     # TODO(crbug.com/1235145): Investigate why/if this should be needed.
+     if (is_win) {
+       cflags += [ "/clang:-ffp-contract=off" ]
+@@ -800,13 +782,6 @@ config("compiler") {
+       if (is_apple) {
+         ldflags += [ "-Wcrl,object_path_lto" ]
+       }
+-      if (!is_chromeos) {
+-        # TODO(https://crbug.com/972449): turn on for ChromeOS when that
+-        # toolchain has this flag.
+-        # We only use one version of LLVM within a build so there's no need to
+-        # upgrade debug info, which can be expensive since it runs the verifier.
+-        ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
+-      }
+     }
+ 
+     # TODO(https://crbug.com/1211155): investigate why this isn't effective on
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 249c8b45f3f5c..a322a171051ff 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -246,6 +246,7 @@ let
       # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21):
       # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
       ./patches/angle-wayland-include-protocol.patch
+    ] ++ lib.optionals (!chromiumVersionAtLeast "120") [
       # We need to revert this patch to build M114+ with LLVM 16:
       (githubPatch {
         # Reland [clang] Disable autoupgrading debug info in ThinLTO builds
@@ -253,6 +254,9 @@ let
         hash = "sha256-Vryjg8kyn3cxWg3PmSwYRG6zrHOqYWBMSdEMGiaPg6M=";
         revert = true;
       })
+    ] ++ lib.optionals (chromiumVersionAtLeast "120") [
+      # We need to revert this patch to build M120+ with LLVM 16:
+      ./chromium-120-llvm-16.patch
     ] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [
       # Fix build with at-spi2-core ≥ 2.49
       # This version is still needed for electron.
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 7c2c75e749741..c1ac2dee602cb 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,6 +1,5 @@
 { newScope, config, stdenv, fetchurl, makeWrapper
 , buildPackages
-, llvmPackages_16
 , ed, gnugrep, coreutils, xdg-utils
 , glib, gtk3, gtk4, gnome, gsettings-desktop-schemas, gn, fetchgit
 , libva, pipewire, wayland
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 8421c3157e5e7..1db39c3cf007f 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    hash = "sha256-cbmG9wK3yd79jCiNAKcSSx0COyh6CxR1bgIiCO3i++g=";
+    hash = "sha256-goXpNpb5tVOHeskRLw3CivYett3RxYBREAI+S74CMFQ=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 80142048c6fe4..19c4b280a60cb 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -3,63 +3,55 @@
 , fetchzip
 , makeWrapper
 , jdk8
-, python3Packages
-, extraPythonPackages ? [ ]
+, python3
+, python310
 , coreutils
-, hadoopSupport ? true
 , hadoop
 , RSupport ? true
 , R
+, nixosTests
 }:
 
 let
-  spark = { pname, version, hash, extraMeta ? {} }:
-    stdenv.mkDerivation rec {
-      inherit pname version;
-      jdk = if hadoopSupport then hadoop.jdk else jdk8;
+  spark = { pname, version, hash, extraMeta ? {}, pysparkPython ? python3 }:
+    stdenv.mkDerivation (finalAttrs: {
+      inherit pname version hash hadoop R pysparkPython;
+      inherit (finalAttrs.hadoop) jdk;
       src = fetchzip {
-        url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
-        inherit hash;
+        url = with finalAttrs; "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
+        inherit (finalAttrs) hash;
       };
       nativeBuildInputs = [ makeWrapper ];
-      buildInputs = [ jdk python3Packages.python ]
-        ++ extraPythonPackages
-        ++ lib.optional RSupport R;
+      buildInputs = with finalAttrs; [ jdk pysparkPython ]
+        ++ lib.optional RSupport finalAttrs.R;
 
-      untarDir = "${pname}-${version}";
       installPhase = ''
-        mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java}
-        mv * $out/lib/${untarDir}
-
-        cp $out/lib/${untarDir}/conf/log4j.properties{.template,} || \
-          cp $out/lib/${untarDir}/conf/log4j2.properties{.template,}
-
-        cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
-        export JAVA_HOME="${jdk}"
-        export SPARK_HOME="$out/lib/${untarDir}"
-      '' + lib.optionalString hadoopSupport ''
-        export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath)
-      '' + ''
-        export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}"
-        export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
-        ${lib.optionalString RSupport ''
-          export SPARKR_R_SHELL="${R}/bin/R"
-          export PATH="\$PATH:${R}/bin"''}
-        EOF
-
-        for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
-          makeWrapper "$n" "$out/bin/$(basename $n)"
-          substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname
+        mkdir -p "$out/opt"
+        mv * $out/
+        for n in $(find $out/bin -type f -executable ! -name "find-spark-home"); do
+          wrapProgram "$n" --set JAVA_HOME "${finalAttrs.jdk}" \
+            --run "[ -z $SPARK_DIST_CLASSPATH ] && export SPARK_DIST_CLASSPATH=$(${finalAttrs.hadoop}/bin/hadoop classpath)" \
+            ${lib.optionalString RSupport ''--set SPARKR_R_SHELL "${finalAttrs.R}/bin/R"''} \
+            --prefix PATH : "${
+              lib.makeBinPath (
+                [ finalAttrs.pysparkPython ] ++
+                (lib.optionals RSupport [ finalAttrs.R ])
+              )}"
         done
-        for n in $(find $out/lib/${untarDir}/sbin -type f); do
-          # Spark deprecated scripts with "slave" in the name.
-          # This line adds forward compatibility with the nixos spark module for
-          # older versions of spark that don't have the new "worker" scripts.
-          ln -s "$n" $(echo "$n" | sed -r 's/slave(s?).sh$/worker\1.sh/g') || true
-        done
-        ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java
+        ln -s ${finalAttrs.hadoop} "$out/opt/hadoop"
+        ${lib.optionalString RSupport ''ln -s ${finalAttrs.R} "$out/opt/R"''}
       '';
 
+      passthru = {
+        tests = nixosTests.spark.default.passthru.override {
+          sparkPackage = finalAttrs.finalPackage;
+        };
+        # Add python packages to PYSPARK_PYTHON
+        withPythonPackages = f: finalAttrs.finalPackage.overrideAttrs (old: {
+          pysparkPython = old.pysparkPython.withPackages f;
+        });
+      };
+
       meta = {
         description = "Apache Spark is a fast and general engine for large-scale data processing";
         homepage = "https://spark.apache.org/";
@@ -68,24 +60,23 @@ let
         platforms = lib.platforms.all;
         maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ];
       } // extraMeta;
-    };
+    });
 in
 {
-  spark_3_4 = spark rec {
+  spark_3_5 = spark rec {
     pname = "spark";
-    version = "3.4.0";
-    hash = "sha256-0y80dRYzb6Ceu6MlGQHtpMdzOob/TBg6kf8dtF6KyCk=";
+    version = "3.5.0";
+    hash = "sha256-f+a4a23aOM0GCDoZlZ7WNXs0Olzyh3yMtO8ZmEoYvZ4=";
   };
-  spark_3_3 = spark rec {
+  spark_3_4 = spark rec {
     pname = "spark";
-    version = "3.3.2";
-    hash = "sha256-AeKe2QN+mhUJgZRSIgbi/DttAWlDgwC1kl9p7syEvbo=";
-    extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ];
+    version = "3.4.2";
+    hash = "sha256-qr0tRuzzEcarJznrQYkaQzGqI7tugp/XJpoZxL7tJwk=";
   };
-  spark_3_2 = spark rec {
+  spark_3_3 = spark rec {
     pname = "spark";
-    version = "3.2.4";
-    hash = "sha256-xL4W+dTWbvmmncq3/8iXmhp24rp5SftvoRfkTyxCI8E=";
-    extraMeta.knownVulnerabilities = [ "CVE-2023-22946" ];
+    version = "3.3.3";
+    hash = "sha256-YtHxRYTwrwSle3UpFjRSwKcnLFj2m9/zLBENH/HVzuM=";
+    pysparkPython = python310;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
deleted file mode 100644
index df75f7192bf71..0000000000000
--- a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, buildGoModule
-, fetchFromGitHub
-, gtk4
-, glib
-, gobject-introspection
-, pkg-config
-}:
-
-buildGoModule rec {
-  pname = "gotktrix";
-  version = "unstable-2023-04-05";
-
-  src = fetchFromGitHub {
-    owner = "diamondburned";
-    repo = pname;
-    rev = "a8f876a383cc34dac18edddbe22be2dd494b8d0c"; # compound
-    hash = "sha256-BuiA9UajdMhSrEfaXdu5DZlVhC4GVUdUpQDLMvKGrEk=";
-  };
-
-  vendorHash = "sha256-oo/j6i7slXILqyvj/EHojsyCZzJMGd10PTZaLvI1xoc=";
-
-  buildInputs = [
-    gtk4
-    glib
-  ];
-
-  nativeBuildInputs = [ pkg-config gobject-introspection ];
-
-  # Checking requires a working display
-  doCheck = false;
-
-  postPatch = ''
-    sed -i '/DBusActivatable/d' .nix/com.github.diamondburned.gotktrix.desktop
-    echo 'X-Purism-FormFactor=Workstation;Mobile;' >> .nix/com.github.diamondburned.gotktrix.desktop
-  '';
-
-  postInstall = ''
-    install -Dm444 .nix/com.github.diamondburned.gotktrix.desktop -t $out/share/applications/
-    install -Dm444 .github/logo-256.png -T $out/share/icons/hicolor/256x256/apps/gotktrix.png
-  '';
-
-  meta = with lib; {
-    description = "Matrix client written in Go using GTK4";
-    homepage = "https://github.com/diamondburned/gotktrix";
-    license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ chuangzhu ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 6d3d6610cf918..5aedd89cb68d7 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -6,6 +6,7 @@
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, libsoup_3, spice-protocol, spice-gtk, libepoxy, at-spi2-core
 , openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk_4_1, harfbuzz
+, wayland
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome
 , withKf5Wallet ? stdenv.isLinux, libsForQt5
@@ -38,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
     libepoxy at-spi2-core
     openssl gnome.adwaita-icon-theme json-glib libsodium
     harfbuzz python3
+    wayland
   ] ++ lib.optionals stdenv.isLinux [ libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ]
     ++ lib.optionals withLibsecret [ libsecret ]
     ++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ]
diff --git a/pkgs/applications/networking/warp/default.nix b/pkgs/applications/networking/warp/default.nix
index b39b102c2f2f4..54e688c2e770d 100644
--- a/pkgs/applications/networking/warp/default.nix
+++ b/pkgs/applications/networking/warp/default.nix
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "warp";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Uc9N2kRTpi9cCFskngkiclLpEcp4dtI2mhldG4s/GFY=";
+    hash = "sha256-pntHIY0cScDKhWR6kXp6YrEbBQiQjUId3MrJzy5l+K8=";
   };
 
   postPatch = ''
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-GN9TjsGBU3D/mc6/XtRAk5pliKRPTQ9f3fMdS6weCaE=";
+    hash = "sha256-Go/a7aVHF1Yt3yIccKJIVeFy5rckXhSKfd13hdhlLUQ=";
   };
 
   nativeBuildInputs = [
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Fast and secure file transfer";
-    homepage = "https://apps.gnome.org/app/app.drey.Warp";
+    homepage = "https://apps.gnome.org/Warp/";
     license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ dotlambda foo-dogsquared ];
     platforms = lib.platforms.all;
diff --git a/pkgs/applications/office/calligra/qt5_11.patch b/pkgs/applications/office/calligra/qt5_11.patch
deleted file mode 100644
index 66ff8c6eedcd5..0000000000000
--- a/pkgs/applications/office/calligra/qt5_11.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/libs/widgets/KoCsvImportDialog.cpp b/libs/widgets/KoCsvImportDialog.cpp
-index 0ffdcf6..cdca006 100644
---- a/libs/widgets/KoCsvImportDialog.cpp
-+++ b/libs/widgets/KoCsvImportDialog.cpp
-@@ -21,6 +21,7 @@
- #include "KoCsvImportDialog.h"
- 
- // Qt
-+#include <QButtonGroup>
- #include <QTextCodec>
- #include <QTextStream>
- 
-diff --git a/libs/widgets/KoPageLayoutWidget.cpp b/libs/widgets/KoPageLayoutWidget.cpp
-index f91555c..a3816f9 100644
---- a/libs/widgets/KoPageLayoutWidget.cpp
-+++ b/libs/widgets/KoPageLayoutWidget.cpp
-@@ -23,6 +23,8 @@
- 
- #include <KoUnit.h>
- 
-+#include <QButtonGroup>
-+
- class Q_DECL_HIDDEN KoPageLayoutWidget::Private
- {
- public:
-diff --git a/plugins/chartshape/dialogs/TableEditorDialog.cpp b/plugins/chartshape/dialogs/TableEditorDialog.cpp
-index c0d5136..d2a772e 100644
---- a/plugins/chartshape/dialogs/TableEditorDialog.cpp
-+++ b/plugins/chartshape/dialogs/TableEditorDialog.cpp
-@@ -24,6 +24,7 @@
- 
- // Qt
- #include <QAbstractItemModel>
-+#include <QAction>
- 
- // Calligra
- #include <KoIcon.h>
-diff --git a/plugins/formulashape/FormulaToolWidget.cpp b/plugins/formulashape/FormulaToolWidget.cpp
-index ed10919..8f52177 100644
---- a/plugins/formulashape/FormulaToolWidget.cpp
-+++ b/plugins/formulashape/FormulaToolWidget.cpp
-@@ -30,6 +30,7 @@
- #include <QWidgetAction>
- #include <QTableWidget>
- #include <QAction>
-+#include <QHeaderView>
- #include <QMenu>
- 
- FormulaToolWidget::FormulaToolWidget( KoFormulaTool* tool, QWidget* parent )
-diff --git a/sheets/dialogs/LayoutDialog.cpp b/sheets/dialogs/LayoutDialog.cpp
-index a0a9832..7d7db53 100644
---- a/sheets/dialogs/LayoutDialog.cpp
-+++ b/sheets/dialogs/LayoutDialog.cpp
-@@ -36,6 +36,7 @@
- #include <math.h>
- 
- #include <QIntValidator>
-+#include <QButtonGroup>
- #include <QCheckBox>
- #include <QFrame>
- #include <QLabel>
-diff --git a/words/part/dialogs/KWAnchoringProperties.cpp b/words/part/dialogs/KWAnchoringProperties.cpp
-index d64208c..bfddb3a 100644
---- a/words/part/dialogs/KWAnchoringProperties.cpp
-+++ b/words/part/dialogs/KWAnchoringProperties.cpp
-@@ -35,6 +35,7 @@
- 
- #include <kundo2command.h>
- 
-+#include <QButtonGroup>
- #include <QComboBox>
- 
- const int KWAnchoringProperties::vertRels[4][20] = {
-diff --git a/words/part/dialogs/KWRunAroundProperties.cpp b/words/part/dialogs/KWRunAroundProperties.cpp
-index e38599a..7e8b2d5 100644
---- a/words/part/dialogs/KWRunAroundProperties.cpp
-+++ b/words/part/dialogs/KWRunAroundProperties.cpp
-@@ -28,6 +28,8 @@
- 
- #include <kundo2command.h>
- 
-+#include <QButtonGroup>
-+
- KWRunAroundProperties::KWRunAroundProperties(FrameConfigSharedState *state)
-         : m_state(state)
- {
-diff --git a/stage/part/KPrPresentationTool.cpp b/stage/part/KPrPresentationTool.cpp
-index ae743da..3007f91 100644
---- a/stage/part/KPrPresentationTool.cpp
-+++ b/stage/part/KPrPresentationTool.cpp
-@@ -32,6 +32,7 @@
- #include <QDesktopServices>
- #include <QUrl>
- #include <QDBusConnection>
-+#include <QFrame>
- 
- #include <KoShape.h>
- #include <KoShapeManager.h>
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index 31816fc203fa4..129c700e19c75 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , buildNpmPackage
 , nixosTests
 , gettext
@@ -224,16 +223,18 @@ python.pkgs.buildPythonApplication rec {
     ${python.pythonOnBuildForHost.interpreter} src/manage.py compilemessages
   '';
 
-  installPhase = ''
+  installPhase = let
+    pythonPath = python.pkgs.makePythonPath propagatedBuildInputs;
+  in ''
     mkdir -p $out/lib/paperless-ngx
     cp -r {src,static,LICENSE,gunicorn.conf.py} $out/lib/paperless-ngx
     ln -s ${frontend}/lib/paperless-ui/frontend $out/lib/paperless-ngx/static/
     chmod +x $out/lib/paperless-ngx/src/manage.py
     makeWrapper $out/lib/paperless-ngx/src/manage.py $out/bin/paperless-ngx \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PYTHONPATH : "${pythonPath}" \
       --prefix PATH : "${path}"
     makeWrapper ${python.pkgs.celery}/bin/celery $out/bin/celery \
-      --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/paperless-ngx/src" \
+      --prefix PYTHONPATH : "${pythonPath}:$out/lib/paperless-ngx/src" \
       --prefix PATH : "${path}"
   '';
 
@@ -271,10 +272,6 @@ python.pkgs.buildPythonApplication rec {
     # Disable unneeded code coverage test
     substituteInPlace src/setup.cfg \
       --replace "--cov --cov-report=html --cov-report=xml" ""
-    # OCR on NixOS recognizes the space in the picture, upstream CI doesn't.
-    # See https://github.com/paperless-ngx/paperless-ngx/pull/2216
-    substituteInPlace src/paperless_tesseract/tests/test_parser.py \
-      --replace "this is awebp document" "this is a webp document"
   '';
 
   disabledTests = [
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 824a20a31329a..8dec32cfc6c0b 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -10,7 +10,7 @@ let
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "sha256-RmWRNKy2w3BM/ipQyFpkNC3+XXsJXjN6VYWNo8OKpy0=";
+    hash = "sha256-kacJSlctE1bNAByH26Qpu609ZNbdkYTx6OUEgCmefqg=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/radio/abracadabra/default.nix b/pkgs/applications/radio/abracadabra/default.nix
index 4c71a6a38a43e..a19c48fb72e34 100644
--- a/pkgs/applications/radio/abracadabra/default.nix
+++ b/pkgs/applications/radio/abracadabra/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abracadabra";
-  version = "2.2.4";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "KejPi";
     repo = "AbracaDABra";
     rev = "v${version}";
-    sha256 = "sha256-gpZ6ckV//fhDlpAqmMwL4XNXX7xFmGi58fkOC4oRcDM=";
+    hash = "sha256-HRwgtNCrEzo6uXNJHG3PwpBAXVTppYUTmiwKWi3reho=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 44ecec312b3f6..8619179efae4c 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "22.11";
+  version = "23.11";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
     rev = version;
-    sha256 = "sha256-qDY+prdf8O/dqmAgLU6lpsNIvL1R5V2AwsB+4CpOqGM=";
+    hash = "sha256-qCfPweJeYHIuM1DfDmeDilkV/RLzbzlIe1sIpSx/EYc=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 7cf1560d2492c..607b1ee51cc5d 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1499";
+  version = "1518";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = "refs/tags/${version}";
-    hash = "sha256-uofXtGGDloM1FxW0PYKKwfDOPlAJiapGVKwd1clFzp8=";
+    hash = "sha256-a6i5BfJhVHkXTLd7SVFxISEB+Kwl7BhjUUkF8ItMOak=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch b/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch
deleted file mode 100644
index d095eada9d6e1..0000000000000
--- a/pkgs/applications/science/electronics/flatcam/shapely-library-paths.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/shapely/geos.py b/shapely/geos.py
-index 88c5f53..1ccd6e4 100644
---- a/shapely/geos.py
-+++ b/shapely/geos.py
-@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
-         alt_paths = [
-             'libgeos_c.so.1',
-             'libgeos_c.so',
-+            '@libgeos_c@',
-         ]
-         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
- 
-@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
-             "/usr/local/lib/libgeos_c.dylib",
-             # homebrew Apple Silicon
-             "/opt/homebrew/lib/libgeos_c.dylib",
-+            "@libgeos_c@",
-         ]
-         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
- 
-diff --git a/tests/test_dlls.py b/tests/test_dlls.py
-index c71da8e..c36262c 100644
---- a/tests/test_dlls.py
-+++ b/tests/test_dlls.py
-@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
-             '/opt/homebrew/lib/libgeos_c.dylib',  # homebrew (macOS)
-             os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
-             'libgeos_c.so.1',
--            'libgeos_c.so'])
-+            'libgeos_c.so',
-+            '@libgeos_c@'])
diff --git a/pkgs/applications/science/math/yacas/fix-test-script.patch b/pkgs/applications/science/math/yacas/fix-test-script.patch
deleted file mode 100644
index da85f0dc0e1bc..0000000000000
--- a/pkgs/applications/science/math/yacas/fix-test-script.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git i/tests/test-yacas w/tests/test-yacas
-index b375d78b..0e3a616b 100755
---- i/tests/test-yacas
-+++ w/tests/test-yacas
-@@ -35,9 +35,9 @@ FAILED_TESTS=""  # list of failed tests
- FAILURES=0       # number of failed tests
- TOTALTESTS=0     # total number of tests
- 
--TESTFILE=/tmp/test-yacas.$$
--TIMEFILE=/tmp/time-yacas.$$
--VERSIONF=/tmp/version-yacas-$$.ys
-+TESTFILE="$(mktemp -t test-yacas.XXX)"
-+TIMEFILE="$(mktemp -t time-yacas.XXX)"
-+VERSIONF="$(mktemp -t version-yacas-XXX.ys)"
- LOGFILE=yacas-logfile.txt
- echo "Print(Version());" > $VERSIONF
- VERSION=`$CMD $VERSIONF`
-@@ -69,7 +69,7 @@ for scr in $SCRIPTS; do
- #		fi
-     echo "Running $scr"
- 	if [ -f $TESTFILE ]; then rm $TESTFILE ; fi
--    /bin/bash -c "time -p ($CMD $f || echo \"Error: exit status $?\") | tee $TESTFILE" \
-+	    bash -c "time -p ($CMD $f || echo \"Error: exit status $?\") | tee $TESTFILE" \
- 		2> $TIMEFILE \
- 		|| (echo "Error -- User interrupt" > $TESTFILE)
- #	cat $TIMEFILE
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index e669562c9cc75..1daeeb81410a0 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -1,4 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, hwloc, fftw, perl, blas, lapack, mpi, cudatoolkit
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, hwloc
+, fftw
+, perl
+, blas
+, lapack
+, mpi
+, cudaPackages
 , plumed
 , singlePrec ? true
 , config
@@ -9,6 +19,8 @@
 }:
 
 let
+  inherit (cudaPackages.cudaFlags) cudaCapabilities dropDot;
+
   # Select reasonable defaults for all major platforms
   # The possible values are defined in CMakeLists.txt:
   # AUTO None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256
@@ -52,7 +64,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs =
     [ cmake ]
     ++ lib.optional enablePlumed plumed
-    ;
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
 
   buildInputs = [
     fftw
@@ -61,13 +73,17 @@ in stdenv.mkDerivation rec {
     blas
     lapack
   ] ++ lib.optional enableMpi mpi
-    ++ lib.optional enableCuda cudatoolkit
-  ;
+  ++ lib.optionals enableCuda [
+    cudaPackages.cuda_cudart
+    cudaPackages.libcufft
+    cudaPackages.cuda_profiler_api
+  ];
 
   propagatedBuildInputs = lib.optional enableMpi mpi;
   propagatedUserEnvPkgs = lib.optional enableMpi mpi;
 
   cmakeFlags = [
+    (lib.cmakeBool "GMX_HWLOC" true)
     "-DGMX_SIMD:STRING=${SIMD cpuAcceleration}"
     "-DGMX_OPENMP:BOOL=TRUE"
     "-DBUILD_SHARED_LIBS=ON"
@@ -87,7 +103,13 @@ in stdenv.mkDerivation rec {
      else [
        "-DGMX_MPI:BOOL=FALSE"
      ]
-  ) ++ lib.optional enableCuda "-DGMX_GPU=CUDA";
+  ) ++ lib.optionals enableCuda [
+    "-DGMX_GPU=CUDA"
+    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
+
+    # Gromacs seems to ignore and override the normal variables, so we add this ad hoc:
+    (lib.cmakeFeature "GMX_CUDA_TARGET_COMPUTE" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
+  ];
 
   postInstall = ''
     moveToOutput share/cmake $dev
diff --git a/pkgs/applications/system/glances/skip-failing-tests.patch b/pkgs/applications/system/glances/skip-failing-tests.patch
deleted file mode 100644
index f47f1218aea56..0000000000000
--- a/pkgs/applications/system/glances/skip-failing-tests.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/unitest.py b/unitest.py
---- a/unitest.py
-+++ b/unitest.py
-@@ -59,6 +59,7 @@ class TestGlances(unittest.TestCase):
-         """The function is called *every time* before test_*."""
-         print('\n' + '=' * 78)
- 
-+    @unittest.skip("Requires access to /etc/mtab")
-     def test_000_update(self):
-         """Update stats (mandatory step for all the stats).
- 
-@@ -87,6 +88,7 @@ class TestGlances(unittest.TestCase):
-         for plugin in plugins_to_check:
-             self.assertTrue(plugin in plugins_list)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_002_system(self):
-         """Check SYSTEM plugin."""
-         stats_to_check = ['hostname', 'os_name']
-@@ -97,6 +99,7 @@ class TestGlances(unittest.TestCase):
-             self.assertTrue(stat in stats_grab, msg='Cannot find key: %s' % stat)
-         print('INFO: SYSTEM stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_003_cpu(self):
-         """Check CPU plugin."""
-         stats_to_check = ['system', 'user', 'idle']
-@@ -110,7 +113,7 @@ class TestGlances(unittest.TestCase):
-             self.assertLessEqual(stats_grab[stat], 100)
-         print('INFO: CPU stats: %s' % stats_grab)
- 
--    @unittest.skipIf(WINDOWS, "Load average not available on Windows")
-+    @unittest.skip("Fails on NixOS")
-     def test_004_load(self):
-         """Check LOAD plugin."""
-         stats_to_check = ['cpucore', 'min1', 'min5', 'min15']
-@@ -123,6 +126,7 @@ class TestGlances(unittest.TestCase):
-             self.assertGreaterEqual(stats_grab[stat], 0)
-         print('INFO: LOAD stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_005_mem(self):
-         """Check MEM plugin."""
-         stats_to_check = ['available', 'used', 'free', 'total']
-@@ -135,6 +139,7 @@ class TestGlances(unittest.TestCase):
-             self.assertGreaterEqual(stats_grab[stat], 0)
-         print('INFO: MEM stats: %s' % stats_grab)
- 
-+    @unittest.skip("Fails on NixOS")
-     def test_006_swap(self):
-         """Check MEMSWAP plugin."""
-         stats_to_check = ['used', 'free', 'total']
diff --git a/pkgs/applications/version-management/radicle-upstream/default.nix b/pkgs/applications/version-management/radicle-upstream/default.nix
index c88d0b9d38666..51365d0c4a31b 100644
--- a/pkgs/applications/version-management/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/radicle-upstream/default.nix
@@ -76,6 +76,7 @@ let
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ d-xo ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 in
 if stdenv.isDarwin
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index 4831959d0fe0c..3eb45eb9e5284 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -11,6 +11,9 @@
 , lxml
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 let
   version = "0.86.10";
@@ -39,12 +42,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "buildsrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api worker" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     redis
diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix
index b413aa2c001d1..65eac84daf8d0 100644
--- a/pkgs/applications/version-management/sourcehut/core.nix
+++ b/pkgs/applications/version-management/sourcehut/core.nix
@@ -21,12 +21,17 @@
 , importlib-metadata
 , tinycss2
 , sassc
+, pythonOlder
 , minify
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "srht";
   version = "0.69.15";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -41,6 +46,10 @@ buildPythonPackage rec {
     patches/redis-socket/core/0001-Fix-Unix-socket-support-in-RedisQueueCollector.patch
   ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedNativeBuildInputs = [
     sassc
     minify
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index 3a5163f9d1712..8f6adfde2ed3b 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -7,7 +7,10 @@
 , scmsrht
 , pygit2
 , minio
+, pythonOlder
 , unzip
+, pip
+, setuptools
 }:
 let
   version = "0.84.2";
@@ -78,12 +81,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "gitsrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api gitsrht-dispatch gitsrht-keys gitsrht-shell gitsrht-update-hook" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     scmsrht
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index f448109a6d7df..6bc2662329027 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -8,11 +8,17 @@
 , unidiff
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "hgsrht";
   version = "0.32.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -49,6 +55,11 @@ buildPythonPackage rec {
     '';
   };
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     python-hglib
     scmsrht
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
index 6f1b17b01c3e7..bc7d243a7c0a2 100644
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ b/pkgs/applications/version-management/sourcehut/hub.nix
@@ -4,13 +4,19 @@
 , buildPythonPackage
 , python
 , srht
+, setuptools
+, pip
 , pyyaml
+, pythonOlder
 , unzip
 }:
 
 buildPythonPackage rec {
   pname = "hubsrht";
   version = "0.17.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -30,6 +36,11 @@ buildPythonPackage rec {
     vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
@@ -44,7 +55,13 @@ buildPythonPackage rec {
     ln -s ${hubsrht-api}/bin/api $out/bin/hubsrht-api
   '';
 
-  pythonImportsCheck = [ "hubsrht" ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hubsrht"
+  ];
 
   meta = with lib; {
     homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht";
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 24b56b9dd3c15..6d62bdbdc1ecc 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -9,11 +9,17 @@
 , emailthreads
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "listssrht";
   version = "0.57.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -34,6 +40,11 @@ buildPythonPackage rec {
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     aiosmtpd
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index b01d739a06009..04bfabb8053b2 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -6,11 +6,17 @@
 , pygit2
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "mansrht";
   version = "0.16.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -30,6 +36,11 @@ buildPythonPackage rec {
     vendorHash = "sha256-K5EmZ4U+xItTR85+SCwhwg5KUGLkKHo9Nr2pkvmJpfo=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pygit2
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index 28cab5852193c..cbfc610fdf5f7 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -13,6 +13,9 @@
 , zxcvbn
 , python
 , unzip
+, pip
+, pythonOlder
+, setuptools
 }:
 let
   version = "0.64.8";
@@ -35,12 +38,20 @@ in
 buildPythonPackage rec {
   pname = "metasrht";
   inherit version src;
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     alembic
     bcrypt
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
index 9f1aa7f91a792..59bd7c8334fa6 100644
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/pkgs/applications/version-management/sourcehut/paste.nix
@@ -3,8 +3,11 @@
 , buildGoModule
 , buildPythonPackage
 , srht
+, pip
 , pyyaml
 , python
+, pythonOlder
+, setuptools
 , unzip
 }:
 
@@ -28,12 +31,20 @@ in
 buildPythonPackage rec {
   inherit src version;
   pname = "pastesrht";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   postPatch = ''
     substituteInPlace Makefile \
       --replace "all: api" ""
   '';
 
+  nativeBuildInputs = [
+    pip
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix
index 810f3007c2537..cadf3d0989b97 100644
--- a/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/pkgs/applications/version-management/sourcehut/scm.nix
@@ -4,11 +4,16 @@
 , srht
 , pyyaml
 , buildsrht
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "scmsrht";
   version = "0.22.23";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -17,6 +22,10 @@ buildPythonPackage rec {
     sha256 = "sha256-058dOEYJDY3jtxH1VkV1CFq5CZTkauSnTWg57DCnNtw=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     pyyaml
@@ -28,6 +37,7 @@ buildPythonPackage rec {
   '';
 
   dontUseSetuptoolsCheck = true;
+
   pythonImportsCheck = [ "scmsrht" ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index 0a5cefc130d5c..2fc9c4485fd7b 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -8,11 +8,16 @@
 , factory-boy
 , python
 , unzip
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "todosrht";
   version = "0.74.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
@@ -33,6 +38,10 @@ buildPythonPackage rec {
     vendorHash = "sha256-rvfG5F6ez8UM0dYVhKfzwtb7ZEJlaKMBAfKDbo3Aofc=";
   } // import ./fix-gqlgen-trimpath.nix { inherit unzip; });
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     srht
     alembic
diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix
index 8b112ed838a31..dcfce40ee12b3 100644
--- a/pkgs/applications/video/haruna/default.nix
+++ b/pkgs/applications/video/haruna/default.nix
@@ -5,7 +5,7 @@
 , breeze-qt5
 , cmake
 , extra-cmake-modules
-, ffmpeg-full
+, ffmpeg-headless
 , kconfig
 , kcoreaddons
 , kfilemetadata
@@ -47,7 +47,7 @@ mkDerivation rec {
     qqc2-desktop-style
     yt-dlp
 
-    ffmpeg-full
+    ffmpeg-headless
     kconfig
     kcoreaddons
     kfilemetadata
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index f418e997333d1..08109434a0b72 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "obs-vkcapture";
-  version = "1.4.5";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-C5dMDfCFkUNENA4qQlmGeavKqYpbRHkUz79LVM5aVao=";
+    hash = "sha256-/EbavDDeFQys9zu3FAgsAeVVbs1Rrv8YR4949XCHc6s=";
   };
 
   cmakeFlags = lib.optionals stdenv.isi686 [
diff --git a/pkgs/applications/video/olive-editor/q-painter-path.patch b/pkgs/applications/video/olive-editor/q-painter-path.patch
deleted file mode 100644
index 232f157e7cdd9..0000000000000
--- a/pkgs/applications/video/olive-editor/q-painter-path.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/effects/internal/texteffect.cpp b/effects/internal/texteffect.cpp
-index 279f406d9..7fe9e8e72 100644
---- a/effects/internal/texteffect.cpp
-+++ b/effects/internal/texteffect.cpp
-@@ -20,6 +20,7 @@
- 
- #include "texteffect.h"
- 
-+#include <QPainterPath>
- #include <QGridLayout>
- #include <QLabel>
- #include <QOpenGLTexture>
-diff --git a/effects/internal/timecodeeffect.cpp b/effects/internal/timecodeeffect.cpp
-index 4de3e3497..fd0fa6224 100644
---- a/effects/internal/timecodeeffect.cpp
-+++ b/effects/internal/timecodeeffect.cpp
-@@ -20,6 +20,7 @@
- 
- #include "timecodeeffect.h"
- 
-+#include <QPainterPath>
- #include <QGridLayout>
- #include <QLabel>
- #include <QOpenGLTexture>
-diff --git a/ui/graphview.cpp b/ui/graphview.cpp
-index 3e13075cd..c441133a8 100644
---- a/ui/graphview.cpp
-+++ b/ui/graphview.cpp
-@@ -20,6 +20,7 @@
- 

- #include "graphview.h"

- 

-+#include <QPainterPath>

- #include <QPainter>

- #include <QMouseEvent>

- #include <QtMath>

-diff --git a/ui/timelineheader.cpp b/ui/timelineheader.cpp
-index f39065b4f..aa7fd638d 100644
---- a/ui/timelineheader.cpp
-+++ b/ui/timelineheader.cpp
-@@ -20,6 +20,7 @@
- 

- #include "timelineheader.h"

- 

-+#include <QPainterPath>

- #include <QPainter>

- #include <QMouseEvent>

- #include <QScrollBar>

diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index f209c092bdc1d..5c9b85e1f6808 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , mkDerivationWith
 , fetchFromGitHub
-, fetchpatch
 , doxygen
 , gtk3
 , libopenshot
@@ -12,16 +11,20 @@
 , wrapGAppsHook
 }:
 
-mkDerivationWith python3.pkgs.buildPythonApplication rec {
+let
   pname = "openshot-qt";
-  version = "3.0.0";
-
+  version = "3.1.1";
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    hash = "sha256-h4R2txi038m6tzdKYiXIB8CiqWt2MFFRNerp1CFP5as=";
+    hash = "sha256-kEz1APBitWLlnIbyloYMsqNrwC9RqU04kyyWzm5klYc=";
   };
+in
+mkDerivationWith python3.pkgs.buildPythonApplication {
+  inherit pname version src;
+
+  outputs = [ "out" ]; # "lib" can't be split
 
   nativeBuildInputs = [
     doxygen
@@ -41,8 +44,10 @@ mkDerivationWith python3.pkgs.buildPythonApplication rec {
     sip_4
   ];
 
+  strictDeps = true;
+
   preConfigure = ''
-    # tries to create caching directories during install
+    # the builder tries to create caching directories during install
     export HOME=$(mktemp -d)
   '';
 
@@ -67,19 +72,19 @@ mkDerivationWith python3.pkgs.buildPythonApplication rec {
     inherit (libopenshot) libopenshot-audio;
   };
 
-  meta = with lib; {
+  meta = {
     homepage = "http://openshot.org/";
     description = "Free, open-source video editor";
     longDescription = ''
       OpenShot Video Editor is a free, open-source video editor for Linux.
-      OpenShot can take your videos, photos, and music files and help you
-      create the film you have always dreamed of. Easily add sub-titles,
-      transitions, and effects, and then export your film to DVD, YouTube,
-      Vimeo, Xbox 360, and many other common formats.
+      OpenShot can take your videos, photos, and music files and help you create
+      the film you have always dreamed of. Easily add sub-titles, transitions,
+      and effects, and then export your film to DVD, YouTube, Vimeo, Xbox 360,
+      and many other common formats.
     '';
-    license = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ gpl3Plus ];
     mainProgram = "openshot-qt";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index bd8dbab4cfcaa..24809f9450b48 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.23.1";
+  version = "2.23.3";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-g8XaMvKt3tR7a7kq+n4ueDXx9iWuAu02ONb73W23ZGY=";
+    hash = "sha256-Rp13xK7pRyjHaDclAfL+yzNf4ppOy9S+XFbydj4TDL4=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-BeW39XN1CvPCCq4otX+Il2dGGcjGrTMzc4iSXmQZFmw=";
+  vendorHash = "sha256-iKBMd4e1oVNdKuk08tYPexQqs9JLofhdf4yEP1s97EQ=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch b/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch
deleted file mode 100644
index d3f207de00b29..0000000000000
--- a/pkgs/applications/virtualization/libnvidia-container/avoid-static-libtirpc-build.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 0070ada..802cef0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -202,7 +202,7 @@ $(BIN_NAME): $(BIN_OBJS)
- ##### Public rules #####
- 
- all: CPPFLAGS += -DNDEBUG
--all: shared static tools
-+all: shared tools
- 
- # Run with ASAN_OPTIONS="protect_shadow_gap=0" to avoid CUDA OOM errors
- debug: CFLAGS += -pedantic -fsanitize=undefined -fno-omit-frame-pointer -fno-common -fsanitize=address
-@@ -232,7 +232,6 @@ install: all
- 	# Install header files
- 	$(INSTALL) -m 644 $(LIB_INCS) $(DESTDIR)$(includedir)
- 	# Install library files
--	$(INSTALL) -m 644 $(LIB_STATIC) $(DESTDIR)$(libdir)
- 	$(INSTALL) -m 755 $(LIB_SHARED) $(DESTDIR)$(libdir)
- 	$(LN) -sf $(LIB_SONAME) $(DESTDIR)$(libdir)/$(LIB_SYMLINK)
- 	$(LDCONFIG) -n $(DESTDIR)$(libdir)
diff --git a/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch b/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
deleted file mode 100644
index 0594a2f19d459..0000000000000
--- a/pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: /trunk/configure
-===================================================================
---- a/configure	(revision 90360)
-+++ b/configure	(revision 90377)
-@@ -1588,5 +1588,5 @@
-         if [ $? -eq 0 ]; then
-           echo "(Qt5 from pkg-config)" >> $LOG
--          FLGQT5=`pkg-config Qt5Core Qt5Gui --cflags`
-+          FLGQT5=`pkg-config Qt5Core --cflags`
-           # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
-           [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11"
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch b/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch
deleted file mode 100644
index cb3d97c371cae..0000000000000
--- a/pkgs/applications/window-managers/hyprwm/hyprland/portals.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/Compositor.cpp b/src/Compositor.cpp
-index 1d978aed..56665389 100644
---- a/src/Compositor.cpp
-+++ b/src/Compositor.cpp
-@@ -2365,17 +2365,16 @@ void CCompositor::performUserChecks() {
- 
-     static auto* const    PSUPPRESSPORTAL = &g_pConfigManager->getConfigValuePtr("misc:suppress_portal_warnings")->intValue;
- 
--    if (!*PSUPPRESSPORTAL) {
--        if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) {
-+    static auto* const    PORTALDIRENV = getenv("XDG_DESKTOP_PORTAL_DIR");
-+
-+    static auto const     PORTALDIR = PORTALDIRENV != NULL ? std::string(PORTALDIRENV) : "";
-+
-+    if (!*PSUPPRESSPORTAL && PORTALDIR != "") {
-+        if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists(PORTALDIR + "/" + portal + ".portal"); })) {
-             // bad portal detected
-             g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.",
-                                                         CColor(0), 15000, ICON_ERROR);
-         }
--
--        if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) {
--            g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0),
--                                                        15000, ICON_ERROR);
--        }
-     }
- }
- 
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 7b9bb239402bc..078570ec7aea3 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -173,6 +173,7 @@ rec {
       libpulseaudio
       libsamplerate
       libmikmod
+      libthai
       libtheora
       libtiff
       pixman
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index f8ed3a38890c3..573b270ee408f 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -165,7 +165,7 @@ stdenvNoCC.mkDerivation (args // {
     components = lib.pipe args.version [
       lib.splitVersion
       (lib.filter (x: (lib.strings.match "[0-9]+" x) != null))
-      (lib.filter (x: (lib.toInt x) < 65535)) # one version component in dotnet has to fit in 16 bits
+      (lib.filter (x: (lib.toIntBase10 x) < 65535)) # one version component in dotnet has to fit in 16 bits
     ];
   in if (lib.length components) == 0
   then null
diff --git a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
index a2f77bdc6d430..1e446bb1b0510 100644
--- a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
+++ b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
@@ -5,16 +5,14 @@ npmInstallHook() {
 
     runHook preInstall
 
-    # `npm pack` writes to cache
-    npm config delete cache
-
     local -r packageOut="$out/lib/node_modules/$(@jq@ --raw-output '.name' package.json)"
 
+    # `npm pack` writes to cache so temporarily override it
     while IFS= read -r file; do
         local dest="$packageOut/$(dirname "$file")"
         mkdir -p "$dest"
         cp "${npmWorkspace-.}/$file" "$dest"
-    done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
+    done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm_config_cache="$HOME/.npm" npm pack --json --dry-run --loglevel=warn --no-foreground-scripts ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
 
     # Based on code from Python's buildPythonPackage wrap.sh script, for
     # supporting both the case when makeWrapperArgs is an array and a
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/main.rs b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
index 2b28e290ad512..dc20c72970491 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/main.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/main.rs
@@ -246,7 +246,9 @@ fn main() -> anyhow::Result<()> {
     packages.into_par_iter().try_for_each(|package| {
         eprintln!("{}", package.name);
 
-        let tarball = package.tarball()?;
+        let tarball = package
+            .tarball()
+            .map_err(|e| anyhow!("couldn't fetch {} at {}: {e:?}", package.name, package.url))?;
         let integrity = package.integrity().map(ToString::to_string);
 
         cache
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs b/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
index e3580cfca0d37..c6e77153a0b80 100644
--- a/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
+++ b/pkgs/build-support/node/fetch-npm-deps/src/parse/lock.rs
@@ -214,29 +214,35 @@ fn to_new_packages(
         }
 
         if let UrlOrString::Url(v) = &package.version {
-            for (scheme, host) in [
-                ("github", "github.com"),
-                ("bitbucket", "bitbucket.org"),
-                ("gitlab", "gitlab.com"),
-            ] {
-                if v.scheme() == scheme {
-                    package.version = {
-                        let mut new_url = initial_url.clone();
-
-                        new_url.set_host(Some(host))?;
-
-                        if v.path().ends_with(".git") {
-                            new_url.set_path(v.path());
-                        } else {
-                            new_url.set_path(&format!("{}.git", v.path()));
-                        }
-
-                        new_url.set_fragment(v.fragment());
-
-                        UrlOrString::Url(new_url)
-                    };
-
-                    break;
+            if v.scheme() == "npm" {
+                if let Some(UrlOrString::Url(ref url)) = &package.resolved {
+                    package.version = UrlOrString::Url(url.clone());
+                }
+            } else {
+                for (scheme, host) in [
+                    ("github", "github.com"),
+                    ("bitbucket", "bitbucket.org"),
+                    ("gitlab", "gitlab.com"),
+                ] {
+                    if v.scheme() == scheme {
+                        package.version = {
+                            let mut new_url = initial_url.clone();
+
+                            new_url.set_host(Some(host))?;
+
+                            if v.path().ends_with(".git") {
+                                new_url.set_path(v.path());
+                            } else {
+                                new_url.set_path(&format!("{}.git", v.path()));
+                            }
+
+                            new_url.set_fragment(v.fragment());
+
+                            UrlOrString::Url(new_url)
+                        };
+
+                        break;
+                    }
                 }
             }
         }
@@ -266,7 +272,8 @@ fn get_initial_url() -> anyhow::Result<Url> {
 #[cfg(test)]
 mod tests {
     use super::{
-        get_initial_url, to_new_packages, Hash, HashCollection, OldPackage, Package, UrlOrString,
+        get_initial_url, packages, to_new_packages, Hash, HashCollection, OldPackage, Package,
+        UrlOrString,
     };
     use std::{
         cmp::Ordering,
@@ -328,4 +335,36 @@ mod tests {
             Some(Hash(String::from("sha512-foo")))
         );
     }
+
+    #[test]
+    fn parse_lockfile_correctly() {
+        let packages = packages(
+            r#"{
+                "name": "node-ddr",
+                "version": "1.0.0",
+                "lockfileVersion": 1,
+                "requires": true,
+                "dependencies": {
+                    "string-width-cjs": {
+                        "version": "npm:string-width@4.2.3",
+                        "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+                        "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+                        "requires": {
+                            "emoji-regex": "^8.0.0",
+                            "is-fullwidth-code-point": "^3.0.0",
+                            "strip-ansi": "^6.0.1"
+                        }
+                    }
+                }
+            }"#).unwrap();
+
+        assert_eq!(packages.len(), 1);
+        assert_eq!(
+            packages[0].resolved,
+            Some(UrlOrString::Url(
+                Url::parse("https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz")
+                    .unwrap()
+            ))
+        );
+    }
 }
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/by-name/ar/arcan/package.nix
index 1a46c693b0278..ce4fc7256b77d 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/by-name/ar/arcan/package.nix
@@ -2,8 +2,9 @@
 , stdenv
 , fetchFromGitHub
 , SDL2
+, callPackage
 , cmake
-, espeak
+, espeak-ng
 , ffmpeg
 , file
 , freetype
@@ -54,11 +55,15 @@
 
 let
   allSources = {
-    letoram-arcan-src = fetchFromGitHub {
-      owner = "letoram";
-      repo = "arcan";
-      rev = "85c8564bdbee8468a5716bea64daf1d78937ffbf";
-      hash = "sha256-etmj1vpZTjxbmr4UiLBEK57WFJ1NeEnY5WfBYajX3ls=";
+    letoram-arcan = {
+      pname = "arcan";
+      version = "0.6.2.1-unstable-2023-11-18";
+      src = fetchFromGitHub {
+        owner = "letoram";
+        repo = "arcan";
+        rev = "0950ee236f96a555729498d0fdf91c16901037f5";
+        hash = "sha256-TxadRlidy4KRaQ4HunPO6ISJqm6JwnMRM8y6dX6vqJ4=";
+      };
     };
     letoram-openal-src = fetchFromGitHub {
       owner = "letoram";
@@ -87,10 +92,7 @@ let
   };
 in
 stdenv.mkDerivation (finalAttrs: {
-  pname = "arcan";
-  version = "0.6.2.1-unstable-2023-10-14";
-
-  src = allSources.letoram-arcan-src;
+  inherit (allSources.letoram-arcan) pname version src;
 
   nativeBuildInputs = [
     cmake
@@ -140,7 +142,7 @@ stdenv.mkDerivation (finalAttrs: {
     xz
   ]
   ++ lib.optionals useEspeak [
-    espeak
+    espeak-ng
   ];
 
   # Emulate external/git/clone.sh
@@ -197,6 +199,10 @@ stdenv.mkDerivation (finalAttrs: {
     "format"
   ];
 
+  passthru = {
+    wrapper = callPackage ./wrapper.nix { };
+  };
+
   meta = {
     homepage = "https://arcan-fe.com/";
     description = "Combined Display Server, Multimedia Framework, Game Engine";
diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix
index b61c5a5becd87..b61c5a5becd87 100644
--- a/pkgs/desktops/arcan/wrapper.nix
+++ b/pkgs/by-name/ar/arcan/wrapper.nix
diff --git a/pkgs/by-name/ar/ark-pixel-font/package.nix b/pkgs/by-name/ar/ark-pixel-font/package.nix
new file mode 100644
index 0000000000000..f5ffd4f9b2c6e
--- /dev/null
+++ b/pkgs/by-name/ar/ark-pixel-font/package.nix
@@ -0,0 +1,60 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, nix-update-script
+, ...
+}:
+
+python3Packages.buildPythonPackage rec {
+  pname = "ark-pixel-font";
+  version = "2023.08.15";
+
+  src = fetchFromGitHub {
+    owner = "TakWolf";
+    repo = pname;
+    rev = version;
+    hash = "sha256-Qaa3uuMCPrRG0wo2AGU0v+fonY1c/KuQYTGoyvITcio=";
+  };
+
+  format = "other";
+
+  nativeBuildInputs = with python3Packages; [
+    pixel-font-builder
+    unidata-blocks
+    character-encoding-utils
+    pypng
+    pillow
+    beautifulsoup4
+    jinja2
+    gitpython
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    python build.py
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 build/outputs/*.bdf -t $out/share/fonts/bdf
+    install -Dm444 build/outputs/*.otf -t $out/share/fonts/opentype
+    install -Dm444 build/outputs/*.ttf -t $out/share/fonts/truetype
+    install -Dm444 build/outputs/*.woff2 -t $out/share/fonts/woff2
+
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Open source pan-CJK pixel font";
+    homepage = "https://ark-pixel-font.takwolf.com/";
+    license = lib.licenses.ofl;
+    maintainers = with lib.maintainers; [ h7x4 ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/desktops/arcan/cat9/default.nix b/pkgs/by-name/ca/cat9/package.nix
index 7bc6005b0c650..dac6f85656dcd 100644
--- a/pkgs/desktops/arcan/cat9/default.nix
+++ b/pkgs/by-name/ca/cat9/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "cat9";
-  version = "unstable-2023-06-25";
+  version = "unstable-2023-11-06";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "cat9";
-    rev = "4d8a0c539a5c756acada96fd80e7eb3b9554ac05";
-    hash = "sha256-T3RPuldKTzHm0EdfdMOtHv9kcr9oE9YQgdzv/jjPPnc=";
+    rev = "a807776a85237ab0bdd0a712fb33c176fc295e30";
+    hash = "sha256-OlH8FgVBk76Qw+5mnsrryXOL9GbPJWlwUGtYlLuAPxQ=";
   };
 
   dontConfigure = true;
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/cat9";
     description = "A User shell for LASH";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ unlicense ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/co/cowsql/package.nix b/pkgs/by-name/co/cowsql/package.nix
index e4e346f8c39f5..c14846d67ca06 100644
--- a/pkgs/by-name/co/cowsql/package.nix
+++ b/pkgs/by-name/co/cowsql/package.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Embeddable, replicated and fault tolerant SQL engine";
     homepage = "https://github.com/cowsql/cowsql";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.unix;
   };
 })
diff --git a/pkgs/by-name/dr/drone-scp/package.nix b/pkgs/by-name/dr/drone-scp/package.nix
new file mode 100644
index 0000000000000..3a0f0fc74f78d
--- /dev/null
+++ b/pkgs/by-name/dr/drone-scp/package.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+buildGoModule rec {
+  pname = "drone-scp";
+  version = "1.6.11";
+
+  src = fetchFromGitHub {
+    owner = "appleboy";
+    repo = "drone-scp";
+    rev = "v${version}";
+    hash = "sha256-JCqiYPhuPKDcbg8eo4DFuUVazu+0e0YTnG87NZRARMU=";
+  };
+
+  vendorHash = "sha256-zPpwvU/shSK1bfm0Qc2VjifSzDTpFnsUiogQfQcdY7I=";
+
+  # Needs a specific user...
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Copy files and artifacts via SSH using a binary, docker or Drone CI";
+    homepage = "https://github.com/appleboy/drone-scp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ambroisie ];
+    mainProgram = "drone-scp";
+  };
+}
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/by-name/du/durden/package.nix
index f6677b9823ffb..3d72e132964ae 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/by-name/du/durden/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "durden";
-  version = "unstable-2023-08-11";
+  version = "unstable-2023-10-23";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "durden";
-    rev = "728d7fc3292cc162b1cea505c8a71512b2e84925";
-    hash = "sha256-UL36JeppnoFDdzdsJMsWKJL58ioz9eOaNEZp/7DGV9w=";
+    rev = "347dba6da011bbaa70c6edaf82a2d915f4057db3";
+    hash = "sha256-iNf7fOzz7mf1CXG5leCenkSTrdCc9/KL8VLw8gUIyKE=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://durden.arcan-fe.com/";
     description = "Reference Desktop Environment for Arcan";
     longDescription = ''
@@ -36,8 +36,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       features in Arcan, and as a very competent entry to the advanced-user side
       of the desktop environment spectrum.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/fm/fmtoy/package.nix b/pkgs/by-name/fm/fmtoy/package.nix
new file mode 100644
index 0000000000000..a3fe819ae759e
--- /dev/null
+++ b/pkgs/by-name/fm/fmtoy/package.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, alsa-lib
+, libfmvoice
+, libjack2
+, pkg-config
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fmtoy";
+  version = "0.0.0-unstable-2023-05-21";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "fmtoy";
+    rev = "2b54180d8edd0de90e2af01bf9ff303bc916e893";
+    hash = "sha256-qoMw4P+QEw4Q/wKBvFPh+WxkmOW6qH9FuFFkO2ZRrMc=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+
+    substituteInPlace Makefile \
+      --replace 'pkg-config' "$PKG_CONFIG"
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    libjack2
+    zlib
+  ];
+
+  enableParallelBuilding = true;
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 fmtoy_jack $out/bin/fmtoy_jack
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "FM synthesiser based on emulated Yamaha YM chips (OPL, OPM and OPN series)";
+    homepage = "https://github.com/vampirefrog/fmtoy";
+    license = licenses.gpl3Only;
+    mainProgram = "fmtoy_jack";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/ha/haredo/package.nix b/pkgs/by-name/ha/haredo/package.nix
new file mode 100644
index 0000000000000..277250170e5d2
--- /dev/null
+++ b/pkgs/by-name/ha/haredo/package.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, lib
+, fetchFromSourcehut
+, hare
+, scdoc
+, nix-update-script
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "haredo";
+  version = "1.0.5";
+
+  outputs = [ "out" "man" ];
+
+  src = fetchFromSourcehut {
+    owner = "~autumnull";
+    repo = "haredo";
+    rev = finalAttrs.version;
+    hash = "sha256-gpui5FVRw3NKyx0AB/4kqdolrl5vkDudPOgjHc/IE4U=";
+  };
+
+  nativeBuildInputs = [
+    hare
+    scdoc
+  ];
+
+  preBuild = ''
+    HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)"
+    export HARECACHE
+    export PREFIX=${builtins.placeholder "out"}
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./bootstrap.sh
+
+    runHook postBuild
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    ./bin/haredo test
+
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    ./bootstrap.sh install
+
+    runHook postInstall
+  '';
+
+  dontConfigure = true;
+  doCheck = true;
+
+  setupHook = ./setup-hook.sh;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "A simple and unix-idiomatic build automator";
+    homepage = "https://sr.ht/~autumnull/haredo/";
+    license = lib.licenses.wtfpl;
+    maintainers = with lib.maintainers; [ onemoresuza ];
+    mainProgram = "haredo";
+    inherit (hare.meta) platforms badPlatforms;
+  };
+})
diff --git a/pkgs/by-name/ha/haredo/setup-hook.sh b/pkgs/by-name/ha/haredo/setup-hook.sh
new file mode 100644
index 0000000000000..44eb453087dbd
--- /dev/null
+++ b/pkgs/by-name/ha/haredo/setup-hook.sh
@@ -0,0 +1,69 @@
+haredoBuildPhase() {
+    runHook preBuild
+
+    local buildTargets jobs
+    read -ra buildTargets <<<"${haredoBuildTargets-}"
+    echoCmd "haredo build targets" "${buildTargets[@]}"
+    if [[ ! -v enableParallelBuilding || -n "${enableParallelBuilding-}" ]]; then
+        jobs="${NIX_BUILD_CORES}"
+    fi
+    haredo ${jobs:+"-j${jobs}"} "${buildTargets[@]}"
+
+    runHook postBuild
+}
+
+haredoCheckPhase() {
+    runHook preCheck
+
+    local checkTargets jobs
+
+    if [[ -n "${haredoCheckTargets:-}" ]]; then
+        read -ra checkTargets <<<"${haredoCheckTargets}"
+    else
+        for dofile in "check.do" "test.do"; do
+            [[ -r "${dofile}" ]] && {
+                checkTargets=("${dofile%".do"}")
+                break
+            }
+        done
+    fi
+
+    if [[ -z "${checkTargets:-}" ]]; then
+        printf -- 'haredoCheckPhase ERROR: no check targets were found' 1>&2
+        exit 1
+    else
+        echoCmd "haredo check targets" "${checkTargets[@]}"
+        if [[ ! -v enableParallelChecking || -n "${enableParallelChecking-}" ]]; then
+            jobs="${NIX_BUILD_CORES}"
+        fi
+        haredo ${jobs:+"-j${jobs}"} "${checkTargets[@]}"
+    fi
+
+    runHook postCheck
+}
+
+haredoInstallPhase() {
+    runHook preInstall
+
+    local installTargets jobs
+    read -ra installTargets <<<"${haredoInstallTargets:-"install"}"
+    echoCmd "haredo install targets" "${installTargets[@]}"
+    if [[ ! -v enableParallelInstalling || -n "${enableParallelInstalling-}" ]]; then
+        jobs="${NIX_BUILD_CORES}"
+    fi
+    haredo ${jobs:+"-j${jobs}"} "${installTargets[@]}"
+
+    runHook postInstall
+}
+
+if [[ -z "${dontUseHaredoBuild-}" && -z "${buildPhase-}" ]]; then
+    buildPhase="haredoBuildPhase"
+fi
+
+if [[ -z "${dontUseHaredoCheck-}" && -z "${checkPhase-}" ]]; then
+    checkPhase="haredoCheckPhase"
+fi
+
+if [[ -z "${dontUseHaredoInstall-}" && -z "${installPhase-}" ]]; then
+    installPhase="haredoInstallPhase"
+fi
diff --git a/pkgs/by-name/im/immersed-vr/package.nix b/pkgs/by-name/im/immersed-vr/package.nix
index 0cf8ef3e17abf..70cce2b976300 100644
--- a/pkgs/by-name/im/immersed-vr/package.nix
+++ b/pkgs/by-name/im/immersed-vr/package.nix
@@ -16,10 +16,6 @@ appimageTools.wrapType2 rec {
     mv $out/bin/{${name},${pname}}
   '';
 
-  extraPkgs = pkgs: with pkgs; [
-    libthai
-  ];
-
   meta = with lib; {
     description = "A VR coworking platform";
     homepage = "https://immersed.com";
diff --git a/pkgs/by-name/in/incus-unwrapped/package.nix b/pkgs/by-name/in/incus-unwrapped/package.nix
index 3beeff04f4fd2..907b8ce291973 100644
--- a/pkgs/by-name/in/incus-unwrapped/package.nix
+++ b/pkgs/by-name/in/incus-unwrapped/package.nix
@@ -95,7 +95,7 @@ buildGoModule rec {
     homepage = "https://linuxcontainers.org/incus";
     changelog = "https://github.com/lxc/incus/releases/tag/incus-${version}";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/li/libfmvoice/package.nix b/pkgs/by-name/li/libfmvoice/package.nix
new file mode 100644
index 0000000000000..06284bfd5eafb
--- /dev/null
+++ b/pkgs/by-name/li/libfmvoice/package.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libfmvoice";
+  version = "0.0.0-unstable-2023-12-05";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "libfmvoice";
+    rev = "38b1a0c627ef66fcd9c672c215d2b9849163df12";
+    hash = "sha256-kXthY9TynIXNX9wmgn13vs4Mrrv/dmEr7zlWiKstjGk=";
+  };
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    for prog in $(grep 'PROGS=' Makefile | cut -d'=' -f2); do
+      install -Dm755 $prog $out/bin/$prog
+    done
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "C library for loading, saving and converting FM sound chip voice files in various formats";
+    homepage = "https://github.com/vampirefrog/libfmvoice";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/by-name/li/linien-gui/package.nix b/pkgs/by-name/li/linien-gui/package.nix
new file mode 100644
index 0000000000000..ba6f6d6b58939
--- /dev/null
+++ b/pkgs/by-name/li/linien-gui/package.nix
@@ -0,0 +1,47 @@
+{ lib
+, python3
+, qt5
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "linien-gui";
+  pyproject = true;
+
+  inherit (python3.pkgs.linien-common) src version;
+
+  sourceRoot = "source/linien-gui";
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ] ++ [
+    qt5.wrapQtAppsHook
+  ];
+
+  # Makes qt-wayland appear in the qt paths injected by the wrapper - helps users
+  # with `QT_QPA_PLATFORM=wayland` in their environment.
+  buildInputs = [
+    qt5.qtwayland
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    click
+    pyqtgraph
+    pyqt5
+    superqt
+    linien-client
+  ];
+
+  dontWrapQtApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    description = "Graphical user interface of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-gui";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/by-name/lx/lxd-to-incus/package.nix b/pkgs/by-name/lx/lxd-to-incus/package.nix
index 1f416df6b2a4c..c08dda5a4d861 100644
--- a/pkgs/by-name/lx/lxd-to-incus/package.nix
+++ b/pkgs/by-name/lx/lxd-to-incus/package.nix
@@ -33,7 +33,7 @@ buildGoModule rec {
     description = "LXD to Incus migration tool";
     homepage = "https://linuxcontainers.org/incus";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/by-name/ma/maid/Gemfile b/pkgs/by-name/ma/maid/Gemfile
new file mode 100644
index 0000000000000..9ac699f872dcf
--- /dev/null
+++ b/pkgs/by-name/ma/maid/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+gem 'maid', '~> 0.10.0'
+gem 'rake'
diff --git a/pkgs/by-name/ma/maid/Gemfile.lock b/pkgs/by-name/ma/maid/Gemfile.lock
new file mode 100644
index 0000000000000..c78adf5ba292d
--- /dev/null
+++ b/pkgs/by-name/ma/maid/Gemfile.lock
@@ -0,0 +1,55 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    concurrent-ruby (1.2.2)
+    deprecated (3.0.1)
+    dimensions (1.3.0)
+    escape (0.0.4)
+    et-orbi (1.2.7)
+      tzinfo
+    exifr (1.3.10)
+    ffi (1.15.5)
+    fugit (1.8.1)
+      et-orbi (~> 1, >= 1.2.7)
+      raabro (~> 1.4)
+    geocoder (1.8.2)
+    listen (3.8.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
+    maid (0.10.0)
+      deprecated (~> 3.0.0)
+      dimensions (>= 1.0.0, < 2.0)
+      escape (>= 0.0.1, < 0.1.0)
+      exifr (~> 1.3.10)
+      geocoder (~> 1.8.1)
+      listen (~> 3.8.0)
+      mime-types (~> 3.0, < 4.0)
+      rubyzip (~> 2.3.2)
+      rufus-scheduler (~> 3.8.2)
+      thor (~> 1.2.1)
+      xdg (~> 2.2.3)
+    mime-types (3.5.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2023.0808)
+    raabro (1.4.0)
+    rake (13.0.6)
+    rb-fsevent (0.11.2)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
+    rubyzip (2.3.2)
+    rufus-scheduler (3.8.2)
+      fugit (~> 1.1, >= 1.1.6)
+    thor (1.2.2)
+    tzinfo (2.0.6)
+      concurrent-ruby (~> 1.0)
+    xdg (2.2.5)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  maid (~> 0.10.0)
+  rake
+
+BUNDLED WITH
+   2.3.26
diff --git a/pkgs/by-name/ma/maid/gemset.nix b/pkgs/by-name/ma/maid/gemset.nix
new file mode 100644
index 0000000000000..f82ef7bed37a2
--- /dev/null
+++ b/pkgs/by-name/ma/maid/gemset.nix
@@ -0,0 +1,230 @@
+{
+  concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  deprecated = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ky20wy29jdhfy4xdw1lgxggciq4ywizmh265fyvwxbj6svw6b03";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
+  dimensions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jlkyfqk14291wbw8ly46jvp8vrcvswlns4078y1m44bb3rgm123";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  escape = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
+  et-orbi = {
+    dependencies = ["tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  exifr = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc";
+      type = "gem";
+    };
+    version = "1.3.10";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      type = "gem";
+    };
+    version = "1.15.5";
+  };
+  fugit = {
+    dependencies = ["et-orbi" "raabro"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq";
+      type = "gem";
+    };
+    version = "1.8.1";
+  };
+  geocoder = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "120lqyq308q8hg8ykawd7cp3k2ck8z9g5f9ffijp8dn2k9f21fjc";
+      type = "gem";
+    };
+    version = "1.8.2";
+  };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
+      type = "gem";
+    };
+    version = "3.8.0";
+  };
+  maid = {
+    dependencies = ["deprecated" "dimensions" "escape" "exifr" "geocoder" "listen" "mime-types" "rubyzip" "rufus-scheduler" "thor" "xdg"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v1lhwgxyli10rinw6h33ikhskx9j3b20h7plrx8c69z05sfsdd9";
+      type = "gem";
+    };
+    version = "0.10.0";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
+      type = "gem";
+    };
+    version = "3.5.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
+      type = "gem";
+    };
+    version = "3.2023.0808";
+  };
+  raabro = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  rake = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      type = "gem";
+    };
+    version = "13.0.6";
+  };
+  rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
+      type = "gem";
+    };
+    version = "0.11.2";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+      type = "gem";
+    };
+    version = "0.10.1";
+  };
+  rubyzip = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
+  rufus-scheduler = {
+    dependencies = ["fugit"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1as4yrb8y5lq49div8p3vqgwrrhdgwnvx4m73y3712nmnlpx6cws";
+      type = "gem";
+    };
+    version = "3.8.2";
+  };
+  thor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  tzinfo = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
+      type = "gem";
+    };
+    version = "2.0.6";
+  };
+  xdg = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04xr4cavnzxlk926pkji7b5yiqy4qsd3gdvv8mg6jliq6sczg9gk";
+      type = "gem";
+    };
+    version = "2.2.5";
+  };
+}
diff --git a/pkgs/by-name/ma/maid/package.nix b/pkgs/by-name/ma/maid/package.nix
new file mode 100644
index 0000000000000..f7f237d085fda
--- /dev/null
+++ b/pkgs/by-name/ma/maid/package.nix
@@ -0,0 +1,23 @@
+{ bundlerApp
+, bundlerUpdateScript
+, callPackage
+, lib
+}:
+
+bundlerApp {
+  pname = "maid";
+  gemdir = ./.;
+  exes = [ "maid" ];
+
+  passthru.updateScript = bundlerUpdateScript "maid";
+
+  passthru.tests.run = callPackage ./test.nix { };
+
+  meta = with lib; {
+    description = "Rule-based file mover and cleaner in Ruby";
+    homepage = "https://github.com/maid/maid";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ alanpearce ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ma/maid/test.nix b/pkgs/by-name/ma/maid/test.nix
new file mode 100644
index 0000000000000..722481f2dfcb2
--- /dev/null
+++ b/pkgs/by-name/ma/maid/test.nix
@@ -0,0 +1,20 @@
+{ runCommandLocal, maid }:
+
+runCommandLocal "test-maid-run" {
+  nativeBuildInputs = [ maid ];
+}
+  ''
+    mkdir -p $out/test
+    export HOME=$out
+    cd $out
+    touch test/a.iso test/b.txt
+    cat > rules.rb <<EOF
+      Maid.rules do
+        rule 'ISO' do
+          trash(dir('test/*.iso'))
+        end
+      end
+    EOF
+    maid clean --rules rules.rb --force
+    [ -f test/b.txt ] && [ ! -f test/a.iso ]
+  ''
diff --git a/pkgs/by-name/ma/matlab-language-server/package.nix b/pkgs/by-name/ma/matlab-language-server/package.nix
new file mode 100644
index 0000000000000..732d8ef9acd0f
--- /dev/null
+++ b/pkgs/by-name/ma/matlab-language-server/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildNpmPackage {
+  pname = "matlab-language-server";
+  version = "1.1.6";
+
+  src = fetchFromGitHub {
+    owner = "mathworks";
+    repo = "matlab-language-server";
+    # Upstream doesn't tag commits unfortunatly, but lists versions and dates
+    # in README... See complaint at:
+    # https://github.com/mathworks/MATLAB-language-server/issues/24
+    rev = "c8c901956e3bbfbd6eab440a1b60c3fe016cf567";
+    hash = "sha256-D03gXyrvPYOMkJI2YuHfPAnWdXTz5baemykQ5j9L0rs=";
+  };
+  patches = [
+    # https://github.com/mathworks/MATLAB-language-server/pull/23
+    (fetchpatch {
+      url = "https://github.com/mathworks/MATLAB-language-server/commit/56374de620b4855529c4136539f52ab6030e2c92.patch";
+      hash = "sha256-F38ATP+eap0SnxQoib1JwIvNCFfB7g8EtXI9+iK5+HA=";
+    })
+  ];
+
+  npmDepsHash = "sha256-P3MSrwk6FVt4lK58pjwy0YOg2UZI0TG8uXjqCPudgTE=";
+
+  npmBuildScript = "package";
+
+  meta = {
+    description = "Language Server for MATLAB® code";
+    homepage = "https://github.com/mathworks/MATLAB-language-server";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ doronbehar ];
+    mainProgram = "matlab-language-server";
+  };
+}
diff --git a/pkgs/by-name/nh/nh/package.nix b/pkgs/by-name/nh/nh/package.nix
new file mode 100644
index 0000000000000..c32b16876dd88
--- /dev/null
+++ b/pkgs/by-name/nh/nh/package.nix
@@ -0,0 +1,59 @@
+{ lib
+, rustPlatform
+, installShellFiles
+, makeWrapper
+, fetchFromGitHub
+, nvd
+, use-nom ? true
+, nix-output-monitor ? null
+}:
+
+assert use-nom -> nix-output-monitor != null;
+
+let
+  version = "3.4.12";
+  runtimeDeps = [ nvd ] ++ lib.optionals use-nom [ nix-output-monitor ];
+in
+rustPlatform.buildRustPackage {
+  inherit version;
+  pname = "nh";
+
+  src = fetchFromGitHub {
+    owner = "ViperML";
+    repo = "nh";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-V5TQ/1loQnegDjfLh61DxBWEQZivYEBq2kQpT0fn2cQ=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    installShellFiles
+    makeWrapper
+  ];
+
+  preFixup = ''
+    mkdir completions
+    $out/bin/nh completions --shell bash > completions/nh.bash
+    $out/bin/nh completions --shell zsh > completions/nh.zsh
+    $out/bin/nh completions --shell fish > completions/nh.fish
+
+    installShellCompletion completions/*
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/nh \
+      --prefix PATH : ${lib.makeBinPath runtimeDeps} \
+      ${lib.optionalString use-nom "--set-default NH_NOM 1"}
+  '';
+
+  cargoHash = "sha256-Ul4DM8WmKvKG32zBXzpdzHZknpTQAVvrxFcEd/C1buA=";
+
+  meta = {
+    description = "Yet another nix cli helper";
+    homepage = "https://github.com/ViperML/nh";
+    license = lib.licenses.eupl12;
+    mainProgram = "nh";
+    maintainers = with lib.maintainers; [ drupol viperML ];
+  };
+}
diff --git a/pkgs/by-name/nw/nwg-drawer/package.nix b/pkgs/by-name/nw/nwg-drawer/package.nix
index debff8429d886..976f99158c049 100644
--- a/pkgs/by-name/nw/nwg-drawer/package.nix
+++ b/pkgs/by-name/nw/nwg-drawer/package.nix
@@ -12,13 +12,13 @@
 
 let
   pname = "nwg-drawer";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-drawer";
     rev = "v${version}";
-    hash = "sha256-2/YI91Rcm+N8tNoKBRIDAQ3T2M6T7+kWngbCzyaXOCc=";
+    hash = "sha256-1iylXR3WP39E/0L/vBe5LxXOKV+KisgUr2rxBEHahMo=";
   };
 
   vendorHash = "sha256-8s8+ukMQpciQmKt77fNE7r+3cm/UDxO8VtkrNYdKhM8=";
diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix
index e9c87ebbdb32a..e68a56fd2ae46 100644
--- a/pkgs/by-name/ph/phpunit/package.nix
+++ b/pkgs/by-name/ph/phpunit/package.nix
@@ -18,6 +18,7 @@ php.buildComposerProject (finalAttrs: {
     description = "PHP Unit Testing framework";
     homepage = "https://phpunit.de";
     license = lib.licenses.bsd3;
+    mainProgram = "phpunit";
     maintainers = [ lib.maintainers.onny ] ++ lib.teams.php.members;
   };
 })
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/by-name/pi/pipeworld/package.nix
index 9474535133fdb..52c411d837774 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/by-name/pi/pipeworld/package.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation (finalPackages: {
   pname = "pipeworld";
-  version = "unstable-2023-03-02";
+  version = "unstable-2023-02-05";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "pipeworld";
-    rev = "9ea79f72ad500fe78b9f46e680be87eaac3bfb0e";
-    hash = "sha256-/cjse6XXrdLoUB35GLgl871qINOm4SvKPTbfoBceLu0=";
+    rev = "edc3821404b3a1274b8a50d2fb1c6b523fbd4a1c";
+    hash = "sha256-PbKejghMkLZdeQJD9fObw9xhGH24IX72X7pyjapTXJM=";
   };
 
   dontConfigure = true;
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalPackages: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/pipeworld";
     description = "Dataflow 'spreadsheet' desktop environment";
     longDescription = ''
@@ -43,8 +43,8 @@ stdenvNoCC.mkDerivation (finalPackages: {
       application within another desktop as a 'substitute' for your normal
       terminal emulator.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/pl/pls/Cargo.lock b/pkgs/by-name/pl/pls/Cargo.lock
new file mode 100644
index 0000000000000..42856918831a8
--- /dev/null
+++ b/pkgs/by-name/pl/pls/Cargo.lock
@@ -0,0 +1,856 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+dependencies = [
+ "memchr",
+]
+
+[[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 = "atomic"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+dependencies = [
+ "jobserver",
+]
+
+[[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.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+ "once_cell",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+ "terminal_size",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
+name = "colored"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+dependencies = [
+ "is-terminal",
+ "lazy_static",
+ "windows-sys",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "log",
+]
+
+[[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.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"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "figment"
+version = "0.10.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4547e226f4c9ab860571e070a9034192b3175580ecea38da34fcdb53a018c9a5"
+dependencies = [
+ "atomic",
+ "parking_lot",
+ "serde",
+ "serde_yaml",
+ "tempfile",
+ "uncased",
+ "version_check",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "git2"
+version = "0.17.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
+dependencies = [
+ "bitflags 1.3.2",
+ "libc",
+ "libgit2-sys",
+ "log",
+ "url",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+
+[[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.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
+name = "idna"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[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",
+]
+
+[[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.3",
+ "windows-sys",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
+name = "jobserver"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+dependencies = [
+ "libc",
+]
+
+[[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.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+[[package]]
+name = "libgit2-sys"
+version = "0.15.2+1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "121f7402cc6ab5821dad08d1b9d11618a9ea4da992343909fecf8e430e86364c"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+
+[[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.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[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",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "pls"
+version = "0.0.1-beta.2"
+dependencies = [
+ "clap",
+ "colored",
+ "env_logger",
+ "figment",
+ "git2",
+ "home",
+ "lazy_static",
+ "log",
+ "number_prefix",
+ "regex",
+ "serde",
+ "serde_regex",
+ "terminal_size",
+ "time",
+ "unicode-segmentation",
+ "users",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+dependencies = [
+ "proc-macro2",
+]
+
+[[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.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89089e897c013b3deb627116ae56a6955a72b8bed395c9526af31c9fe528b484"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa250384981ea14565685dea16a9ccc4d1c541a13f82b9c168572264d1df8c56"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
+
+[[package]]
+name = "rustix"
+version = "0.37.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.3.8",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4"
+dependencies = [
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "serde"
+version = "1.0.166"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.166"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_regex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf"
+dependencies = [
+ "regex",
+ "serde",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.9.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+
+[[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.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix 0.37.23",
+ "windows-sys",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
+dependencies = [
+ "rustix 0.37.23",
+ "windows-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.3.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd"
+dependencies = [
+ "itoa",
+ "libc",
+ "num_threads",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+
+[[package]]
+name = "time-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+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 = "uncased"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68"
+dependencies = [
+ "version_check",
+]
+
+[[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.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+
+[[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 = "unsafe-libyaml"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6"
+
+[[package]]
+name = "url"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "users"
+version = "0.11.0"
+source = "git+https://github.com/dhruvkb/rust-users.git#e6ba8a88e0127f0d17ddd99f80f85d2c1722b227"
+dependencies = [
+ "libc",
+]
+
+[[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 = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+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",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/pkgs/by-name/pl/pls/package.nix b/pkgs/by-name/pl/pls/package.nix
new file mode 100644
index 0000000000000..cbd46d09e1ab4
--- /dev/null
+++ b/pkgs/by-name/pl/pls/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pls";
+  version = "0.0.1-beta.2";
+
+  src = fetchFromGitHub {
+    owner = "dhruvkb";
+    repo = "pls";
+    rev = "v${version}";
+    hash = "sha256-yMZygYrLi3V9MA+6vgqG+RHme5jtHMnork8aALbFVXc=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "users-0.11.0" = "sha256-xBds73h68oWjKivEw92jEx0dVh08H2EIlBWnGx9DhyE=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = {
+    description = "Prettier and powerful ls";
+    homepage = "https://pls-rs.github.io/pls/";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "pls";
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/pkgs/by-name/pr/presenterm/package.nix b/pkgs/by-name/pr/presenterm/package.nix
index df5342311cd1d..47440166c9157 100644
--- a/pkgs/by-name/pr/presenterm/package.nix
+++ b/pkgs/by-name/pr/presenterm/package.nix
@@ -1,4 +1,8 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, libsixel
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "presenterm";
@@ -7,12 +11,18 @@ rustPlatform.buildRustPackage rec {
   src = fetchFromGitHub {
     owner = "mfontanini";
     repo = "presenterm";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-uwLVg/bURz2jLAQZgLujDR2Zewu5pcE9bwEBg/DQ4Iw=";
   };
 
+  buildInputs = [
+    libsixel
+  ];
+
   cargoHash = "sha256-tEgXqvSyScO/J/56ykCda3ERrTDQj5jCxlMEDof/fCA=";
 
+  buildFeatures = [ "sixel" ];
+
   # Skip test that currently doesn't work
   checkFlags = [ "--skip=execute::test::shell_code_execution" ];
 
diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/by-name/pr/prio/package.nix
index f733b189757b3..620e4f9382cee 100644
--- a/pkgs/desktops/arcan/prio/default.nix
+++ b/pkgs/by-name/pr/prio/package.nix
@@ -27,11 +27,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/letoram/prio";
     description = "Plan9- Rio like Window Manager for Arcan";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    license = with lib.licenses; [ bsd3 ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.all;
   };
 })
diff --git a/pkgs/by-name/ra/raft-cowsql/package.nix b/pkgs/by-name/ra/raft-cowsql/package.nix
index f4e94d8f4106c..307c3ea8117e1 100644
--- a/pkgs/by-name/ra/raft-cowsql/package.nix
+++ b/pkgs/by-name/ra/raft-cowsql/package.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/cowsql/raft";
     license = licenses.lgpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ adamcstephens ];
+    maintainers = teams.lxc.members;
   };
 }
diff --git a/pkgs/by-name/rc/rclip/package.nix b/pkgs/by-name/rc/rclip/package.nix
new file mode 100644
index 0000000000000..072c4ccafa05f
--- /dev/null
+++ b/pkgs/by-name/rc/rclip/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "rclip";
+  version = "1.7.6";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "yurijmikhalevich";
+    repo = "rclip";
+    rev = "v${version}";
+    hash = "sha256-lWaWq+dcAa/2pONka4xRpixqDuL6iYDF46vCyCmVWwE=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    open-clip-torch
+    pillow
+    requests
+    torch
+    torchvision
+    tqdm
+  ];
+
+  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "rclip" ];
+
+  disabledTestPaths = [
+    # requires network
+    "tests/e2e/test_rclip.py"
+  ];
+
+  meta = with lib; {
+    description = "AI-Powered Command-Line Photo Search Tool";
+    homepage = "https://github.com/yurijmikhalevich/rclip";
+    license = licenses.mit;
+    maintainers = with maintainers; [ iynaix ];
+    mainProgram = "rclip";
+  };
+}
diff --git a/pkgs/by-name/re/resources/package.nix b/pkgs/by-name/re/resources/package.nix
new file mode 100644
index 0000000000000..c3fc15b9f3940
--- /dev/null
+++ b/pkgs/by-name/re/resources/package.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, appstream-glib
+, cargo
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, rustPlatform
+, rustc
+, wrapGAppsHook4
+, glib
+, gtk4
+, libadwaita
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "resources";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "nokyan";
+    repo = "resources";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-OVz1vsmOtH/5sEuyl2BfDqG2/9D1HGtHA0FtPntKQT0=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit (finalAttrs) src;
+    name = "resources-${finalAttrs.version}";
+    hash = "sha256-MNYKfvbLQPWm7MKS5zYGrc+aoC9WeU5FTftkCrogZg0=";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook4
+    rustPlatform.cargoSetupHook
+    cargo
+    rustc
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+  ];
+
+  mesonFlags = [
+    (lib.mesonOption "profile" "default")
+  ];
+
+  meta = {
+    changelog = "https://github.com/nokyan/resources/releases/tag/${finalAttrs.version}";
+    description = "Monitor your system resources and processes";
+    homepage = "https://github.com/nokyan/resources";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "resources";
+    maintainers = with lib.maintainers; [ lukas-heiligenbrunner ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/sy/syntax/package.nix b/pkgs/by-name/sy/syntax/package.nix
new file mode 100644
index 0000000000000..eceffd5aa0b4e
--- /dev/null
+++ b/pkgs/by-name/sy/syntax/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildNpmPackage
+, stdenv
+, nix-update-script
+}:
+
+buildNpmPackage rec {
+  pname = "syntax";
+  version = "0.1.27";
+  src = fetchFromGitHub {
+    owner = "DmitrySoshnikov";
+    repo = "syntax";
+    rev = "v${version}";
+    hash = "sha256-5ZbelnZQvJ9k4GbWR+lDEgxXGLt4VsXput9nBV8nUdc=";
+  };
+
+  npmDepsHash = "sha256-jZwbRGGg4tek6Jr+V7/SceJlsbIv7jFWQ+qa+fnChTw=";
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    homepage = "https://github.com/DmitrySoshnikov/syntax";
+    description = "Syntactic analysis toolkit, language-agnostic parser generator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ h7x4 ];
+    mainProgram = "syntax-cli";
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
new file mode 100644
index 0000000000000..58e30462757c2
--- /dev/null
+++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+
+let
+  version = "1.48.2";
+in
+buildGoModule {
+  pname = "tailscale-nginx-auth";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "tailscale";
+    repo = "tailscale";
+    rev = "v${version}";
+    hash = "sha256-5Usi7W4y6JniyxBIfQid1XjDIZRS5oIw+KUMMiFRBwk=";
+  };
+  vendorHash = "sha256-Fr4VZcKrXnT1PZuEG110KBefjcZzRsQRBSvByELKAy4=";
+
+  CGO_ENABLED = 0;
+
+  subPackages = [ "cmd/nginx-auth" ];
+
+  ldflags = [
+    "-w"
+    "-s"
+    "-X tailscale.com/version.longStamp=${version}"
+    "-X tailscale.com/version.shortStamp=${version}"
+  ];
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    mv $out/bin/nginx-auth $out/bin/tailscale.nginx-auth
+    sed -i -e "s#/usr/sbin#$out/bin#" ./cmd/nginx-auth/tailscale.nginx-auth.service
+    install -D -m0444 -t $out/lib/systemd/system ./cmd/nginx-auth/tailscale.nginx-auth.service
+    install -D -m0444 -t $out/lib/systemd/system ./cmd/nginx-auth/tailscale.nginx-auth.socket
+  '';
+
+  meta = with lib; {
+    homepage = "https://tailscale.com";
+    description = "Tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy.";
+    license = licenses.bsd3;
+    mainProgram = "tailscale.nginx-auth";
+    maintainers = with maintainers; [ danderson phaer ];
+  };
+}
diff --git a/pkgs/by-name/vg/vgm2x/package.nix b/pkgs/by-name/vg/vgm2x/package.nix
new file mode 100644
index 0000000000000..ff2fa28e7be79
--- /dev/null
+++ b/pkgs/by-name/vg/vgm2x/package.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, unstableGitUpdater
+, libfmvoice
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "vgm2x";
+  version = "0.0.0-unstable-2023-08-27";
+
+  src = fetchFromGitHub {
+    owner = "vampirefrog";
+    repo = "vgm2x";
+    rev = "5128055ab2b356e173b53e2afd31202a59505a39";
+    hash = "sha256-DwDcSUdfOsDlajYtzg5xM5P9QPOqLp8b0sEpE18kfzA=";
+  };
+
+  postPatch = ''
+    rmdir libfmvoice
+    cp --no-preserve=all -r ${libfmvoice.src} libfmvoice
+  '';
+
+  strictDeps = true;
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    zlib
+  ];
+
+  buildFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 vgm2opm $out/bin/vgm2opm
+
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "VGM file extraction tools";
+    homepage = "https://github.com/vampirefrog/vgm2x";
+    license = licenses.gpl3Only;
+    mainProgram = "vgm2opm";
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/by-name/wi/windmill/package.nix b/pkgs/by-name/wi/windmill/package.nix
index e9d7c4ee598a5..6a1f9e771f7e4 100644
--- a/pkgs/by-name/wi/windmill/package.nix
+++ b/pkgs/by-name/wi/windmill/package.nix
@@ -146,7 +146,7 @@ rustPlatform.buildRustPackage {
 
     wrapProgram "$out/bin/windmill" \
       --prefix PATH : ${lib.makeBinPath [go pythonEnv deno nsjail bash]} \
-      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc.lib}/lib" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [stdenv.cc.cc.lib]} \
       --set PYTHON_PATH "${pythonEnv}/bin/python3" \
       --set GO_PATH "${go}/bin/go" \
       --set DENO_PATH "${deno}/bin/deno" \
diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/by-name/xa/xarcan/package.nix
index b979b64a06c5b..fb43766e72077 100644
--- a/pkgs/desktops/arcan/xarcan/default.nix
+++ b/pkgs/by-name/xa/xarcan/package.nix
@@ -38,13 +38,13 @@
 
 stdenv.mkDerivation (finalPackages: {
   pname = "xarcan";
-  version = "unstable-2022-06-14";
+  version = "unstable-2023-11-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "xarcan";
-    rev = "02111f4925453c0c545e9193c6a5e22c0d4e98c3";
-    hash = "sha256-rp2sNRbv0OZdfyqZfsv/v3TGQY5uyXWqbvlmUDd7iBk=";
+    rev = "380ea856307f593535dfc8b23799938db69e31b0";
+    hash = "sha256-RdizezCbJylQDkOmUdqL0lBTNLsjyvo+lKAjfZXTXf4=";
   };
 
   nativeBuildInputs = [
@@ -104,7 +104,7 @@ stdenv.mkDerivation (finalPackages: {
     "--with-xkb-path=${xkeyboard_config}/share/X11/xkb"
   ];
 
-  meta = with lib; {
+  meta =  {
     homepage = "https://github.com/letoram/letoram";
     description = "Patched Xserver that bridges connections to Arcan";
     longDescription = ''
@@ -112,8 +112,8 @@ stdenv.mkDerivation (finalPackages: {
       arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It
       allows running an X session as a window under Arcan.
     '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix
index abdbdbc2e7965..9ba083e0fb34b 100644
--- a/pkgs/by-name/yg/yggdrasil/package.nix
+++ b/pkgs/by-name/yg/yggdrasil/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-+E8CJs6m6iyMQNIqBbKLg8ghZR0FIuY5D1iDoUlaDyo=";
+    sha256 = "sha256-or+XTt8V/1BuLSJ53w1aKqJfx3Pka6VmC4TpvpP83+0=";
   };
 
-  vendorHash = "sha256-FXlIrsl3fbWpEpwrY5moaJI0H0yXtrTQhHFu+ktWRVM=";
+  vendorHash = "sha256-K7VJ+1x7+DgdwTjEgZ7sJ7SaCssBg+ukQupJ/1FN4F0=";
 
   subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
diff --git a/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
new file mode 100644
index 0000000000000..7a682ce7e4c60
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/0001-use-prefix-and-gzip-n.diff
@@ -0,0 +1,39 @@
+diff -Naur ytree-2.06-old/Makefile ytree-2.06-new/Makefile
+--- ytree-2.06-old/Makefile	2023-11-26 06:15:34.000000000 -0300
++++ ytree-2.06-new/Makefile	2023-12-01 12:25:36.641958285 -0300
+@@ -11,13 +11,13 @@
+ # ADD_CFLAGS: Add -DVI_KEYS if you want vi-cursor-keys
+ #
+ 
+-DESTDIR     = /usr
++PREFIX      = /usr
+ 
+ ADD_CFLAGS  = -O # -DVI_KEYS
+ 
+-BINDIR      = $(DESTDIR)/bin
+-MANDIR      = $(DESTDIR)/share/man/man1
+-MANESDIR    = $(DESTDIR)/share/man/es/man1
++BINDIR      = $(DESTDIR)$(PREFIX)/bin
++MANDIR      = $(DESTDIR)$(PREFIX)/share/man/man1
++MANESDIR    = $(DESTDIR)$(PREFIX)/share/man/es/man1
+ 
+ 
+ # Uncomment the lines for your system (default is linux)
+@@ -224,14 +224,14 @@
+ 
+ install:	$(MAIN)
+ 		install $(MAIN) $(BINDIR)
+-		gzip -9c ytree.1 > ytree.1.gz
++		gzip -n -9c ytree.1 > ytree.1.gz
+ 		if [ -d $(MANDIR) ]; then install -m 0644 ytree.1.gz  $(MANDIR)/; fi
+-		gzip -9c ytree.1.es > ytree.1.es.gz
++		gzip -n -9c ytree.1.es > ytree.1.es.gz
+ 		if [ -d $(MANESDIR) ]; then install -m 0644 ytree.1.es.gz $(MANESDIR)/; fi
+ 
+ clean:
+ 		rm -f core *.o *~ *.orig *.bak 
+-		
++
+ clobber:	clean
+ 		rm -f $(MAIN) ytree.1.es.gz ytree.1.gz
+ 
diff --git a/pkgs/by-name/yt/ytree/package.nix b/pkgs/by-name/yt/ytree/package.nix
new file mode 100644
index 0000000000000..6307d39b6629d
--- /dev/null
+++ b/pkgs/by-name/yt/ytree/package.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+, readline
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "ytree";
+  version = "2.06";
+
+  src = fetchurl {
+    url = "https://han.de/~werner/ytree-${finalAttrs.version}.tar.gz";
+    hash = "sha256-QRqI779ZnnytVUC7A7Zt0zyWexRwBnp+CVQcNvnvWeY=";
+  };
+
+  patches = [
+    # Two fixups (because diff files can't be smaller):
+    # - Create PREFIX instead of using DESTDIR
+    # - use gzip without timestamp, to improve reproducibility
+    ./0001-use-prefix-and-gzip-n.diff
+  ];
+
+  buildInputs = [
+    ncurses
+    readline
+  ];
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share/man/man1
+  '';
+
+  meta = {
+    homepage = "https://www.han.de/~werner/ytree.html";
+    description = "A curses-based file manager similar to DOS Xtree(TM)";
+    license = with lib.licenses; [ gpl2Plus ];
+    mainProgram = "ytree";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
+  };
+})
+# TODO: X11 support
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index fee51ebacf4a9..b5a5d26b5122d 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -166,7 +166,7 @@ rec {
 
   noto-fonts-color-emoji =
     let
-      version = "2.038";
+      version = "2.042";
       emojiPythonEnv =
         buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
     in
@@ -178,7 +178,7 @@ rec {
         owner = "googlefonts";
         repo = "noto-emoji";
         rev = "v${version}";
-        sha256 = "1rgmcc6nqq805iqr8kvxxlk5cf50q714xaxk3ld6rjrd69kb8ix9";
+        hash = "sha256-otJQMXrBIPrxD1vCdgcrZ2h1a9XAMbqEBFumjz1XJ54=";
       };
 
       depsBuildBuild = [
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
index 6d06d49eb7115..953ae55626280 100644
--- a/pkgs/data/misc/cldr-annotations/default.nix
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "cldr-annotations";
-  version = "43.0";
+  version = "44.0";
 
   src = fetchzip {
     url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
     stripRoot = false;
-    hash = "sha256-L8ikzRpSw4mDCV79TiUqhPHWC0PmGi4i4He0OAB54R0=";
+    hash = "sha256-oK+NlzuRF45laEMJKhNDzr12RF4CHIfDFNBFsIjJh1I=";
   };
 
   installPhase = ''
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
deleted file mode 100644
index 76cc6a2a4a03d..0000000000000
--- a/pkgs/desktops/arcan/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ config, lib, pkgs }:
-
-lib.makeScope pkgs.newScope (self: with self; {
-  # Dependencies
-
-  espeak = pkgs.espeak-ng;
-  ffmpeg = pkgs.ffmpeg-full;
-  harfbuzz = pkgs.harfbuzzFull;
-
-  # Arcan
-
-  arcan = callPackage ./arcan { };
-  arcan-wrapped = callPackage ./wrapper.nix { };
-  xarcan = callPackage ./xarcan { };
-
-  # Appls
-
-  cat9 = callPackage ./cat9 { };
-  cat9-wrapped = callPackage ./wrapper.nix {
-    name = "cat9-wrapped";
-    appls = [ cat9 ];
-  };
-
-  durden = callPackage ./durden { };
-  durden-wrapped = callPackage ./wrapper.nix {
-    name = "durden-wrapped";
-    appls = [ durden ];
-  };
-
-  pipeworld = callPackage ./pipeworld { };
-  pipeworld-wrapped = callPackage ./wrapper.nix {
-    name = "pipeworld-wrapped";
-    appls = [ pipeworld ];
-  };
-
-  # Warning: prio is deprecated; however it works and is useful for testing
-  prio = callPackage ./prio { };
-  prio-wrapped = callPackage ./wrapper.nix {
-    name = "prio-wrapped";
-    appls = [ prio ];
-  };
-
-  # One Expression to SymlinkJoin Them All
-
-  all-wrapped = callPackage ./wrapper.nix {
-    name = "all-wrapped";
-    appls = [ durden cat9 pipeworld ];
-  };
-})
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index d200a80a30fbe..b3718cbd17f3b 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -23,7 +23,6 @@
 , vte
 , wrapGAppsHook
 , xdg-utils
-, xprop
 }:
 let
   # Helper method to reduce redundancy
@@ -137,12 +136,6 @@ super: lib.trivial.pipe super [
     ];
   }))
 
-  (patchExtension "unite@hardpixel.eu" (old: {
-    buildInputs = [ xprop ];
-
-    meta.maintainers = with lib.maintainers; [ rhoriguchi ];
-  }))
-
   (patchExtension "x11gestures@joseexposito.github.io" (old: {
     # Extension can't find Touchegg
     # https://github.com/NixOS/nixpkgs/issues/137621
diff --git a/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
deleted file mode 100644
index f1064feb54b8d..0000000000000
--- a/pkgs/desktops/gnome/extensions/extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/lib/utils/paHelper.js b/lib/utils/paHelper.js
-index be28d21..a410a63 100755
---- a/lib/utils/paHelper.js
-+++ b/lib/utils/paHelper.js
-@@ -57,13 +57,7 @@ async function execHelper(type, index = undefined) {
-         return null;
-     }
-
--    const python = await findPython();
--
--    if (!python) {
--        return null;
--    }
--
--    const args = ['/usr/bin/env', python, paUtilPath, type];
-+    const args = ['@python3@/bin/python', paUtilPath, type];
-
-     if (!isNaN(index)) {
-         args.push(index);
-diff --git a/pautils/lib/libpulse.py b/pautils/lib/libpulse.py
-index a32c272..8225f2f 100755
---- a/pautils/lib/libpulse.py
-+++ b/pautils/lib/libpulse.py
-@@ -16,7 +16,7 @@
- from ctypes import *
-
- try:
--    lib = CDLL('libpulse.so.0')
-+    lib = CDLL('@pulseaudio@/lib/libpulse.so.0')
- except:
-     lib = CDLL('libpulse.so')
-
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index 6e8da3840f086..e1e40ec105935 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -16,6 +16,8 @@
   "taskwhisperer-extension@infinicode.de" = callPackage ./taskwhisperer { };
   "tilingnome@rliang.github.com" = callPackage ./tilingnome { };
   "TopIcons@phocean.net" = callPackage ./topicons-plus { };
+  # Can be removed when https://github.com/hardpixel/unite-shell/issues/353 resolved
+  "unite@hardpixel.eu" = callPackage ./unite { };
   "valent@andyholmes.ca" = callPackage ./valent { };
   "window-corner-preview@fabiomereu.it" = callPackage ./window-corner-preview { };
 }
diff --git a/pkgs/desktops/gnome/extensions/unite/default.nix b/pkgs/desktops/gnome/extensions/unite/default.nix
new file mode 100644
index 0000000000000..ef975ffddf45f
--- /dev/null
+++ b/pkgs/desktops/gnome/extensions/unite/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, gnome, fetchFromGitHub, xprop, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-unite";
+  version = "77";
+
+  src = fetchFromGitHub {
+    owner = "hardpixel";
+    repo = "unite-shell";
+    rev = "v${version}";
+    hash = "sha256-5PClGWOxqwTVaqBySu5I+qavaV1vcKHUvoYJ3Qgcq2o=";
+  };
+
+  passthru = {
+    extensionUuid = "unite@hardpixel.eu";
+    extensionPortalSlug = "unite";
+  };
+
+  nativeBuildInputs = [ glib ];
+
+  buildInputs = [ xprop ];
+
+  buildPhase = ''
+    runHook preBuild
+    glib-compile-schemas --strict --targetdir="unite@hardpixel.eu/schemas/" "unite@hardpixel.eu/schemas"
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/gnome-shell/extensions
+    cp -r "unite@hardpixel.eu" $out/share/gnome-shell/extensions
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ rhoriguchi ];
+    homepage = "https://github.com/hardpixel/unite-shell";
+    broken = versionOlder gnome.gnome-shell.version "3.32";
+  };
+}
diff --git a/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch b/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch
deleted file mode 100644
index 81e037ee690de..0000000000000
--- a/pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac  2019-01-20 20:28:01.309231507 +0100
-+++ b/configure.ac  2019-01-20 20:31:54.927978927 +0100
-@@ -137,7 +137,7 @@
- 
- # Find out where the session service file goes
- # The sad sed hack is recomended by section 27.10 of the automake manual.
--DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 | sed -e 's,/usr/share,${datarootdir},g'`
-+DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 --define-variable 'datadir=${datadir}'`
- AC_SUBST(DBUS_SESSION_SERVICE_DIR)
- 
- dnl ---------------------------------------------------------------------------
\ No newline at end of file
diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix
index 2de3a7c9d409b..02c034ae0e9f6 100644
--- a/pkgs/desktops/lomiri/default.nix
+++ b/pkgs/desktops/lomiri/default.nix
@@ -21,6 +21,7 @@ let
     #### Services
     biometryd = callPackage ./services/biometryd { };
     hfd-service = callPackage ./services/hfd-service { };
+    lomiri-app-launch = callPackage ./development/lomiri-app-launch { };
   };
 in
   lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix
new file mode 100644
index 0000000000000..92139688b1270
--- /dev/null
+++ b/pkgs/desktops/lomiri/development/lomiri-app-launch/default.nix
@@ -0,0 +1,129 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, gitUpdater
+, testers
+, cmake
+, cmake-extras
+, curl
+, dbus
+, dbus-test-runner
+, dpkg
+, gobject-introspection
+, gtest
+, json-glib
+, libxkbcommon
+, lomiri-api
+, lttng-ust
+, pkg-config
+, properties-cpp
+, python3
+, systemd
+, ubports-click
+, zeitgeist
+, withDocumentation ? true
+, doxygen
+, python3Packages
+, sphinx
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lomiri-app-launch";
+  version = "0.1.8";
+
+  outputs = [
+    "out"
+    "dev"
+  ] ++ lib.optionals withDocumentation [
+    "doc"
+  ];
+
+  src = fetchFromGitLab {
+    owner = "ubports";
+    repo = "development/core/lomiri-app-launch";
+    rev = finalAttrs.version;
+    hash = "sha256-NIBZk5H0bPwAwkI0Qiq2S9dZvchAFPBCHKi2inUVZmI=";
+  };
+
+  postPatch = ''
+    patchShebangs tests/{desktop-hook-test.sh.in,repeat-until-pass.sh}
+
+    # used pkg_get_variable, cannot replace prefix
+    substituteInPlace data/CMakeLists.txt \
+      --replace 'DESTINATION "''${SYSTEMD_USER_UNIT_DIR}"' 'DESTINATION "${placeholder "out"}/lib/systemd/user"'
+
+    substituteInPlace tests/jobs-systemd.cpp \
+      --replace '^(/usr)?' '^(/nix/store/\\w+-bash-.+)?'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    dpkg # for setting LOMIRI_APP_LAUNCH_ARCH
+    gobject-introspection
+    pkg-config
+  ] ++ lib.optionals withDocumentation [
+    doxygen
+    python3Packages.breathe
+    sphinx
+  ];
+
+  buildInputs = [
+    cmake-extras
+    curl
+    dbus
+    json-glib
+    libxkbcommon
+    lomiri-api
+    lttng-ust
+    properties-cpp
+    systemd
+    ubports-click
+    zeitgeist
+  ];
+
+  nativeCheckInputs = [
+    dbus
+    (python3.withPackages (ps: with ps; [
+      python-dbusmock
+    ]))
+  ];
+
+  checkInputs = [
+    dbus-test-runner
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_MIRCLIENT=OFF"
+    "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}"
+  ];
+
+  postBuild = lib.optionalString withDocumentation ''
+    make -C ../docs html
+  '';
+
+  doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  postInstall = lib.optionalString withDocumentation ''
+    mkdir -p $doc/share/doc/lomiri-app-launch
+    mv ../docs/_build/html $doc/share/doc/lomiri-app-launch/
+  '';
+
+  passthru = {
+    tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "System and associated utilities to launch applications in a standard and confined way";
+    homepage = "https://gitlab.com/ubports/development/core/lomiri-app-launch";
+    license = licenses.gpl3Only;
+    maintainers = teams.lomiri.members;
+    platforms = platforms.linux;
+    pkgConfigModules = [
+      "lomiri-app-launch-0"
+    ];
+  };
+})
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 764f86cf061e9..dfb4e4620c516 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -15,6 +15,7 @@
 , libgtop
 , libxml2
 , libnotify
+, mate-desktop
 , mate-panel
 , polkit
 , upower
@@ -53,6 +54,7 @@ stdenv.mkDerivation rec {
     libnotify
     libwnck
     libxml2
+    mate-desktop # for org.mate.lockdown
     mate-panel
     polkit
     upower
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index c06448bdc41a5..dda264380dbc8 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -5,7 +5,6 @@
 , meson
 , ninja
 , pkg-config
-, python3
 , vala
 , wrapGAppsHook4
 , elementary-gtk-theme
@@ -17,20 +16,19 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "calculator";
     rev = version;
-    sha256 = "sha256-PLdPu43ns03vhBwaGw4BWCLNvcJbhUA+5Gr5b//TqfA=";
+    sha256 = "sha256-VPxCW2lVA/nS2aJsjLgkuEM9wnAzyEr864XY8tfLQAY=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    python3
     vala
     wrapGAppsHook4
   ];
@@ -42,11 +40,6 @@ stdenv.mkDerivation rec {
     libgee
   ];
 
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
   preFixup = ''
     gappsWrapperArgs+=(
       # The GTK theme is hardcoded.
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index 3c9fc107a9780..5aff02f081701 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -29,6 +30,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-MJybc2yAchU6qMqkoRz45QdhR7bj/UFk2nyxcBivsHI=";
   };
 
+  patches = [
+    # Add support for AppStream 1.0
+    # https://github.com/elementary/switchboard-plug-about/pull/275
+    (fetchpatch {
+      url = "https://github.com/elementary/switchboard-plug-about/commit/72d7da13da2824812908276751fd3024db2dd0f8.patch";
+      hash = "sha256-R7oW3mL77/JNqxuMiqxtdMlHWMJgGRQBBzVeRiqx8PY=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 533240fc8f024..3d1df94ce8750 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.9/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.10/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch b/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
deleted file mode 100644
index d8d54a117eb25..0000000000000
--- a/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From e63a0dc2a7b185906a93d60e9d5d6deee4950efc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
-Date: Wed, 20 May 2020 14:02:07 +0200
-Subject: [PATCH] Add a logging category config file
-
-Makes powerdevil default logging level Warning
----
- CMakeLists.txt                     |  2 ++
- daemon/CMakeLists.txt              |  6 ++++++
- daemon/actions/dpms/CMakeLists.txt |  2 +-
- daemon/backends/CMakeLists.txt     |  6 +++---
- daemon/powerdevil_debug.cpp        | 21 ---------------------
- daemon/powerdevil_debug.h          | 26 --------------------------
- kcmodule/activities/CMakeLists.txt |  2 +-
- kcmodule/common/CMakeLists.txt     |  2 +-
- kcmodule/profiles/CMakeLists.txt   |  2 +-
- powerdevil.categories              |  1 +
- 10 files changed, 16 insertions(+), 54 deletions(-)
- delete mode 100644 daemon/powerdevil_debug.cpp
- delete mode 100644 daemon/powerdevil_debug.h
- create mode 100644 powerdevil.categories
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5ded8f5a..52a7318c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11,6 +11,7 @@ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
- set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
- 
- include(ECMSetupVersion)
-+include(ECMQtDeclareLoggingCategory)
- include(FeatureSummary)
- include(KDEInstallDirs)
- include(KDECMakeSettings)
-@@ -76,6 +77,7 @@ add_subdirectory(daemon)
- add_subdirectory(kcmodule)
- add_subdirectory(doc)
- 
-+install( FILES powerdevil.categories  DESTINATION  ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
- install( FILES powerdevil.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR} )
- 
- feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
-diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
-index 33ca655b..96cc9b7b 100644
---- a/daemon/CMakeLists.txt
-+++ b/daemon/CMakeLists.txt
-@@ -48,6 +48,12 @@ set(powerdevilcore_SRCS
-     kwinkscreenhelpereffect.cpp
- )
- 
-+ecm_qt_declare_logging_category(powerdevilcore_SRCS
-+   HEADER powerdevil_debug.h
-+   IDENTIFIER POWERDEVIL
-+   CATEGORY_NAME org.kde.powerdevil
-+   DEFAULT_SEVERITY Warning)
-+
- kconfig_add_kcfg_files(powerdevilcore_SRCS ../PowerDevilSettings.kcfgc)
- 
- # Action DBus Adaptors
-diff --git a/daemon/actions/dpms/CMakeLists.txt b/daemon/actions/dpms/CMakeLists.txt
-index f8ca4e20..3b8bd95b 100644
---- a/daemon/actions/dpms/CMakeLists.txt
-+++ b/daemon/actions/dpms/CMakeLists.txt
-@@ -3,7 +3,7 @@ include_directories(${PowerDevil_SOURCE_DIR}/daemon
-                     ${CMAKE_CURRENT_BINARY_DIR})
- 
- set(powerdevildpmsaction_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../../powerdevil_debug.cpp
-     powerdevildpmsaction.cpp
-     abstractdpmshelper.cpp
-     xcbdpmshelper.cpp
-diff --git a/daemon/backends/CMakeLists.txt b/daemon/backends/CMakeLists.txt
-index 89400446..05c4263e 100644
---- a/daemon/backends/CMakeLists.txt
-+++ b/daemon/backends/CMakeLists.txt
-@@ -4,7 +4,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/upower
-                     ${X11_Xrandr_INCLUDE_PATH})
- 
- set(powerdevilupowerbackend_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp
-     upower/upowersuspendjob.cpp
-     upower/login1suspendjob.cpp
-     upower/powerdevilupowerbackend.cpp
-@@ -33,14 +33,14 @@ ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.KbdBacklight.xml
- upower_kbdbacklight_interface)
- 
- ## backlight helper executable
--add_executable(backlighthelper upower/backlighthelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${backlighthelper_mocs})
-+add_executable(backlighthelper upower/backlighthelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${backlighthelper_mocs})
- target_link_libraries(backlighthelper Qt5::Core KF5::AuthCore KF5::I18n)
- install(TARGETS backlighthelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
- kauth_install_helper_files(backlighthelper org.kde.powerdevil.backlighthelper root)
- kauth_install_actions(org.kde.powerdevil.backlighthelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/backlight_helper_actions.actions)
- 
- ## discrete gpu helper executable
--add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${discretegpuhelper_mocs})
-+add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${discretegpuhelper_mocs})
- target_link_libraries(discretegpuhelper Qt5::Core KF5::AuthCore)
- install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
- kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root)
-diff --git a/daemon/powerdevil_debug.cpp b/daemon/powerdevil_debug.cpp
-deleted file mode 100644
-index 86172c1b..00000000
---- a/daemon/powerdevil_debug.cpp
-+++ /dev/null
-@@ -1,21 +0,0 @@
--/*  This file is part of the KDE project
--    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
--
--    This library is free software; you can redistribute it and/or
--    modify it under the terms of the GNU Library General Public
--    License as published by the Free Software Foundation; either
--    version 2 of the License, or (at your option) any later version.
--
--    This library is distributed in the hope that it will be useful,
--    but WITHOUT ANY WARRANTY; without even the implied warranty of
--    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--    Library General Public License for more details.
--
--    You should have received a copy of the GNU Library General Public License
--    along with this library; see the file COPYING.LIB.  If not, write to
--    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
--    Boston, MA 02110-1301, USA.
--*/
--
--#include "powerdevil_debug.h"
--Q_LOGGING_CATEGORY(POWERDEVIL, "powerdevil")
-diff --git a/daemon/powerdevil_debug.h b/daemon/powerdevil_debug.h
-deleted file mode 100644
-index fcd9c10f..00000000
---- a/daemon/powerdevil_debug.h
-+++ /dev/null
-@@ -1,26 +0,0 @@
--/*  This file is part of the KDE project
--    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
--
--    This library is free software; you can redistribute it and/or
--    modify it under the terms of the GNU Library General Public
--    License as published by the Free Software Foundation; either
--    version 2 of the License, or (at your option) any later version.
--
--    This library is distributed in the hope that it will be useful,
--    but WITHOUT ANY WARRANTY; without even the implied warranty of
--    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--    Library General Public License for more details.
--
--    You should have received a copy of the GNU Library General Public License
--    along with this library; see the file COPYING.LIB.  If not, write to
--    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
--    Boston, MA 02110-1301, USA.
--*/
--
--#ifndef PROCESSCORE_DEBUG_H
--#define PROCESSCORE_DEBUG_H
--
--#include <QLoggingCategory>
--Q_DECLARE_LOGGING_CATEGORY(POWERDEVIL)
--
--#endif
-diff --git a/kcmodule/activities/CMakeLists.txt b/kcmodule/activities/CMakeLists.txt
-index 41a6da48..6e248e91 100644
---- a/kcmodule/activities/CMakeLists.txt
-+++ b/kcmodule/activities/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilactivitiesconfig\")
- 
- set( kcm_powerdevil_activities_SRCS
--     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-      activitypage.cpp
-      activitywidget.cpp
-      ../common/ErrorOverlay.cpp
-diff --git a/kcmodule/common/CMakeLists.txt b/kcmodule/common/CMakeLists.txt
-index ca483fa7..400b7746 100644
---- a/kcmodule/common/CMakeLists.txt
-+++ b/kcmodule/common/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"libpowerdevilcommonconfig\")
- 
- set( powerdevil_config_common_private_SRCS
--    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+    ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-     actionconfigwidget.cpp
-     actioneditwidget.cpp
-     ErrorOverlay.cpp
-diff --git a/kcmodule/profiles/CMakeLists.txt b/kcmodule/profiles/CMakeLists.txt
-index ac5c96e0..32279089 100644
---- a/kcmodule/profiles/CMakeLists.txt
-+++ b/kcmodule/profiles/CMakeLists.txt
-@@ -1,7 +1,7 @@
- add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilprofilesconfig\")
- 
- set( kcm_powerdevil_profiles_SRCS
--     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
-+     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
-      EditPage.cpp
-      ${PowerDevil_SOURCE_DIR}/daemon/powerdevilprofilegenerator.cpp
- )
-diff --git a/powerdevil.categories b/powerdevil.categories
-new file mode 100644
-index 00000000..3147de54
---- /dev/null
-+++ b/powerdevil.categories
-@@ -0,0 +1 @@
-+org.kde.powerdevil Powerdevil DEFAULT_SEVERITY [WARNING] IDENTIFIER [POWERDEVIL]
--- 
-2.25.4
-
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index c20ded466eec3..0876308cb311d 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,475 +4,483 @@
 
 {
   aura-browser = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/aura-browser-5.27.9.tar.xz";
-      sha256 = "1962h3m52yzvj60r9y6cwfzqz4sgg0867n420w27r40cz23nr0fy";
-      name = "aura-browser-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/aura-browser-5.27.10.tar.xz";
+      sha256 = "0rc5vsk3hy4i3fqzrj7kkshijkkrfin3km7n9agv9xs6bjrrca2k";
+      name = "aura-browser-5.27.10.tar.xz";
     };
   };
   bluedevil = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/bluedevil-5.27.9.tar.xz";
-      sha256 = "0vjbcaalsmkbx1bccflpvjpdmw8gcym28qqybp0h2z983mj6i0b6";
-      name = "bluedevil-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/bluedevil-5.27.10.tar.xz";
+      sha256 = "1051gx6xv514qa7g102mv51927b7408mv2jrfpryji8r5s6da7vp";
+      name = "bluedevil-5.27.10.tar.xz";
     };
   };
   breeze = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-5.27.9.tar.xz";
-      sha256 = "0ks6y9qhwkqbbfivnbw46vk41kapaxgdzmhnbzzywpwpbqlidias";
-      name = "breeze-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-5.27.10.tar.xz";
+      sha256 = "18h08w3ylgvhgcs63ai8airh59yb4kc0bz2zi6lm77fsa83rdg5y";
+      name = "breeze-5.27.10.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-grub-5.27.9.tar.xz";
-      sha256 = "1bbmwj5b0xzqrb3w318l805an6rnvbnrd03ad05qnf84fg24cvn9";
-      name = "breeze-grub-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-grub-5.27.10.tar.xz";
+      sha256 = "072zqs723phm27cn359lpaw29zqbx23w4gi4shk00x1n0j5s0spz";
+      name = "breeze-grub-5.27.10.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-gtk-5.27.9.tar.xz";
-      sha256 = "03h1kbrh1rp7h4pslghpb9fjnyg0gg8khkds0la4bvjy85a3jsx8";
-      name = "breeze-gtk-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-gtk-5.27.10.tar.xz";
+      sha256 = "1dk9f2l4jqdhzr5xd7ym107zayygjdmibl3jkhnbnq97rs6gk8qx";
+      name = "breeze-gtk-5.27.10.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/breeze-plymouth-5.27.9.tar.xz";
-      sha256 = "1wqnfzwjgwma2cxvnawwicj3z8kxwh0yjvrh3x5kzc586q0zj01r";
-      name = "breeze-plymouth-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/breeze-plymouth-5.27.10.tar.xz";
+      sha256 = "1xabkvnpxh2qw1x5w1fkrcg31h8j0baq4ls6ckw6647gikvnf7h8";
+      name = "breeze-plymouth-5.27.10.tar.xz";
     };
   };
   discover = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/discover-5.27.9.tar.xz";
-      sha256 = "1m97zn2q22842dhamavpa6q49bm0vxl3kq1qgr3nhbmskk1swfg7";
-      name = "discover-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/discover-5.27.10.tar.xz";
+      sha256 = "1a4z21qrc6wjwcv0hnw8wnkk8w0bli12hfm8bdd07b2rlzi8k48z";
+      name = "discover-5.27.10.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/drkonqi-5.27.9.tar.xz";
-      sha256 = "04nx1wkgz5cdc615611jn1672mnrsl2z3a8xznrqr6cbfpw9ghsm";
-      name = "drkonqi-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/drkonqi-5.27.10.tar.xz";
+      sha256 = "1l3zcmjjndqq6y25v74kmzddkkqr8j4030z7rz5333hxraa4gsm3";
+      name = "drkonqi-5.27.10.tar.xz";
     };
   };
   flatpak-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/flatpak-kcm-5.27.9.tar.xz";
-      sha256 = "0zcadkabnp37ab0p5adih9kh81iapn5hzc0j07rx81kk40j9p58s";
-      name = "flatpak-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/flatpak-kcm-5.27.10.tar.xz";
+      sha256 = "0masi1nciqzrymcq5i4b2jmhxliqf88z9g11607aqfgsli070lms";
+      name = "flatpak-kcm-5.27.10.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kactivitymanagerd-5.27.9.tar.xz";
-      sha256 = "1gn9a2rkyqljm9ry54kwfca7crmad71fr7fkan9l5cjsjrqqk3sn";
-      name = "kactivitymanagerd-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kactivitymanagerd-5.27.10.tar.xz";
+      sha256 = "1nax1vbl5cxqf8rxmmqfnjnrh36ic16yrbdmcqzgp1s9dkxn5qlf";
+      name = "kactivitymanagerd-5.27.10.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kde-cli-tools-5.27.9.tar.xz";
-      sha256 = "01kx8xg6mlkl3n710vas536vwrni023h1655bs0ixzp12ngsdw86";
-      name = "kde-cli-tools-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kde-cli-tools-5.27.10.tar.xz";
+      sha256 = "0gsdl33bnxfg2zf8dgbg3wk40g0j4qjjzk9mz6a43qghkj4nvakv";
+      name = "kde-cli-tools-5.27.10.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kde-gtk-config-5.27.9.tar.xz";
-      sha256 = "04lrc6anqljfyqhw9mwanxhjbbknfd1hkk2baxlhi49f9rzdhjw0";
-      name = "kde-gtk-config-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kde-gtk-config-5.27.10.tar.xz";
+      sha256 = "0swfyvq687ankny7qj7imj691c0mmgifwircxw4w7d9qn5832fvg";
+      name = "kde-gtk-config-5.27.10.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kdecoration-5.27.9.tar.xz";
-      sha256 = "0zjk51pww3z6vsgdm5dxya2b3ngrdpxbmizdcin40zj37mkpz7bm";
-      name = "kdecoration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kdecoration-5.27.10.tar.xz";
+      sha256 = "1plxczgqj8g99jh1c8jiy5ji086xs4gv12halmfval4b4nw6r5k4";
+      name = "kdecoration-5.27.10.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kdeplasma-addons-5.27.9.tar.xz";
-      sha256 = "0ysg5rzr0zywxx9wyg82x3l0skg7ld0wn270i4rryia8agdx49ps";
-      name = "kdeplasma-addons-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kdeplasma-addons-5.27.10.tar.xz";
+      sha256 = "139y1zsw720j19bzx9m6xlf46n7i7sz12bcdkzs5b8wav0yyyr4y";
+      name = "kdeplasma-addons-5.27.10.tar.xz";
+    };
+  };
+  kgamma = {
+    version = "5.27.10";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.27.10/kgamma-5.27.10.tar.xz";
+      sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
+      name = "kgamma-5.27.10.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kgamma5-5.27.9.tar.xz";
-      sha256 = "1ks4f1v2cm770j0q2fpd432kpmsg6daa29hjvcbdczfg8gxrnjn8";
-      name = "kgamma5-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kgamma5-5.27.10.tar.xz";
+      sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx";
+      name = "kgamma5-5.27.10.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/khotkeys-5.27.9.tar.xz";
-      sha256 = "1s6whyqbz331j8nyz0f5k54ww22awcyq0gqpg2sfjwm5rclms6kn";
-      name = "khotkeys-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/khotkeys-5.27.10.tar.xz";
+      sha256 = "1rznv44ixb8l5flcc4rqnj1cfldna0ikbmg50lqznsvsnbkm2p34";
+      name = "khotkeys-5.27.10.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kinfocenter-5.27.9.tar.xz";
-      sha256 = "0qp89b2js74qnfcc3b79ywi8g329scc0xypz9kjlzcncp6q79gq3";
-      name = "kinfocenter-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kinfocenter-5.27.10.tar.xz";
+      sha256 = "04fa5bdw84k9ikv7chl1nrh857sb1gzq43f7rc7vb1q7hhs2lp6f";
+      name = "kinfocenter-5.27.10.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kmenuedit-5.27.9.tar.xz";
-      sha256 = "1ngbf7jrgsp5qnk38zw22vm07lpr2hizi5l5n6jy4754d756ndn8";
-      name = "kmenuedit-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kmenuedit-5.27.10.tar.xz";
+      sha256 = "1mr09zx37wky8cnf3r2mcvnl8nmhdi9rwdawsz946l66jrz0n28w";
+      name = "kmenuedit-5.27.10.tar.xz";
     };
   };
   kpipewire = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kpipewire-5.27.9.tar.xz";
-      sha256 = "086h2mfb8isravj9wypvislwwg2yf72rkzly4zsnx3r0dh8lyyqv";
-      name = "kpipewire-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kpipewire-5.27.10.tar.xz";
+      sha256 = "1vn3g3rmgwyhrzg9hv7y9249v1gzwid7q43r3ndhdvz2k8baag62";
+      name = "kpipewire-5.27.10.tar.xz";
     };
   };
   kscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kscreen-5.27.9.tar.xz";
-      sha256 = "0nz1lm2i4h2w9m6pdw2diqii11sx38lwz2yrk4mzxsq229c97rij";
-      name = "kscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kscreen-5.27.10.tar.xz";
+      sha256 = "0g0wk17fs0rg7myfv6wf4asw0ahlwk245zwhj0i7lqg8nk6vz1w9";
+      name = "kscreen-5.27.10.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kscreenlocker-5.27.9.tar.xz";
-      sha256 = "0kc7j69rbf66ji8s250iza4aq1cvpfgz43r59vrzr1in1a6a9077";
-      name = "kscreenlocker-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kscreenlocker-5.27.10.tar.xz";
+      sha256 = "129xrdlg86qlcp2ssk46xq1h2v00z4cqha2wc5fr3d65gyw80kfp";
+      name = "kscreenlocker-5.27.10.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/ksshaskpass-5.27.9.tar.xz";
-      sha256 = "0wwarxw8xrmwmyfscvy9dr5r2g8zmdk0qjipydg3i8dcpxqd1n67";
-      name = "ksshaskpass-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/ksshaskpass-5.27.10.tar.xz";
+      sha256 = "0sp275r8jqlh1as47r0df3lli17lnw6m2h5j9k85hglwrgfyg3fk";
+      name = "ksshaskpass-5.27.10.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/ksystemstats-5.27.9.tar.xz";
-      sha256 = "0lbr84jv70qqayq6a8nvmcbd582696zpcrf108kzpxzd0smbbnij";
-      name = "ksystemstats-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/ksystemstats-5.27.10.tar.xz";
+      sha256 = "0f723yq5wyfxfj9cx13cpvxhq28blglzpsgdh843has3xlnxlpjs";
+      name = "ksystemstats-5.27.10.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwallet-pam-5.27.9.tar.xz";
-      sha256 = "1kjjrd84fxnpm9jv7n9ndbnfch2x904l2xxi0g85fv4ipfm0z6bn";
-      name = "kwallet-pam-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwallet-pam-5.27.10.tar.xz";
+      sha256 = "1yx18j9823xfqwrhzy3wnzqzw7zhdya9r3xh84qg9j9psqa1f6dc";
+      name = "kwallet-pam-5.27.10.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwayland-integration-5.27.9.tar.xz";
-      sha256 = "1rg2vyry9lv9d1bkhwnlhxx8pjridbqhs1758kgls5dk9q4g05wn";
-      name = "kwayland-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwayland-integration-5.27.10.tar.xz";
+      sha256 = "17xxlfs63sxcziv8nl50qlpcy8w0h259mblxxvx99cmnc930azgk";
+      name = "kwayland-integration-5.27.10.tar.xz";
     };
   };
   kwin = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwin-5.27.9.tar.xz";
-      sha256 = "1fvqamjhl5vij7kqd7sk0xcpv12rv965a1qk9pbnd2gqlqgnjkyr";
-      name = "kwin-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwin-5.27.10.tar.xz";
+      sha256 = "1inswsd078lbbr7pwc84a3smhnn4i089c2f6lfsjrdh0b492anmq";
+      name = "kwin-5.27.10.tar.xz";
     };
   };
   kwrited = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/kwrited-5.27.9.tar.xz";
-      sha256 = "1x2mci8bnwpfcccc9ps7aaqpmg7yzc37hdr13vaqy71i8qkf7a76";
-      name = "kwrited-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/kwrited-5.27.10.tar.xz";
+      sha256 = "0haddznfis4fhz7nkjpqakxwk4zh50q7g578ksng17gbd2x9x8as";
+      name = "kwrited-5.27.10.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/layer-shell-qt-5.27.9.tar.xz";
-      sha256 = "0vw8cvp27is951dlzfzwkrx7l6480wdxsdfp16ihsa34yzcpw837";
-      name = "layer-shell-qt-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/layer-shell-qt-5.27.10.tar.xz";
+      sha256 = "1hn3sjimplsbl5afid0rwj08qqydb8hl6lyzhv0k6c0l5b7q1v8a";
+      name = "layer-shell-qt-5.27.10.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/libkscreen-5.27.9.tar.xz";
-      sha256 = "0awvqchf48027f1zfl4n0llavl6nfnp30jvg7sx9anvzx6jb4ggs";
-      name = "libkscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/libkscreen-5.27.10.tar.xz";
+      sha256 = "167z7bgqzjclqvcqiplgnpjxscl8m6fznly3c2spzg19i449zx97";
+      name = "libkscreen-5.27.10.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/libksysguard-5.27.9.tar.xz";
-      sha256 = "0xi1fb1irp9nxnnqgqwhdza5rf6bw2hpqlz5l0mwipd0xdgarx3h";
-      name = "libksysguard-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/libksysguard-5.27.10.tar.xz";
+      sha256 = "1r9wzx0r1m3m2gb9k4xgwra84vc05lxyjilcns8j69yb52q37z0p";
+      name = "libksysguard-5.27.10.tar.xz";
     };
   };
   milou = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/milou-5.27.9.tar.xz";
-      sha256 = "1y2si9gpmj363asvqd2iil14fwzmdd66f1fpsig05w1680dc35p8";
-      name = "milou-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/milou-5.27.10.tar.xz";
+      sha256 = "1hqa25grsdmwr1y3fra6k09czrd6iagf9fqq85cxz6yc2s5xs6bw";
+      name = "milou-5.27.10.tar.xz";
     };
   };
   oxygen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/oxygen-5.27.9.tar.xz";
-      sha256 = "0wx96v6v65yjal1x2c25adp3hnfrmsd2r1m5fzicfcbdk33yn834";
-      name = "oxygen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/oxygen-5.27.10.tar.xz";
+      sha256 = "02q95nx0706p9zhzbvx89ssk20mv7cizvqf0kyavn4gfwpizc5jv";
+      name = "oxygen-5.27.10.tar.xz";
     };
   };
   oxygen-sounds = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/oxygen-sounds-5.27.9.tar.xz";
-      sha256 = "0n9plr4xs6wl4v4qm71mxbvgl22cz5c5523bjv5mv5jgvp5wpzg1";
-      name = "oxygen-sounds-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/oxygen-sounds-5.27.10.tar.xz";
+      sha256 = "0py37frx59f3c4dxv3llsxky1cb03ynyqfphdx3ndsgfma8g1893";
+      name = "oxygen-sounds-5.27.10.tar.xz";
     };
   };
   plank-player = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plank-player-5.27.9.tar.xz";
-      sha256 = "0vfmab3fab7izz43j6hssly001sp773swc53xf6z4dx0j210zb3d";
-      name = "plank-player-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plank-player-5.27.10.tar.xz";
+      sha256 = "04idirgwrgys6p4b6l86z46lxjw9m1chi3fhp9yk4s52grdwx3ib";
+      name = "plank-player-5.27.10.tar.xz";
     };
   };
   plasma-bigscreen = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-bigscreen-5.27.9.tar.xz";
-      sha256 = "14dq3smb8rnpazr8mjs034gg9fidzj08nyggkqqwjiq774khv4wb";
-      name = "plasma-bigscreen-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-bigscreen-5.27.10.tar.xz";
+      sha256 = "06420vpfjjg5zy21r6l6vdj2vs37aqy02hw351n5q3l2kc3snc9p";
+      name = "plasma-bigscreen-5.27.10.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-browser-integration-5.27.9.tar.xz";
-      sha256 = "1d9f6fppaqxiwxixxngsvpawx2zbdnj9mwl47x107axnc7gn6355";
-      name = "plasma-browser-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-browser-integration-5.27.10.tar.xz";
+      sha256 = "1kncrxz08w9fvvl2ag3gk3iw1gwbwm5kpc23iq6fypfjk6pbwzd1";
+      name = "plasma-browser-integration-5.27.10.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-desktop-5.27.9.tar.xz";
-      sha256 = "1rgjq7sla2x0icphaph2682k67n89znlyhp9nw95p8czpyqgbmkd";
-      name = "plasma-desktop-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-desktop-5.27.10.tar.xz";
+      sha256 = "17yhrz4i7d52ywgjcmcwbmgr67f8lyph72lrhlys4kfk474my0fy";
+      name = "plasma-desktop-5.27.10.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-disks-5.27.9.tar.xz";
-      sha256 = "0ikz5wv5429bc5i1ms8bdgmkm6x0f3jhs79ry8x2xq9q8f9cdraw";
-      name = "plasma-disks-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-disks-5.27.10.tar.xz";
+      sha256 = "0ysqaky2bv7yk76swkrvyqcv2y41xr4m9b61bn5cj5lzb8a4v3qy";
+      name = "plasma-disks-5.27.10.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-firewall-5.27.9.tar.xz";
-      sha256 = "0mkkz6n7yi382lm5hsgn5pwi8dxz4csmry5jvrscmhg9azcwghpr";
-      name = "plasma-firewall-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-firewall-5.27.10.tar.xz";
+      sha256 = "1k443ikbnny7xpi52xmbfnl5iy8alx7jnrx9grb6wlwghh06lnkm";
+      name = "plasma-firewall-5.27.10.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-integration-5.27.9.tar.xz";
-      sha256 = "1csx7sr9ilr2q5mm6qar945srqm6qak95g9x02g70pyl6d58fajq";
-      name = "plasma-integration-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-integration-5.27.10.tar.xz";
+      sha256 = "1fzz581pfdzli62riw7mnfhqdp5pp929rkdw9g6il1c6hlgciwim";
+      name = "plasma-integration-5.27.10.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-mobile-5.27.9.tar.xz";
-      sha256 = "095fjn91zcipkh2blwjs70ff39yfrmh73ny2h6f2djkhgnr1xng0";
-      name = "plasma-mobile-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-mobile-5.27.10.tar.xz";
+      sha256 = "0bjv890m9pf5f8zynhjnhhc3dbd5iz5fvhrsa7jjgds8v26gza1c";
+      name = "plasma-mobile-5.27.10.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-nano-5.27.9.tar.xz";
-      sha256 = "1g3dyqwx05506mgq3v7n9n1j5dlnhf7lbb8kbk7whk8lfjc468n6";
-      name = "plasma-nano-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-nano-5.27.10.tar.xz";
+      sha256 = "170w5vf91dr8l3m6jljwrm1xlzha8nxixwnh9ic0j4kyy8dirxjb";
+      name = "plasma-nano-5.27.10.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-nm-5.27.9.tar.xz";
-      sha256 = "0k2qxyf09k3nk2n2dyg7a1xwx45r7m72nz0azvidlpy0v1j64g1a";
-      name = "plasma-nm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-nm-5.27.10.tar.xz";
+      sha256 = "1c6wngqmvdqkypifi5p0s0ax092wagiw6f7la3ipq4sfcakx6pdp";
+      name = "plasma-nm-5.27.10.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-pa-5.27.9.tar.xz";
-      sha256 = "07am1kk6sj9kr5vl2333lnlh3xjd8f7wkww7ra6vjif21wy7gm94";
-      name = "plasma-pa-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-pa-5.27.10.tar.xz";
+      sha256 = "021zdcqrhwmdkklzlv8hlnykycv2zfcwxn3qwviqf9a7y513fw8d";
+      name = "plasma-pa-5.27.10.tar.xz";
     };
   };
   plasma-remotecontrollers = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-remotecontrollers-5.27.9.tar.xz";
-      sha256 = "10zk35yrzpzkjw6a1g7mlr6w0nsi33h1hzrwqsvsqyac5j0yi25y";
-      name = "plasma-remotecontrollers-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-remotecontrollers-5.27.10.tar.xz";
+      sha256 = "0wzly5r4bhl1m661hww98008fpbgmz9ymsndj426xf3wnkgjc12i";
+      name = "plasma-remotecontrollers-5.27.10.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-sdk-5.27.9.tar.xz";
-      sha256 = "10rshr3d618gis6spi93zj5q012jhi9mm3ixgbvbxvhlzp8k0b3x";
-      name = "plasma-sdk-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-sdk-5.27.10.tar.xz";
+      sha256 = "08q1d74iqkg7aa1pvvk7p0gl4a8y6c0hf15kxlk032na1qfymagf";
+      name = "plasma-sdk-5.27.10.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-systemmonitor-5.27.9.tar.xz";
-      sha256 = "1c9lyzfx21033335160j3cndkv19icm1lf9nnn88f7gz0zhkz73c";
-      name = "plasma-systemmonitor-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-systemmonitor-5.27.10.tar.xz";
+      sha256 = "03laxgby4ms7rzxv96z0anqzh44vh88qn9g81gny2axljxbp18b4";
+      name = "plasma-systemmonitor-5.27.10.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-thunderbolt-5.27.9.tar.xz";
-      sha256 = "0rbmj0b0ckyaz5sqrrzxp4n049asb5hxyap0lslhg9js2vjdk239";
-      name = "plasma-thunderbolt-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-thunderbolt-5.27.10.tar.xz";
+      sha256 = "15k161q4qvx7zg9303074grc10z95q0137lk76mqqg9prgjmw92d";
+      name = "plasma-thunderbolt-5.27.10.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-vault-5.27.9.tar.xz";
-      sha256 = "1p6wdvqprr3bfia0lchvmk8c5ii3c629c9c8qy2r4c0xy3l0f42i";
-      name = "plasma-vault-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-vault-5.27.10.tar.xz";
+      sha256 = "0nqss7ijlamjzxycs5m8vsq61fxzhfk4wky1zv43ymdcc5bd1wbm";
+      name = "plasma-vault-5.27.10.tar.xz";
     };
   };
   plasma-welcome = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-welcome-5.27.9.tar.xz";
-      sha256 = "1la7sb1ar06x79p80fh1qa09r3qd1gk53f3acr5az5k7gmjhpi1n";
-      name = "plasma-welcome-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-welcome-5.27.10.tar.xz";
+      sha256 = "008wga32j5f7cmwabxvlc3dzfj17fa0wkfj8dbvfd2gv34sf08w4";
+      name = "plasma-welcome-5.27.10.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.27.9.1";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-5.27.9.1.tar.xz";
-      sha256 = "8d00b691cfbb4d7218f97d0c68a677f41cba6eaf18e8fe29976c92d3718201b8";
-      name = "plasma-workspace-5.27.9.1.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-5.27.10.tar.xz";
+      sha256 = "0y4p6lk481byracfhvvqf7bbk13isl9m1zsl7prk0rqsqrjc2paj";
+      name = "plasma-workspace-5.27.10.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plasma-workspace-wallpapers-5.27.9.tar.xz";
-      sha256 = "1gkk4ihpqbyfq394n1dhfkwrdfhnrvkgqbfp7xba82iygcx3zcwf";
-      name = "plasma-workspace-wallpapers-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-wallpapers-5.27.10.tar.xz";
+      sha256 = "1l345rzg626krmriz54j480lh9zza7liq6bfz7vmifck558jv1l2";
+      name = "plasma-workspace-wallpapers-5.27.10.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/plymouth-kcm-5.27.9.tar.xz";
-      sha256 = "15cximix1cajylbb0c14q2rz1573kiby7c4h9iysap3ask7g633b";
-      name = "plymouth-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/plymouth-kcm-5.27.10.tar.xz";
+      sha256 = "10p6ikppr1vzafx2qvb4pmzkgpja2bnqp60np46q1nnajgng4w3z";
+      name = "plymouth-kcm-5.27.10.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.27.9";
+    version = "1-5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/polkit-kde-agent-1-5.27.9.tar.xz";
-      sha256 = "14h883ghn22xpjwbdld168m59zdmd6i5a7p6gszv2c6y3lpw3f03";
-      name = "polkit-kde-agent-1-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/polkit-kde-agent-1-5.27.10.tar.xz";
+      sha256 = "1nwbiwwz5x1h4xhx021izrm685pq5bh9mi5v85x32s74hlkjm5d3";
+      name = "polkit-kde-agent-1-5.27.10.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/powerdevil-5.27.9.tar.xz";
-      sha256 = "1x78cjlkiz6jl79jhcd3l04glpxzsqbb6rhw1f5az7i3ywc2qh7f";
-      name = "powerdevil-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/powerdevil-5.27.10.tar.xz";
+      sha256 = "1wf89sh8b7v6hhjkr8vf2q7qm3anv24n20n8wdh21pc0k30a7h86";
+      name = "powerdevil-5.27.10.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/qqc2-breeze-style-5.27.9.tar.xz";
-      sha256 = "1allsvr51si8v5b4xvzhpms3i4446vr9a9cfwhg72ll8ssfa46ld";
-      name = "qqc2-breeze-style-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/qqc2-breeze-style-5.27.10.tar.xz";
+      sha256 = "0fwbgfm8n79zslmm4ww177zlk7gjklhyj1h71kzmdb7p32z6z2ix";
+      name = "qqc2-breeze-style-5.27.10.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/sddm-kcm-5.27.9.tar.xz";
-      sha256 = "0s5swqzmvb3hxsn66r99r70ha2gx9913c5vlffv1mawf5p2pzvk1";
-      name = "sddm-kcm-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/sddm-kcm-5.27.10.tar.xz";
+      sha256 = "1bgljl6ybm7bgz2brv2a6nq81nyv2fwrnd0psv2v5mw3pxvk3r43";
+      name = "sddm-kcm-5.27.10.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/systemsettings-5.27.9.tar.xz";
-      sha256 = "0q9qy7i1ndf0pw2irf15l9mvc451s0gwz7hx0wjf5kjppwx2z9ab";
-      name = "systemsettings-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/systemsettings-5.27.10.tar.xz";
+      sha256 = "0f8dhqnbix813fkwa03mzsfr0wsfmgb6kbgai63wv9g3rgr4fk5g";
+      name = "systemsettings-5.27.10.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.27.9";
+    version = "5.27.10";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.9/xdg-desktop-portal-kde-5.27.9.tar.xz";
-      sha256 = "1i2xqks1lx68rf79j67mzibsya43288sf0sl6azhwc14cw15xcdb";
-      name = "xdg-desktop-portal-kde-5.27.9.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.10/xdg-desktop-portal-kde-5.27.10.tar.xz";
+      sha256 = "0azggffvjxzxs3qibfdv9y5aslxgfrrb1qcjh9r96wp2qgq1ywxx";
+      name = "xdg-desktop-portal-kde-5.27.10.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 113d8b18f26a9..f138d84189666 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -14,10 +14,10 @@
 mkXfceDerivation rec {
   category = "panel-plugins";
   pname  = "xfce4-cpugraph-plugin";
-  version = "1.2.8";
+  version = "1.2.10";
   rev-prefix = "xfce4-cpugraph-plugin-";
   odd-unstable = false;
-  sha256 = "sha256-GNoODnw9Z9MTlvxCOTeZt61A/0AGhMwjrRGdM35XU+M=";
+  sha256 = "sha256-VPelWTtFHmU4ZgWLTzZKbtmQ4LOtVwJvpLG9rHtGoNs=";
 
   buildInputs = [
     exo
diff --git a/pkgs/development/compilers/cudatoolkit/extension.nix b/pkgs/development/compilers/cudatoolkit/extension.nix
index 93800a0dbc6b1..d75d288f5577e 100644
--- a/pkgs/development/compilers/cudatoolkit/extension.nix
+++ b/pkgs/development/compilers/cudatoolkit/extension.nix
@@ -54,11 +54,28 @@ final: prev: let
         {
           name = "setup-cuda-hook";
 
+          # Point NVCC at a compatible compiler
           substitutions.ccRoot = "${backendStdenv.cc}";
 
           # Required in addition to ccRoot as otherwise bin/gcc is looked up
           # when building CMakeCUDACompilerId.cu
           substitutions.ccFullPath = "${backendStdenv.cc}/bin/${backendStdenv.cc.targetPrefix}c++";
+
+          # Required by cmake's enable_language(CUDA) to build a test program
+          # When implementing cross-compilation support: this is
+          # final.pkgs.targetPackages.cudaPackages.cuda_cudart
+          # Given the multiple-outputs each CUDA redist has, we can specify the exact components we
+          # need from the package. CMake requires:
+          # - the cuda_runtime.h header, which is in the dev output
+          # - the dynamic library, which is in the lib output
+          # - the static library, which is in the static output
+          substitutions.cudartFlags = let cudart = final.cuda_cudart; in
+            builtins.concatStringsSep " " (final.lib.optionals (final ? cuda_cudart) ([
+              "-I${final.lib.getDev cudart}/include"
+              "-L${final.lib.getLib cudart}/lib"
+            ] ++ final.lib.optionals (builtins.elem "static" cudart.outputs) [
+              "-L${cudart.static}/lib"
+            ]));
         }
         ./hooks/setup-cuda-hook.sh)
     { });
diff --git a/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh b/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh
index 5ea57594211c4..0fa8883081c50 100644
--- a/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh
+++ b/pkgs/development/compilers/cudatoolkit/hooks/setup-cuda-hook.sh
@@ -1,5 +1,8 @@
 # shellcheck shell=bash
 
+# Only run the hook from nativeBuildInputs
+(( "$hostOffset" == -1 && "$targetOffset" == 0)) || return 0
+
 echo Sourcing setup-cuda-hook >&2
 
 extendCUDAToolkit_ROOT() {
@@ -55,8 +58,9 @@ setupCUDAToolkitCompilers() {
 
     # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
     # CUDAToolkit_ROOT. We have to help it locate libcudart
-    if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then
-        export NVCC_APPEND_FLAGS+=" -L@cudartLib@/lib -L@cudartStatic@/lib -I@cudartInclude@/include"
+    local cudartFlags="@cudartFlags@"
+    if [[ -z "${nvccDontPrependCudartFlags-}" ]] && [[ -n "${cudartFlags:-}" ]] ; then
+        export NVCC_APPEND_FLAGS+=" $cudartFlags"
     fi
 }
 
diff --git a/pkgs/development/compilers/cudatoolkit/redist/overrides.nix b/pkgs/development/compilers/cudatoolkit/redist/overrides.nix
index a0ac0b0fcb1fb..71e70e8d7b704 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/overrides.nix
+++ b/pkgs/development/compilers/cudatoolkit/redist/overrides.nix
@@ -51,37 +51,14 @@ in
     ]
   );
 
-  cuda_nvcc = prev.cuda_nvcc.overrideAttrs (_: {
-    # Required by cmake's enable_language(CUDA) to build a test program
-    # When implementing cross-compilation support: this is
-    # final.pkgs.targetPackages.cudaPackages.cuda_cudart
-    env = {
-      # Given the multiple-outputs each CUDA redist has, we can specify the exact components we
-      # need from the package. CMake requires:
-      # - the cuda_runtime.h header, which is in the dev output
-      # - the dynamic library, which is in the lib output
-      # - the static library, which is in the static output
-      cudartInclude = "${final.cuda_cudart.dev}";
-      cudartLib = "${final.cuda_cudart.lib}";
-      cudartStatic = "${final.cuda_cudart.static}";
-    };
-
-    # Point NVCC at a compatible compiler
-
-    # Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to
-    # nativeBuildInputs (offsets `(-1, 0)`), magma should also source the
-    # setupCudaHook, i.e. we want it the hook to be propagated into the
-    # same nativeBuildInputs.
-    #
-    # Logically, cuda_nvcc should include the hook in depsHostHostPropagated,
-    # so that the final offsets for the propagated hook would be `(-1, 0) +
-    # (0, 0) = (-1, 0)`.
-    #
-    # In practice, TargetTarget appears to work:
-    # https://gist.github.com/fd80ff142cd25e64603618a3700e7f82
-    depsTargetTargetPropagated = [
+  cuda_nvcc = prev.cuda_nvcc.overrideAttrs (oldAttrs: {
+    propagatedBuildInputs = [
       final.setupCudaHook
     ];
+
+    meta = (oldAttrs.meta or { }) // {
+      mainProgram = "nvcc";
+    };
   });
 
   cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: {
diff --git a/pkgs/development/compilers/cudatoolkit/saxpy/default.nix b/pkgs/development/compilers/cudatoolkit/saxpy/default.nix
index f347b43d1d11c..2da6da29004dc 100644
--- a/pkgs/development/compilers/cudatoolkit/saxpy/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/saxpy/default.nix
@@ -1,12 +1,13 @@
 { autoAddOpenGLRunpathHook
 , backendStdenv
 , cmake
-, cuda_cccl
-, cuda_cudart
+, cuda_cccl ? null
+, cuda_cudart ? null
 , cudaFlags
-, cuda_nvcc
+, cuda_nvcc ? null
+, cudatoolkit ? null
 , lib
-, libcublas
+, libcublas ? null
 , setupCudaHook
 , stdenv
 }:
@@ -17,23 +18,24 @@ backendStdenv.mkDerivation {
 
   src = ./.;
 
-  buildInputs = [
+  buildInputs = lib.optionals (cuda_cudart != null) [
     libcublas
     cuda_cudart
     cuda_cccl
+  ] ++ lib.optionals (cuda_cudart == null) [
+    cudatoolkit
   ];
   nativeBuildInputs = [
     cmake
 
-    # NOTE: this needs to be pkgs.buildPackages.cudaPackages_XX_Y.cuda_nvcc for
-    # cross-compilation to work. This should work automatically once we move to
-    # spliced scopes. Delete this comment once that happens
-    cuda_nvcc
-
     # Alternatively, we could remove the propagated hook from cuda_nvcc and add
     # directly:
     # setupCudaHook
     autoAddOpenGLRunpathHook
+  ] ++ lib.optionals (cuda_nvcc != null) [
+    cuda_nvcc
+  ] ++ lib.optionals (cuda_nvcc == null) [
+    cudatoolkit
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch b/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch
deleted file mode 100644
index f9adbe9eb1ca5..0000000000000
--- a/pkgs/development/compilers/gcc/patches/6/fix-objdump-check.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-commit 4c38abe0967bad78dd6baa61c86923e4d4b346d3
-Author: Ben Gamari <ben@smart-cactus.org>
-Date:   Sun Nov 5 13:14:19 2017 -0500
-
-    Fix it
-
-diff --git a/config/gcc-plugin.m4 b/config/gcc-plugin.m4
-index dd06a58..f4435b8 100644
---- a/config/gcc-plugin.m4
-+++ b/config/gcc-plugin.m4
-@@ -13,6 +13,32 @@ dnl the same distribution terms as the rest of that program.
- # Sets the shell variables enable_plugin and pluginlibs.
- AC_DEFUN([GCC_ENABLE_PLUGINS],
-   [# Check for plugin support
-+
-+   # Figure out what objdump we will be using.
-+   AS_VAR_SET_IF(gcc_cv_objdump,, [
-+   if test -f $gcc_cv_binutils_srcdir/configure.ac \
-+        && test -f ../binutils/Makefile \
-+        && test x$build = x$host; then
-+   	# Single tree build which includes binutils.
-+   	gcc_cv_objdump=../binutils/objdump$build_exeext
-+   elif test -x objdump$build_exeext; then
-+   	gcc_cv_objdump=./objdump$build_exeext
-+   elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then
-+           gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
-+   else
-+           AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
-+   fi])
-+   
-+   AC_MSG_CHECKING(what objdump to use)
-+   if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
-+   	# Single tree build which includes binutils.
-+   	AC_MSG_RESULT(newly built objdump)
-+   elif test x$gcc_cv_objdump = x; then
-+   	AC_MSG_RESULT(not found)
-+   else
-+   	AC_MSG_RESULT($gcc_cv_objdump)
-+   fi
-+
-    AC_ARG_ENABLE(plugin,
-    [AS_HELP_STRING([--enable-plugin], [enable plugin support])],
-    enable_plugin=$enableval,
diff --git a/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch b/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch
deleted file mode 100644
index 17a4e0a2447b3..0000000000000
--- a/pkgs/development/compilers/gcc/patches/9/avoid-cycling-subreg-reloads.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From 6001db79c477b03eacc7e7049560921fb54b7845 Mon Sep 17 00:00:00 2001
-From: Richard Sandiford <richard.sandiford@arm.com>
-Date: Mon, 7 Sep 2020 20:15:36 +0100
-Subject: [PATCH] lra: Avoid cycling on certain subreg reloads [PR96796]
-
-This PR is about LRA cycling for a reload of the form:
-
-----------------------------------------------------------------------------
-Changing pseudo 196 in operand 1 of insn 103 on equiv [r105:DI*0x8+r140:DI]
-      Creating newreg=287, assigning class ALL_REGS to slow/invalid mem r287
-      Creating newreg=288, assigning class ALL_REGS to slow/invalid mem r288
-  103: r203:SI=r288:SI<<0x1+r196:DI#0
-      REG_DEAD r196:DI
-    Inserting slow/invalid mem reload before:
-  316: r287:DI=[r105:DI*0x8+r140:DI]
-  317: r288:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-The problem is with r287.  We rightly give it a broad starting class of
-POINTER_AND_FP_REGS (reduced from ALL_REGS by preferred_reload_class).
-However, we never make forward progress towards narrowing it down to
-a specific choice of class (POINTER_REGS or FP_REGS).
-
-I think in practice we rely on two things to narrow a reload pseudo's
-class down to a specific choice:
-
-(1) a restricted class is specified when the pseudo is created
-
-    This happens for input address reloads, where the class is taken
-    from the target's chosen base register class.  It also happens
-    for simple REG reloads, where the class is taken from the chosen
-    alternative's constraints.
-
-(2) uses of the reload pseudo as a direct input operand
-
-    In this case get_reload_reg tries to reuse the existing register
-    and narrow its class, instead of creating a new reload pseudo.
-
-However, neither occurs here.  As described above, r287 rightly
-starts out with a wide choice of class, ultimately derived from
-ALL_REGS, so we don't get (1).  And as the comments in the PR
-explain, r287 is never used as an input reload, only the subreg is,
-so we don't get (2):
-
-----------------------------------------------------------------------------
-         Choosing alt 13 in insn 317:  (0) r  (1) w {*movsi_aarch64}
-      Creating newreg=291, assigning class FP_REGS to r291
-  317: r288:SI=r291:SI
-    Inserting insn reload before:
-  320: r291:SI=r287:DI#0
-----------------------------------------------------------------------------
-
-IMO, in this case we should rely on the reload of r316 to narrow
-down the class of r278.  Currently we do:
-
-----------------------------------------------------------------------------
-         Choosing alt 7 in insn 316:  (0) r  (1) m {*movdi_aarch64}
-      Creating newreg=289 from oldreg=287, assigning class GENERAL_REGS to r289
-  316: r289:DI=[r105:DI*0x8+r140:DI]
-    Inserting insn reload after:
-  318: r287:DI=r289:DI
----------------------------------------------------
-
-i.e. we create a new pseudo register r289 and give *that* pseudo
-GENERAL_REGS instead.  This is because get_reload_reg only narrows
-down the existing class for OP_IN and OP_INOUT, not OP_OUT.
-
-But if we have a reload pseudo in a reload instruction and have chosen
-a specific class for the reload pseudo, I think we should simply install
-it for OP_OUT reloads too, if the class is a subset of the existing class.
-We will need to pick such a register whatever happens (for r289 in the
-example above).  And as explained in the PR, doing this actually avoids
-an unnecessary move via the FP registers too.
-
-The patch is quite aggressive in that it does this for all reload
-pseudos in all reload instructions.  I wondered about reusing the
-condition for a reload move in in_class_p:
-
-          INSN_UID (curr_insn) >= new_insn_uid_start
-          && curr_insn_set != NULL
-          && ((OBJECT_P (SET_SRC (curr_insn_set))
-               && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-              || (GET_CODE (SET_SRC (curr_insn_set)) == SUBREG
-                  && OBJECT_P (SUBREG_REG (SET_SRC (curr_insn_set)))
-                  && ! CONSTANT_P (SUBREG_REG (SET_SRC (curr_insn_set)))))))
-
-but I can't really justify that on first principles.  I think we
-should apply the rule consistently until we have a specific reason
-for doing otherwise.
-
-gcc/
-	PR rtl-optimization/96796
-	* lra-constraints.c (in_class_p): Add a default-false
-	allow_all_reload_class_changes_p parameter.  Do not treat
-	reload moves specially when the parameter is true.
-	(get_reload_reg): Try to narrow the class of an existing OP_OUT
-	reload if we're reloading a reload pseudo in a reload instruction.
-
-gcc/testsuite/
-	PR rtl-optimization/96796
-	* gcc.c-torture/compile/pr96796.c: New test.
----
- gcc/lra-constraints.c                         | 54 ++++++++++++++----
- gcc/testsuite/gcc.c-torture/compile/pr96796.c | 55 +++++++++++++++++++
- 2 files changed, 99 insertions(+), 10 deletions(-)
- create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr96796.c
-
-diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
-index 580da9c3ed6..161b721efb1 100644
---- a/gcc/lra-constraints.c
-+++ b/gcc/lra-constraints.c
-@@ -236,12 +236,17 @@ get_reg_class (int regno)
-    CL.  Use elimination first if REG is a hard register.  If REG is a
-    reload pseudo created by this constraints pass, assume that it will
-    be allocated a hard register from its allocno class, but allow that
--   class to be narrowed to CL if it is currently a superset of CL.
-+   class to be narrowed to CL if it is currently a superset of CL and
-+   if either:
-+
-+   - ALLOW_ALL_RELOAD_CLASS_CHANGES_P is true or
-+   - the instruction we're processing is not a reload move.
- 
-    If NEW_CLASS is nonnull, set *NEW_CLASS to the new allocno class of
-    REGNO (reg), or NO_REGS if no change in its class was needed.  */
- static bool
--in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
-+in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class,
-+	    bool allow_all_reload_class_changes_p = false)
- {
-   enum reg_class rclass, common_class;
-   machine_mode reg_mode;
-@@ -266,7 +271,8 @@ in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
- 	 typically moves that have many alternatives, and restricting
- 	 reload pseudos for one alternative may lead to situations
- 	 where other reload pseudos are no longer allocatable.  */
--      || (INSN_UID (curr_insn) >= new_insn_uid_start
-+      || (!allow_all_reload_class_changes_p
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
- 	  && curr_insn_set != NULL
- 	  && ((OBJECT_P (SET_SRC (curr_insn_set))
- 	       && ! CONSTANT_P (SET_SRC (curr_insn_set)))
-@@ -598,13 +604,12 @@ canonicalize_reload_addr (rtx addr)
-   return addr;
- }
- 
--/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse already
--   created input reload pseudo (only if TYPE is not OP_OUT).  Don't
--   reuse pseudo if IN_SUBREG_P is true and the reused pseudo should be
--   wrapped up in SUBREG.  The result pseudo is returned through
--   RESULT_REG.  Return TRUE if we created a new pseudo, FALSE if we
--   reused the already created input reload pseudo.  Use TITLE to
--   describe new registers for debug purposes.  */
-+/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse an existing
-+   reload pseudo.  Don't reuse an existing reload pseudo if IN_SUBREG_P
-+   is true and the reused pseudo should be wrapped up in a SUBREG.
-+   The result pseudo is returned through RESULT_REG.  Return TRUE if we
-+   created a new pseudo, FALSE if we reused an existing reload pseudo.
-+   Use TITLE to describe new registers for debug purposes.  */
- static bool
- get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 		enum reg_class rclass, bool in_subreg_p,
-@@ -616,6 +621,35 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original,
- 
-   if (type == OP_OUT)
-     {
-+      /* Output reload registers tend to start out with a conservative
-+	 choice of register class.  Usually this is ALL_REGS, although
-+	 a target might narrow it (for performance reasons) through
-+	 targetm.preferred_reload_class.  It's therefore quite common
-+	 for a reload instruction to require a more restrictive class
-+	 than the class that was originally assigned to the reload register.
-+
-+	 In these situations, it's more efficient to refine the choice
-+	 of register class rather than create a second reload register.
-+	 This also helps to avoid cycling for registers that are only
-+	 used by reload instructions.  */
-+      if (REG_P (original)
-+	  && (int) REGNO (original) >= new_regno_start
-+	  && INSN_UID (curr_insn) >= new_insn_uid_start
-+	  && in_class_p (original, rclass, &new_class, true))
-+	{
-+	  unsigned int regno = REGNO (original);
-+	  if (lra_dump_file != NULL)
-+	    {
-+	      fprintf (lra_dump_file, "	 Reuse r%d for output ", regno);
-+	      dump_value_slim (lra_dump_file, original, 1);
-+	    }
-+	  if (new_class != lra_get_allocno_class (regno))
-+	    lra_change_class (regno, new_class, ", change to", false);
-+	  if (lra_dump_file != NULL)
-+	    fprintf (lra_dump_file, "\n");
-+	  *result_reg = original;
-+	  return false;
-+	}
-       *result_reg
- 	= lra_create_new_reg_with_unique_value (mode, original, rclass, title);
-       return true;
-diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96796.c b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-new file mode 100644
-index 00000000000..8808e62fe77
---- /dev/null
-+++ b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
-@@ -0,0 +1,55 @@
-+/* { dg-additional-options "-fcommon" } */
-+
-+struct S0 {
-+  signed f0 : 8;
-+  unsigned f1;
-+  unsigned f4;
-+};
-+struct S1 {
-+  long f3;
-+  char f4;
-+} g_3_4;
-+
-+int g_5, func_1_l_32, func_50___trans_tmp_31;
-+static struct S0 g_144, g_834, g_1255, g_1261;
-+
-+int g_273[120] = {};
-+int *g_555;
-+char **g_979;
-+static int g_1092_0;
-+static int g_1193;
-+int safe_mul_func_int16_t_s_s(int si1, int si2) { return si1 * si2; }
-+static struct S0 *func_50();
-+int func_1() { func_50(g_3_4, g_5, func_1_l_32, 8, 3); }
-+void safe_div_func_int64_t_s_s(int *);
-+void safe_mod_func_uint32_t_u_u(struct S0);
-+struct S0 *func_50(int p_51, struct S0 p_52, struct S1 p_53, int p_54,
-+                   int p_55) {
-+  int __trans_tmp_30;
-+  char __trans_tmp_22;
-+  short __trans_tmp_19;
-+  long l_985_1;
-+  long l_1191[8];
-+  safe_div_func_int64_t_s_s(g_273);
-+  __builtin_printf((char*)g_1261.f4);
-+  safe_mod_func_uint32_t_u_u(g_834);
-+  g_144.f0 += 1;
-+  for (;;) {
-+    struct S1 l_1350 = {&l_1350};
-+    for (; p_53.f3; p_53.f3 -= 1)
-+      for (; g_1193 <= 2; g_1193 += 1) {
-+        __trans_tmp_19 = safe_mul_func_int16_t_s_s(l_1191[l_985_1 + p_53.f3],
-+                                                   p_55 % (**g_979 = 10));
-+        __trans_tmp_22 = g_1255.f1 * p_53.f4;
-+        __trans_tmp_30 = __trans_tmp_19 + __trans_tmp_22;
-+        if (__trans_tmp_30)
-+          g_1261.f0 = p_51;
-+        else {
-+          g_1255.f0 = p_53.f3;
-+          int *l_1422 = g_834.f0 = g_144.f4 != (*l_1422)++ > 0 < 0 ^ 51;
-+          g_555 = ~0;
-+          g_1092_0 |= func_50___trans_tmp_31;
-+        }
-+      }
-+  }
-+}
--- 
-2.18.4
-
diff --git a/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch b/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch
deleted file mode 100644
index 1aea1f9b18a14..0000000000000
--- a/pkgs/development/compilers/gcc/patches/9/gcc9-asan-glibc-2.34.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3d0135bf3be416bbe2531dc763d19b749eb2b856 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Sat, 17 Apr 2021 11:27:14 +0200
-Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
-
-As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
-glibc 2.34 and later, so
-static const uptr kAltStackSize = SIGSTKSZ * 4;
-needs dynamic initialization, but is used by a function called indirectly
-from .preinit_array and therefore before the variable is constructed.
-This results in using 0 size instead and all asan instrumented programs
-die with:
-==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
-
-Here is a cherry-pick from upstream to fix this.
-
-2021-04-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/100114
-	* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
-	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
-	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
-
-(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
----
- .../sanitizer_common/sanitizer_posix_libcdep.cc     | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-index d2fd76a6d36..1917e29ced2 100644
---- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
-@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
- 
- #if !SANITIZER_GO
- // TODO(glider): different tools may require different altstack size.
--static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
-+static uptr GetAltStackSize() {
-+  // SIGSTKSZ is not enough.
-+  static const uptr kAltStackSize = SIGSTKSZ * 4;
-+  return kAltStackSize;
-+}
- 
- void SetAlternateSignalStack() {
-   stack_t altstack, oldstack;
-@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
-   // TODO(glider): the mapped stack should have the MAP_STACK flag in the
-   // future. It is not required by man 2 sigaltstack now (they're using
-   // malloc()).
--  void* base = MmapOrDie(kAltStackSize, __func__);
--  altstack.ss_sp = (char*) base;
-+  altstack.ss_size = GetAltStackSize();
-+  altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
-   altstack.ss_flags = 0;
--  altstack.ss_size = kAltStackSize;
-   CHECK_EQ(0, sigaltstack(&altstack, nullptr));
- }
- 
-@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
-   stack_t altstack, oldstack;
-   altstack.ss_sp = nullptr;
-   altstack.ss_flags = SS_DISABLE;
--  altstack.ss_size = kAltStackSize;  // Some sane value required on Darwin.
-+  altstack.ss_size = GetAltStackSize();  // Some sane value required on Darwin.
-   CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
-   UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
- }
--- 
-2.27.0
-
diff --git a/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch b/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch
deleted file mode 100644
index e2155cd0c982d..0000000000000
--- a/pkgs/development/compilers/gcc/patches/libsanitizer-no-cyclades.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=2bf34b9f4e446bf9be7f04458058dd5319fb396e
-https://gcc.gnu.org/PR100379 
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -366,15 +366,6 @@ static void ioctl_table_fill() {
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
--  _(CYGETDEFTHRESH, WRITE, sizeof(int));
--  _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
--  _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
--  _(CYGETTHRESH, WRITE, sizeof(int));
--  _(CYGETTIMEOUT, WRITE, sizeof(int));
--  _(CYSETDEFTHRESH, NONE, 0);
--  _(CYSETDEFTIMEOUT, NONE, 0);
--  _(CYSETTHRESH, NONE, 0);
--  _(CYSETTIMEOUT, NONE, 0);
-   _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
-   _(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
-   _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t;
- # include <sys/procfs.h>
- #endif
- #include <sys/user.h>
--#include <linux/cyclades.h>
- #include <linux/if_eql.h>
- #include <linux/if_plip.h>
- #include <linux/lp.h>
-@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
--  unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
- #if EV_VERSION > (0x010000)
-   unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
- #else
-@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- #endif // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--  unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
--  unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
--  unsigned IOCTL_CYGETMON = CYGETMON;
--  unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
--  unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
--  unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
--  unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
--  unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
--  unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
-   unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
-   unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
-   unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz;
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- extern unsigned struct_ax25_parms_struct_sz;
--extern unsigned struct_cyclades_monitor_sz;
- extern unsigned struct_input_keymap_entry_sz;
- extern unsigned struct_ipx_config_data_sz;
- extern unsigned struct_kbdiacrs_sz;
-@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE;
- #endif  // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--extern unsigned IOCTL_CYGETDEFTHRESH;
--extern unsigned IOCTL_CYGETDEFTIMEOUT;
--extern unsigned IOCTL_CYGETMON;
--extern unsigned IOCTL_CYGETTHRESH;
--extern unsigned IOCTL_CYGETTIMEOUT;
--extern unsigned IOCTL_CYSETDEFTHRESH;
--extern unsigned IOCTL_CYSETDEFTIMEOUT;
--extern unsigned IOCTL_CYSETTHRESH;
--extern unsigned IOCTL_CYSETTIMEOUT;
- extern unsigned IOCTL_EQL_EMANCIPATE;
- extern unsigned IOCTL_EQL_ENSLAVE;
- extern unsigned IOCTL_EQL_GETMASTRCFG;
--- 
-2.33.0
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch b/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch
deleted file mode 100644
index 6e1ddb252c24c..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-sigaltstack.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 17 Jul 2017 19:41:08 +0000
-Subject: [PATCH] 	Backported from mainline 	2017-07-14  Jakub
- Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81066
-	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
-	* sanitizer_common/sanitizer_linux.cc: Likewise.
-	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
-	* tsan/tsan_platform_linux.cc: Likewise.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@250287 138bc75d-0d04-0410-961f-82ee72b054a4
----
- libsanitizer/ChangeLog  (REMOVED)                             | 11 +++++++++++
- libsanitizer/sanitizer_common/sanitizer_linux.cc              |  3 +--
- libsanitizer/sanitizer_common/sanitizer_linux.h               |  4 +---
- .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc  |  2 +-
- libsanitizer/tsan/tsan_platform_linux.cc                      |  2 +-
- 5 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-index 806fcd5..5b6f186 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
-@@ -605,8 +605,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
- }
- #endif
- 
--uptr internal_sigaltstack(const struct sigaltstack *ss,
--                         struct sigaltstack *oss) {
-+uptr internal_sigaltstack(const void *ss, void *oss) {
-   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
- }
- 
-diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
-index 895bfc1..a42df57 100644
---- a/libsanitizer/sanitizer_common/sanitizer_linux.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
-@@ -19,7 +19,6 @@
- #include "sanitizer_platform_limits_posix.h"
- 
- struct link_map;  // Opaque type returned by dlopen().
--struct sigaltstack;
- 
- namespace __sanitizer {
- // Dirent structure for getdents(). Note that this structure is different from
-@@ -28,8 +27,7 @@ struct linux_dirent;
- 
- // Syscall wrappers.
- uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
--uptr internal_sigaltstack(const struct sigaltstack* ss,
--                          struct sigaltstack* oss);
-+uptr internal_sigaltstack(const void* ss, void* oss);
- uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
-     __sanitizer_sigset_t *oldset);
- 
-diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-index 891386dc..234e8c6 100644
---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
-@@ -273,7 +273,7 @@ static int TracerThread(void* argument) {
- 
-   // Alternate stack for signal handling.
-   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
--  struct sigaltstack handler_stack;
-+  stack_t handler_stack;
-   internal_memset(&handler_stack, 0, sizeof(handler_stack));
-   handler_stack.ss_sp = handler_stack_memory.data();
-   handler_stack.ss_size = kHandlerStackSize;
-diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
-index 2ed5718..6f972ab 100644
---- a/libsanitizer/tsan/tsan_platform_linux.cc
-+++ b/libsanitizer/tsan/tsan_platform_linux.cc
-@@ -287,7 +287,7 @@ void InitializePlatform() {
- int ExtractResolvFDs(void *state, int *fds, int nfd) {
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
-   int cnt = 0;
--  __res_state *statp = (__res_state*)state;
-+  struct __res_state *statp = (struct __res_state*)state;
-   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
-     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
-       fds[cnt++] = statp->_u._ext.nssocks[i];
--- 
-2.9.3
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch b/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch
deleted file mode 100644
index a84e9ffe26811..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-ucontext-4.5.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-Trivally backported the upstream commit
-b685411208e0aaa79190d54faf945763514706b8
-(different directory, some files not present, etc.)
-We only really use x86* from those, probably, so I didn't bother much.
-diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
-index bdbba4a..e84812e 100644
---- a/gcc/config/alpha/linux-unwind.h
-+++ b/gcc/config/alpha/linux-unwind.h
-@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       sc = &rt_->uc.uc_mcontext;
-     }
-diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
-index 77b7c23..8bf5e82 100644
---- a/gcc/config/bfin/linux-unwind.h
-+++ b/gcc/config/bfin/linux-unwind.h
-@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
- 	void *puc;
- 	char retcode[8];
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
- 
-       /* The void * cast is necessary to avoid an aliasing warning.
-diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
-index 540a0a2..29efbe3 100644
---- a/gcc/config/i386/linux-unwind.h
-+++ b/gcc/config/i386/linux-unwind.h
-@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
-   if (*(unsigned char *)(pc+0) == 0x48
-       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
-     {
--      struct ucontext *uc_ = context->cfa;
-+      ucontext_t *uc_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-          because it does not alias anything.  */
-@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
- 	siginfo_t *pinfo;
- 	void *puc;
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-diff --git a/gcc/config/m68k/linux-unwind.h b/gcc/config/m68k/linux-unwind.h
-index 75b7cf7..f964e24 100644
---- a/gcc/config/m68k/linux-unwind.h
-+++ b/gcc/config/m68k/linux-unwind.h
-@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
- /* <sys/ucontext.h> is unfortunately broken right now.  */
- struct uw_ucontext {
- 	unsigned long	  uc_flags;
--	struct ucontext  *uc_link;
-+	ucontext_t	 *uc_link;
- 	stack_t		  uc_stack;
- 	mcontext_t	  uc_mcontext;
- 	unsigned long	  uc_filler[80];
-diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
-index 9a2657f..e47493d 100644
---- a/gcc/config/pa/linux-unwind.h
-+++ b/gcc/config/pa/linux-unwind.h
-@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
-   struct sigcontext *sc;
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *frame;
- 
-   /* rt_sigreturn trampoline:
-diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
-index e389cac..0bf43ba 100644
---- a/gcc/config/sh/linux-unwind.h
-+++ b/gcc/config/sh/linux-unwind.h
-@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
-     {
-       struct rt_sigframe {
- 	siginfo_t info;
--	struct ucontext uc;
-+	ucontext_t uc;
-       } *rt_ = context->cfa;
-       /* The void * cast is necessary to avoid an aliasing warning.
-          The aliasing warning is correct, but should not be a problem
-diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
-index 9872492..586a9d4 100644
---- a/gcc/config/xtensa/linux-unwind.h
-+++ b/gcc/config/xtensa/linux-unwind.h
-@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
- 
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *rt_;
- 
-   /* movi a2, __NR_rt_sigreturn; syscall */
--- 
-2.9.3
-
diff --git a/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch b/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch
deleted file mode 100644
index 3892a56954e08..0000000000000
--- a/pkgs/development/compilers/gcc/patches/struct-ucontext-libjava.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/libjava/include/x86_64-signal.h
-+++ a/libjava/include/x86_64-signal.h
-@@ -28,7 +28,7 @@
- #define HANDLE_DIVIDE_OVERFLOW						\
- do									\
- {									\
--  struct ucontext *_uc = (struct ucontext *)_p;				\
-+  ucontext_t *_uc = (ucontext_t *)_p;					\
-   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
-   unsigned char *_rip = (unsigned char *)_gregs[REG_RIP];		\
- 									\
---- a/libjava/include/i386-signal.h
-+++ a/libjava/include/i386-signal.h
-@@ -29,7 +29,7 @@
- #define HANDLE_DIVIDE_OVERFLOW						\
- do									\
- {									\
--  struct ucontext *_uc = (struct ucontext *)_p;				\
-+  ucontext_t *_uc = (ucontext_t *)_p;					\
-   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
-   unsigned char *_eip = (unsigned char *)_gregs[REG_EIP];		\
- 									\
---- a/libjava/include/s390-signal.h
-+++ a/libjava/include/s390-signal.h
-@@ -51,7 +51,7 @@
-   struct                                                                \
-   {                                                                     \
-     unsigned long int uc_flags;                                         \
--    struct ucontext *uc_link;                                           \
-+    ucontext_t *uc_link;                                                \
-     stack_t uc_stack;                                                   \
-     mcontext_t uc_mcontext;                                             \
-     unsigned long sigmask[2];                                           \
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 833c0db468a79..d981a1faf62d9 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -77,13 +77,13 @@ let
 
 in stdenv.mkDerivation (finalAttrs: {
   pname   = "yosys";
-  version = "0.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
     rev   = "refs/tags/${finalAttrs.pname}-${finalAttrs.version}";
-    hash  = "sha256-jB8y7XGDX9rVF6c4FSTLOyvsxPhdjU8Taj6MQeoU4KQ=";
+    hash  = "sha256-jcaXn77OuKeC3AQTicILP3ABkJ3qBccM+uGbj1wn2Vw=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/yosys/fix-clang-build.patch b/pkgs/development/compilers/yosys/fix-clang-build.patch
index e81ddefcd9cc0..2581f0abab9b1 100644
--- a/pkgs/development/compilers/yosys/fix-clang-build.patch
+++ b/pkgs/development/compilers/yosys/fix-clang-build.patch
@@ -19,8 +19,8 @@ index 914a72347..bc0b129d2 100644
  	local subtest=$1; shift
  
  	../../yosys -p "read_verilog ${subtest}.v; proc; clean; write_cxxrtl -print-output std::cerr yosys-${subtest}.cc"
--	${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++
-+	${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../.. ${subtest}_tb.cc -lstdc++
+-	${CC:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
++	${CXX:-gcc} -std=c++11 -o yosys-${subtest} -I../../backends/cxxrtl/runtime ${subtest}_tb.cc -lstdc++
  	./yosys-${subtest} 2>yosys-${subtest}.log
  	iverilog -o iverilog-${subtest} ${subtest}.v ${subtest}_tb.v
  	./iverilog-${subtest} |grep -v '\$finish called' >iverilog-${subtest}.log
@@ -28,8 +28,8 @@ index 914a72347..bc0b129d2 100644
  
  ../../yosys -p "read_verilog display_lm.v" >yosys-display_lm.log
  ../../yosys -p "read_verilog display_lm.v; write_cxxrtl yosys-display_lm.cc"
--${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++
-+${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../.. display_lm_tb.cc -lstdc++
+-${CC:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
++${CXX:-gcc} -std=c++11 -o yosys-display_lm_cc -I../../backends/cxxrtl/runtime display_lm_tb.cc -lstdc++
  ./yosys-display_lm_cc >yosys-display_lm_cc.log
  for log in yosys-display_lm.log yosys-display_lm_cc.log; do
  	grep "^%l: \\\\bot\$" "$log"
diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch
deleted file mode 100644
index a3b2f87f37878..0000000000000
--- a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig.old	2015-06-03 19:53:00.116849746 +0100
-+++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig	2015-06-03 19:56:30.112579384 +0100
-@@ -130,6 +130,11 @@
-   <!-- New projects will be created with this targets file. -->
-   <Extension path="/MonoDevelop/ProjectModel/MSBuildItemTypes">
-     <!--  If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' -->
-+	<Condition id="MSBuildTargetIsAvailable" target="$(FSharpTargetsPath)" >
-+        <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(FSharpTargetsPath)"  resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/>
-+	</Condition>
-+
-+    <!--  If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' -->
- 	<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" >
-       <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets"  resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/>
- 	</Condition>
-@@ -182,14 +187,7 @@
-     <ProjectTemplate id="FSharpConsoleProject" file="Templates/FSharpConsoleProject.xpt.xml"/>
-     <ProjectTemplate id="FSharpLibraryProject" file="Templates/FSharpLibraryProject.xpt.xml"/>
-     <!-- Only include the tutorial project if an F# 3.0 or 3.1 target is available as this includes F# 3.0 specific features -->
--	<ComplexCondition>
--		<Or>
--			<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--			<Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--		</Or>
- 		<ProjectTemplate id="FSharpTutorialProject" file="Templates/FSharpTutorialProject.xpt.xml"/>
--	</ComplexCondition>
--
-     <ProjectTemplate id="FSharpGtkProject" file="Templates/FSharpGtkProject.xpt.xml"/>
-     <ProjectTemplate id="FSharpNUnitLibraryProject" file="Templates/FSharpNUnitLibraryProject.xpt.xml"/>
-   </Extension>
-@@ -267,13 +265,7 @@
-   <!-- F# interactive -->
- 
-   <Extension path="/MonoDevelop/Ide/Pads">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <Pad id="MonoDevelop.FSharp.FSharpInteractivePad" defaultPlacement="Bottom" _label="F# Interactive" icon="md-project" class="MonoDevelop.FSharp.FSharpInteractivePad" />
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
-@@ -281,11 +273,6 @@
-   </Extension>
- 
-   <Extension path="/MonoDevelop/Ide/Commands">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <Category _name = "F# Integration" id="F# Integration">
-         <Command id="MonoDevelop.FSharp.FSharpCommands.ShowFSharpInteractive"
-             _label = "F# Interactive"
-@@ -330,32 +317,19 @@
-             macShortcut="Meta|Control|C"
-             shortcut="Ctrl|Alt|C" />
-       </Category>
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Editor">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <SeparatorItem id = "FSharpInteractiveStart" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" />
--    </ComplexCondition>
-   </Extension>
- 
-   <Extension path = "/MonoDevelop/Ide/MainMenu/Edit">
--    <ComplexCondition>
--      <Or>
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" />
--        <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" />
--      </Or>
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" />
-       <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" />
--    </ComplexCondition>
-   </Extension>
- 
-   <!--- F# Android -->
diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch
deleted file mode 100644
index e53482e0c00b4..0000000000000
--- a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig.old	2015-06-03 18:48:55.345385084 +0100
-+++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig	2015-06-03 19:00:11.453399028 +0100
-@@ -185,19 +185,19 @@
-       <Private>False</Private>
-       <HintPath>INSERT_FSPROJ_MDROOT\AddIns\NUnit\MonoDevelop.NUnit.dll</HintPath>
-     </Reference>
--    <ProjectReference Include="..\..\FSharp.CompilerBinding\FSharp.CompilerBinding.fsproj">
--      <Project>{88F6940F-D300-474C-B2A7-E2ECD5B04B57}</Project>
--      <Name>FSharp.CompilerBinding</Name>
--    </ProjectReference>
-+    <Reference Include="FSharp.CompilerBinding">
-+      <Private>True</Private>
-+    </Reference>
-     <ProjectReference Include="Gui\MonoDevelop.FSharp.Gui.csproj">
-       <Project>{FD0D1033-9145-48E5-8ED8-E2365252878C}</Project>
-       <Name>MonoDevelop.FSharp.Gui</Name>
-     </ProjectReference>
--    <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-+    <Reference Include="FSharp.Core">
-       <Private>True</Private>
-     </Reference>
-     <Reference Include="FSharp.Compiler.Service">
-       <HintPath>packages\FSharp.Compiler.Service.0.0.85\lib\net45\FSharp.Compiler.Service.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="Mono.Cecil">
-       <HintPath>packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.dll</HintPath>
-@@ -213,12 +213,15 @@
-     </Reference>
-     <Reference Include="FantomasLib">
-       <HintPath>packages\Fantomas.1.6.0\lib\FantomasLib.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="FSharp.Compiler.CodeDom">
-       <HintPath>packages\FSharp.Compiler.CodeDom.0.9.1\lib\net40\FSharp.Compiler.CodeDom.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-     <Reference Include="ExtCore">
-       <HintPath>packages\ExtCore.0.8.45\lib\net40\ExtCore.dll</HintPath>
-+      <Private>True</Private>
-     </Reference>
-   </ItemGroup>
-   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index c0f0f0526cbf2..833d85d2ddd32 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -904,6 +904,63 @@ self: super: {
     '';
   }) super.structured-haskell-mode;
 
+  inherit (let
+    csound_src_git = pkgs.fetchFromGitHub {
+      owner = "spell-music";
+      repo = "csound-expression";
+      rev = "345df2c91c9831dd895f58951990165598504814";
+      hash = "sha256-6qPiKsZwZpqB2kmckKDKyQPTcWPIaVwi+EYs74tRod0=";
+    };
+  in {
+    # Compilation on recent GHC is fixed on git, but not yet on hackage
+    # https://github.com/spell-music/csound-expression/pull/68
+    csound-expression-typed =
+      assert super.csound-expression-typed.version == "0.2.7";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-typed";
+        editedCabalFile = null;
+      }) super.csound-expression-typed;
+
+    csound-expression-dynamic =
+      assert super.csound-expression-dynamic.version == "0.3.9";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-dynamic";
+        editedCabalFile = null;
+        libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+          self.base64-bytestring self.cereal self.cereal-text
+          self.cryptohash-sha256 self.pretty-show self.safe
+          self.unordered-containers self.vector self.wl-pprint-text
+        ];
+      }) super.csound-expression-dynamic;
+
+    csound-expression =
+      assert super.csound-expression.version == "5.4.3";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression";
+        editedCabalFile = null;
+      }) super.csound-expression;
+
+    csound-expression-opcodes =
+      assert super.csound-expression-opcodes.version == "0.0.5.1";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-expression-opcodes";
+        editedCabalFile = null;
+      }) super.csound-expression-opcodes;
+
+    csound-sampler =
+      assert super.csound-sampler.version == "0.0.10.1";
+      overrideCabal (drv: {
+        src = csound_src_git + "/csound-sampler";
+        editedCabalFile = null;
+      }) super.csound-sampler;
+  })
+    csound-expression-typed
+    csound-expression-dynamic
+    csound-expression
+    csound-expression-opcodes
+    csound-sampler
+    ;
+
   # Make elisp files available at a location where people expect it.
   hindent = (overrideCabal (drv: {
     # We cannot easily byte-compile these files, unfortunately, because they
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 290b3f6bc736d..27db7e3c351dc 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1001,7 +1001,6 @@ broken-packages:
   - cryptsy-api # failure in job https://hydra.nixos.org/build/233195814 at 2023-09-02
   - csa # failure in job https://hydra.nixos.org/build/233233907 at 2023-09-02
   - cse-ghc-plugin # failure in job https://hydra.nixos.org/build/233251963 at 2023-09-02
-  - csound-expression-dynamic # failure in job https://hydra.nixos.org/build/233225568 at 2023-09-02
   - CSPM-Frontend # failure in job https://hydra.nixos.org/build/233219295 at 2023-09-02
   - cspretty # failure in job https://hydra.nixos.org/build/233246796 at 2023-09-02
   - css-easings # failure in job https://hydra.nixos.org/build/233203513 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 87df614acb81c..e4ab07de038e0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -1005,12 +1005,6 @@ dont-distribute-packages:
  - cryptonite-cd
  - crystalfontz
  - csg
- - csound-catalog
- - csound-controllers
- - csound-expression
- - csound-expression-opcodes
- - csound-expression-typed
- - csound-sampler
  - cspmchecker
  - csv-enumerator
  - ctpl
@@ -3877,7 +3871,6 @@ dont-distribute-packages:
  - techlab
  - telegram-bot
  - telegram-raw-api
- - temporal-csound
  - ten-lens
  - ten-unordered-containers
  - tensorflow-opgen
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index d67256774b407..acd673beb8122 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -77372,7 +77372,6 @@ self: {
        ];
        description = "a gallery of Csound instruments";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-controllers" = callPackage
@@ -77384,7 +77383,6 @@ self: {
        libraryHaskellDepends = [ base csound-expression ];
        testHaskellDepends = [ base csound-expression ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression" = callPackage
@@ -77406,7 +77404,6 @@ self: {
        ];
        description = "library to make electronic music";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression-dynamic" = callPackage
@@ -77426,8 +77423,6 @@ self: {
        ];
        description = "dynamic core for csound-expression library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "csound-expression-opcodes" = callPackage
@@ -77445,7 +77440,6 @@ self: {
        ];
        description = "opcodes for the library csound-expression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-expression-typed" = callPackage
@@ -77468,7 +77462,6 @@ self: {
        ];
        description = "typed core for the library csound-expression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csound-sampler" = callPackage
@@ -77482,7 +77475,6 @@ self: {
        libraryHaskellDepends = [ base csound-expression transformers ];
        description = "A musical sampler based on Csound";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "csp" = callPackage
@@ -295736,7 +295728,6 @@ self: {
        ];
        description = "library to make electronic music, brings together temporal-music-notation and csound-expression packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "temporal-media" = callPackage
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index 33e964ddeedbb..6f5b889883910 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -23,13 +23,13 @@ assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
 
 stdenv.mkDerivation rec {
   pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "CBQN";
     rev = "v${version}";
-    hash = "sha256-jS60phZMrpGa+GVzZSGZwVVtW9RBp/oHRIYP/pXRU2I=";
+    hash = "sha256-PCpePevWQ+aPG6Yx3WqBZ4yTeyJsCGkYMSY6kzGDL1U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/bqn/cbqn/replxx.nix b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
index 2074111d45f53..71b479a4cda48 100644
--- a/pkgs/development/interpreters/bqn/cbqn/replxx.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "replxx";
-  version = "unstable-2023-02-26";
+  version = "unstable-2023-10-31";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "replxx";
-    rev = "1da4681a8814366ec51e7630b76558e53be0997d";
-    hash = "sha256-Zs7ItuK31n0VSxwOsPUdZZLr68PypitZqcydACrx90Q=";
+    rev = "13f7b60f4f79c2f14f352a76d94860bad0fc7ce9";
+    hash = "sha256-xPuQ5YBDSqhZCwssbaN/FcTZlc3ampYl7nfl2bbsgBA=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/interpreters/bqn/cbqn/singeli.nix b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
index af7eeb89a0e91..212b96b6cb3f0 100644
--- a/pkgs/development/interpreters/bqn/cbqn/singeli.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "singeli";
-  version = "unstable-2023-09-12";
+  version = "unstable-2023-11-22";
 
   src = fetchFromGitHub {
     owner = "mlochbaum";
     repo = "Singeli";
-    rev = "49a6a90d83992171a2db749e9f7fd400ec65ef2c";
-    hash = "sha256-9Dc6yrrXV6P9s1uwGlXB+ZBquOLejWe41k0TSpJGDgE=";
+    rev = "528faaf9e2a7f4f3434365bcd91d6c18c87c4f08";
+    hash = "sha256-/z1KHqflCqPGC9JU80jtgqdk2mkX06eWSziuf4TU4TM=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix
index e87328e49b45a..7901d24d0f771 100644
--- a/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -8,11 +8,11 @@
 , curl
 , bash
 , debugInfo ? false
-}:
+} @ inputs:
 
 { baseName ? "elixir"
 , version
-, erlangPackage ? erlang
+, erlang ? inputs.erlang
 , minimumOTPVersion
 , sha256 ? null
 , rev ? "v${version}"
@@ -24,7 +24,7 @@ let
   inherit (lib) getVersion versionAtLeast optional concatStringsSep;
 
 in
-assert versionAtLeast (getVersion erlangPackage) minimumOTPVersion;
+assert versionAtLeast (getVersion erlang) minimumOTPVersion;
 
 stdenv.mkDerivation ({
   pname = "${baseName}";
@@ -32,7 +32,7 @@ stdenv.mkDerivation ({
   inherit src version debugInfo;
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ erlangPackage ];
+  buildInputs = [ erlang ];
 
   LANG = "C.UTF-8";
   LC_TYPE = "C.UTF-8";
diff --git a/pkgs/development/interpreters/love/0.7-gl-prototypes.patch b/pkgs/development/interpreters/love/0.7-gl-prototypes.patch
deleted file mode 100644
index 0b6778f6a90ba..0000000000000
--- a/pkgs/development/interpreters/love/0.7-gl-prototypes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp
---- love-HEAD.orig/src/modules/graphics/opengl/Framebuffer.cpp	2019-03-14 12:46:55.032982224 -0400
-+++ love-HEAD.new/src/modules/graphics/opengl/Framebuffer.cpp	2019-03-14 12:47:22.356175299 -0400
-@@ -1,3 +1,5 @@
-+#define GL_GLEXT_PROTOTYPES
-+
- #include "Framebuffer.h"
- #include <common/Matrix.h>
- 
-diff --unified --recursive --text love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp
---- love-HEAD.orig/src/modules/graphics/opengl/SpriteBatch.cpp	2019-03-14 12:46:55.032982224 -0400
-+++ love-HEAD.new/src/modules/graphics/opengl/SpriteBatch.cpp	2019-03-14 12:47:33.346119890 -0400
-@@ -18,6 +18,8 @@
- * 3. This notice may not be removed or altered from any source distribution.
- **/
- 
-+#define GL_GLEXT_PROTOTYPES
-+
- #include "SpriteBatch.h"
- 
- // STD
diff --git a/pkgs/development/interpreters/love/11.nix b/pkgs/development/interpreters/love/11.nix
index 768625e08cfa3..177c3f46086a6 100644
--- a/pkgs/development/interpreters/love/11.nix
+++ b/pkgs/development/interpreters/love/11.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "love";
-  version = "11.4";
+  version = "11.5";
 
   src = fetchFromGitHub {
     owner = "love2d";
     repo = "love";
     rev = version;
-    sha256 = "0kpdp6v8m8j0r7ppyy067shr0lfgrlh0dwb7ccws76d389vizwhb";
+    sha256 = "sha256-wZktNh4UB3QH2wAIIlnYUlNoXbjEDwUmPnT4vesZNm0=";
   };
 
   nativeBuildInputs = [ pkg-config autoconf automake ];
diff --git a/pkgs/development/interpreters/octave/patches/bug62436.patch b/pkgs/development/interpreters/octave/patches/bug62436.patch
deleted file mode 100644
index d9d7cfc30408f..0000000000000
--- a/pkgs/development/interpreters/octave/patches/bug62436.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# HG changeset patch
-# User John Donoghue <john.donoghue@ieee.org>
-# Date 1652358904 14400
-#      Thu May 12 08:35:04 2022 -0400
-# Branch stable
-# Node ID 8c940cfcce257369677c09154da2aab2c56eaa79
-# Parent  63710f3bd9811c2d206ac9e7b4f47cf06c47e153
-* scripts/pkg/private/build.m: check configure and Makefile exist before trying to unlink them (Bug #62436)
-
-diff -r 63710f3bd981 -r 8c940cfcce25 scripts/pkg/private/build.m
---- a/scripts/pkg/private/build.m	Wed May 11 09:44:55 2022 -0700
-+++ b/scripts/pkg/private/build.m	Thu May 12 08:35:04 2022 -0400
-@@ -77,8 +77,12 @@
-     else
-       arch_abi = getarch ();
-       configure_make (desc, build_root, verbose);
--      unlink (fullfile (build_root, "src", "configure"));
--      unlink (fullfile (build_root, "src", "Makefile"));
-+      if exist (fullfile (build_root, "src", "configure"), "file")
-+        unlink (fullfile (build_root, "src", "configure"));
-+      endif
-+      if exist (fullfile (build_root, "src", "Makefile"), "file")
-+        unlink (fullfile (build_root, "src", "Makefile"));
-+      endif
-     endif
-     tar_name = [desc.name "-" desc.version "-" arch_abi ".tar"];
-     tar_path = fullfile (builddir, tar_name);
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 4c5efaa7d5453..38fdd0f71d7fd 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -141,6 +141,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     description = "A programmable programming language";
     longDescription = ''
diff --git a/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch b/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch
deleted file mode 100644
index c18420711b901..0000000000000
--- a/pkgs/development/libraries/abseil-cpp/cmake-full-dirs.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
-index 1a80b5b..1fa57a7 100644
---- a/CMake/AbseilHelpers.cmake
-+++ b/CMake/AbseilHelpers.cmake
-@@ -171,8 +171,8 @@ function(absl_cc_library)
-       FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\
- prefix=${CMAKE_INSTALL_PREFIX}\n\
- exec_prefix=\${prefix}\n\
--libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}\n\
--includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}\n\
-+libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\
-+includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\
- \n\
- Name: absl_${_NAME}\n\
- Description: Abseil ${_NAME} library\n\
diff --git a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
deleted file mode 100644
index bbc10fabb2685..0000000000000
--- a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- apr-1.5.1/file_io/unix/filestat.c	2014-11-01 06:42:50.000000000 -0400
-+++ apr-1.5.1/file_io/unix/filestat.c.new	2014-11-01 07:07:32.000000000 -0400
-@@ -297,9 +297,11 @@
-         finfo->pool = pool;
-         finfo->fname = fname;
-         fill_out_finfo(finfo, &info, wanted);
--        if (wanted & APR_FINFO_LINK)
--            wanted &= ~APR_FINFO_LINK;
--        return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        if (wanted & APR_FINFO_LINK) {
-+            return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        } else {
-+            return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
-+        }
-     }
-     else {
- #if !defined(ENOENT) || !defined(ENOTDIR)
diff --git a/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch b/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch
deleted file mode 100644
index 58eaf5f490b1a..0000000000000
--- a/pkgs/development/libraries/audio/rtmidi/macos_include_targetconditionals.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru a/RtMidi.cpp b/RtMidi.cpp
---- a/RtMidi.cpp	2021-12-23 16:46:33.000000000 -0500
-+++ b/RtMidi.cpp	2021-12-23 16:48:19.000000000 -0500
-@@ -39,6 +39,9 @@
- 
- #include "RtMidi.h"
- #include <sstream>
-+#if defined(__APPLE__)
-+#include <TargetConditionals.h>
-+#endif
- 
- #if defined(__MACOSX_CORE__)
-   #if TARGET_OS_IPHONE
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index b8201f8ce5c6c..60578f79ea573 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   version = "1.19.1";
 
   src = fetchurl {
-    url = "https://c-ares.haxx.se/download/${pname}-${version}.tar.gz";
+    url = "https://c-ares.org/download/${pname}-${version}.tar.gz";
     sha256 = "sha256-MhcAOZty7Q4DfQB0xinndB9rLsLdqSlWq+PpZx0+Jo4=";
   };
 
diff --git a/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch b/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch
deleted file mode 100644
index 6deecf2a97171..0000000000000
--- a/pkgs/development/libraries/cairo/skip-configure-stderr-check.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-https://bugs.freedesktop.org/show_bug.cgi?id=30910#c6
-
-Comment 6 Jeremy Huddleston Sequoia 2014-07-15 04:12:40 UTC
-
-Yes, it is still an issue.  We just disable the buggy '"x$cairo_cc_stderr" != "x"' logic, but that's not really a portable solution for you:
-
-diff -Naurp cairo-1.12.2.orig/configure cairo-1.12.2/configure
---- cairo-1.12.2.orig/configure	2012-04-29 11:49:59.000000000 -0700
-+++ cairo-1.12.2/configure	2012-05-03 11:23:49.000000000 -0700
-@@ -18044,7 +18044,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18091,7 +18091,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18161,7 +18161,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -18217,7 +18217,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -19663,7 +19663,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -19710,7 +19710,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32692,7 +32692,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32811,7 +32811,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false ; then
- 		cairo_cc_flag=no
- 	fi
- 
-@@ -32892,7 +32892,7 @@ fi
- rm -f core conftest.err conftest.$ac_objext \
-     conftest$ac_exeext conftest.$ac_ext
- 
--	if test "x$cairo_cc_stderr" != "x"; then
-+	if false; then
- 		cairo_cc_flag=no
- 	fi
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index 8a8caa556c878..5030a185886de 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -11,14 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "crypto++";
-  version = "8.8.0";
+  version = "8.9.0";
   underscoredVersion = lib.strings.replaceStrings ["."] ["_"] version;
 
   src = fetchFromGitHub {
     owner = "weidai11";
     repo = "cryptopp";
     rev = "CRYPTOPP_${underscoredVersion}";
-    hash = "sha256-hg7g56bIYaXxB28nAmSQ7EP9NEwd1Psf/2GUtbC27oU=";
+    hash = "sha256-HV+afSFkiXdy840JbHBTR8lLL0GMwsN3QdwaoQmicpQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/ctranslate2/default.nix b/pkgs/development/libraries/ctranslate2/default.nix
index 58906b608231d..324a11a6c7a2c 100644
--- a/pkgs/development/libraries/ctranslate2/default.nix
+++ b/pkgs/development/libraries/ctranslate2/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optionals withMkl [
     mkl
   ] ++ lib.optionals withCUDA [
+    cudaPackages.cuda_cccl # <nv/target> required by the fp16 headers in cudart
     cudaPackages.cuda_cudart
     cudaPackages.libcublas
     cudaPackages.libcurand
diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix
index 1bf86800df893..ff379c1a78b3f 100644
--- a/pkgs/development/libraries/dqlite/default.nix
+++ b/pkgs/development/libraries/dqlite/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://dqlite.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ joko adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/glibc/rpcgen-path.patch b/pkgs/development/libraries/glibc/rpcgen-path.patch
deleted file mode 100644
index 3349449d91634..0000000000000
--- a/pkgs/development/libraries/glibc/rpcgen-path.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru glibc-2.18-orig/sunrpc/rpc_main.c glibc-2.18/sunrpc/rpc_main.c
---- glibc-2.18-orig/sunrpc/rpc_main.c	2013-08-11 00:52:55.000000000 +0200
-+++ glibc-2.18/sunrpc/rpc_main.c	2013-11-15 12:04:48.041006977 +0100
-@@ -78,7 +78,7 @@
- 
- static const char *svcclosetime = "120";
- static int cppDefined;	/* explicit path for C preprocessor */
--static const char *CPP = "/lib/cpp";
-+static const char *CPP = "cpp";
- static const char CPPFLAGS[] = "-C";
- static char *pathbuf;
- static int cpp_pid;
-@@ -107,7 +107,6 @@
- static void open_output (const char *infile, const char *outfile);
- static void add_warning (void);
- static void clear_args (void);
--static void find_cpp (void);
- static void open_input (const char *infile, const char *define);
- static int check_nettype (const char *name, const char *list_to_check[]);
- static void c_output (const char *infile, const char *define,
-@@ -322,25 +321,6 @@
-   argcount = FIXEDARGS;
- }
- 
--/* make sure that a CPP exists */
--static void
--find_cpp (void)
--{
--  struct stat64 buf;
--
--  if (stat64 (CPP, &buf) == 0)
--    return;
--
--  if (cppDefined) /* user specified cpp but it does not exist */
--    {
--      fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
--      crash ();
--    }
--
--  /* fall back to system CPP */
--  CPP = "cpp";
--}
--
- /*
-  * Open input file with given define for C-preprocessor
-  */
-@@ -359,7 +339,6 @@
-   switch (cpp_pid)
-     {
-     case 0:
--      find_cpp ();
-       putarg (0, CPP);
-       putarg (1, CPPFLAGS);
-       addarg (define);
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 67048167d6bfa..626d0b7cca949 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -22,12 +22,13 @@ stdenv.mkDerivation rec {
   ];
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config ]
+  ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
 
   buildInputs = [ expat ncurses ]
     ++ lib.optionals x11Support [ cairo libX11 ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
-    ++ lib.optional enableCuda cudaPackages.cudatoolkit;
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_cudart ];
 
   # Since `libpci' appears in `hwloc.pc', it must be propagated.
   propagatedBuildInputs = lib.optional stdenv.isLinux pciutils;
diff --git a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
deleted file mode 100644
index d3dec2936c50a..0000000000000
--- a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 5007bbd..f46de1a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -253,7 +253,7 @@ AS_IF([test "x${JDK_HOME}" != "x"], [
- ])
- 
- AS_IF([test "x$use_bdjava_jar" = "xyes"], [
--
-+    CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
-     dnl check for ant
-     AC_CHECK_PROG(HAVE_ANT, [ant], yes, no)
-     AS_IF([test "x$HAVE_ANT" = "xno"], [
-diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c
-index 1cb1bfe..f3711c2 100644
---- a/src/libbluray/bdj/bdj.c
-+++ b/src/libbluray/bdj/bdj.c
-@@ -533,6 +533,9 @@ static char *_find_libbluray_jar0()
- #  ifdef __FreeBSD__
-         "/usr/local/share/java/" BDJ_JARFILE,
- #  else
-+#    ifdef JARDIR
-+        JARDIR "/" BDJ_JARFILE,
-+#    endif
-         "/usr/share/java/" BDJ_JARFILE,
-         "/usr/share/libbluray/lib/" BDJ_JARFILE,
- #  endif
diff --git a/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch b/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
index c391f77dda8b7..c391f77dda8b7 100644
--- a/pkgs/applications/video/openshot-qt/undef-fpret-on-aarch64-darwin.patch
+++ b/pkgs/development/libraries/libopenshot-audio/0001-undef-fpret-on-aarch64-darwin.patch
diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/development/libraries/libopenshot-audio/default.nix
index 5526c8b417350..e546dc7a57862 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix
+++ b/pkgs/development/libraries/libopenshot-audio/default.nix
@@ -19,20 +19,20 @@
 , Foundation
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libopenshot-audio";
   version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot-audio";
-    rev = "v${version}";
-    sha256 = "sha256-PLpB9sy9xehipN5S9okCHm1mPm5MaZMVaFqCBvFUiTw=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-PLpB9sy9xehipN5S9okCHm1mPm5MaZMVaFqCBvFUiTw=";
   };
 
   patches = [
     # https://forum.juce.com/t/juce-and-macos-11-arm/40285/24
-    ./undef-fpret-on-aarch64-darwin.patch
+    ./0001-undef-fpret-on-aarch64-darwin.patch
   ];
 
   nativeBuildInputs = [
@@ -58,9 +58,11 @@ stdenv.mkDerivation rec {
     libXrandr
   ]);
 
-  doCheck = false;
+  strictDeps = true;
 
-  meta = with lib; {
+  doCheck = true;
+
+  meta = {
     homepage = "http://openshot.org/";
     description = "High-quality sound editing library";
     longDescription = ''
@@ -68,8 +70,8 @@ stdenv.mkDerivation rec {
       high-quality editing and playback of audio, and is based on the amazing
       JUCE library.
     '';
-    license = with licenses; gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff b/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
new file mode 100644
index 0000000000000..e5055d3f30895
--- /dev/null
+++ b/pkgs/development/libraries/libopenshot/0001-link-magickcore.diff
@@ -0,0 +1,12 @@
+diff -Naur source/src/CMakeLists.txt source-new/src/CMakeLists.txt
+--- source/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
++++ source-new/src/CMakeLists.txt	2023-11-30 09:39:45.442332463 -0300
+@@ -231,7 +231,7 @@
+     target_compile_definitions(openshot PUBLIC USE_IMAGEMAGICK=1)
+ 
+     # Link with ImageMagick library
+-    target_link_libraries(openshot PUBLIC ImageMagick::Magick++)
++    target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)
+ 
+     set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
+     mark_as_advanced(HAVE_IMAGEMAGICK)
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/development/libraries/libopenshot/default.nix
index 38366782f3bef..4622dabb2983a 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/development/libraries/libopenshot/default.nix
@@ -18,28 +18,23 @@
 , zeromq
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libopenshot";
   version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot";
-    rev = "v${version}";
-    sha256 = "sha256-axFGNq+Kg8atlaSlG8EKvxj/FwLfpDR8/e4otmnyosM=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-axFGNq+Kg8atlaSlG8EKvxj/FwLfpDR8/e4otmnyosM=";
   };
 
-  postPatch = ''
-    sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt
-  '' + lib.optionalString stdenv.isDarwin ''
-    # Darwin requires both Magick++ and MagickCore or it will fail to link.
-    substituteInPlace src/CMakeLists.txt \
-      --replace 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++)' 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)'
-  '';
+  patches = lib.optionals stdenv.isDarwin [
+    # Darwin requires both Magick++ and MagickCore for a successful linkage
+    ./0001-link-magickcore.diff
+  ];
 
-  nativeBuildInputs = lib.optionals stdenv.isLinux [
-    alsa-lib
-  ] ++ [
+  nativeBuildInputs = [
     cmake
     doxygen
     pkg-config
@@ -56,20 +51,28 @@ stdenv.mkDerivation rec {
     qtbase
     qtmultimedia
     zeromq
+  ] ++ lib.optionals stdenv.isLinux [
+    alsa-lib
   ] ++ lib.optionals stdenv.isDarwin [
     llvmPackages.openmp
   ];
 
+  strictDeps = true;
+
   dontWrapQtApps = true;
 
-  doCheck = false;
+  doCheck = true;
 
   cmakeFlags = [
-    "-DENABLE_RUBY=OFF"
-    "-DPYTHON_MODULE_PATH=${python3.sitePackages}"
+    (lib.cmakeBool "ENABLE_RUBY" false)
+    (lib.cmakeOptionType "filepath" "PYTHON_MODULE_PATH" python3.sitePackages)
   ];
 
-  meta = with lib; {
+  passthru = {
+    inherit libopenshot-audio;
+  };
+
+  meta = {
     homepage = "http://openshot.org/";
     description = "Free, open-source video editor library";
     longDescription = ''
@@ -77,12 +80,8 @@ stdenv.mkDerivation rec {
       delivering high quality video editing, animation, and playback solutions
       to the world. API currently supports C++, Python, and Ruby.
     '';
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
-  };
-
-  passthru = {
-    inherit libopenshot-audio;
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/libressl/fix-build-with-glibc.patch b/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
deleted file mode 100644
index db482bcb35da3..0000000000000
--- a/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/tests/explicit_bzero.c b/tests/explicit_bzero.c
-index 34c60baa8a..9c0e917829 100644
---- a/tests/explicit_bzero.c
-+++ b/tests/explicit_bzero.c
-@@ -1,4 +1,4 @@
--/*	$OpenBSD: explicit_bzero.c,v 1.6 2014/07/11 01:10:35 matthew Exp $	*/
-+/*	$OpenBSD: explicit_bzero.c,v 1.7 2021/03/27 11:17:58 bcook Exp $	*/
- /*
-  * Copyright (c) 2014 Google Inc.
-  *
-@@ -18,6 +18,7 @@
- #include <assert.h>
- #include <errno.h>
- #include <signal.h>
-+#include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- 
-@@ -36,19 +37,33 @@ enum {
- 	SECRETBYTES = SECRETCOUNT * sizeof(secret)
- };
- 
--static char altstack[SIGSTKSZ + SECRETBYTES];
-+/*
-+ * As of glibc 2.34, when _GNU_SOURCE is defined, SIGSTKSZ is no longer
-+ * constant on Linux. SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).
-+ */
-+static char *altstack;
-+#define ALTSTACK_SIZE (SIGSTKSZ + SECRETBYTES)
- 
- static void
- setup_stack(void)
- {
-+	altstack = calloc(1, ALTSTACK_SIZE);
-+	ASSERT_NE(NULL, altstack);
-+
- 	const stack_t sigstk = {
- 		.ss_sp = altstack,
--		.ss_size = sizeof(altstack),
-+		.ss_size = ALTSTACK_SIZE
- 	};
- 
- 	ASSERT_EQ(0, sigaltstack(&sigstk, NULL));
- }
- 
-+static void
-+cleanup_stack(void)
-+{
-+	free(altstack);
-+}
-+
- static void
- assert_on_stack(void)
- {
-@@ -129,7 +144,7 @@ test_without_bzero()
- 	char buf[SECRETBYTES];
- 	assert_on_stack();
- 	populate_secret(buf, sizeof(buf));
--	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
-+	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
- 	ASSERT_NE(NULL, res);
- 	return (res);
- }
-@@ -140,7 +155,7 @@ test_with_bzero()
- 	char buf[SECRETBYTES];
- 	assert_on_stack();
- 	populate_secret(buf, sizeof(buf));
--	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
-+	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
- 	ASSERT_NE(NULL, res);
- 	explicit_bzero(buf, sizeof(buf));
- 	return (res);
-@@ -183,15 +198,17 @@ main()
- 	 * on the stack.  This sanity checks that call_on_stack() and
- 	 * populate_secret() work as intended.
- 	 */
--	memset(altstack, 0, sizeof(altstack));
-+	memset(altstack, 0, ALTSTACK_SIZE);
- 	call_on_stack(do_test_without_bzero);
- 
- 	/*
- 	 * Now test with a call to explicit_bzero() and check that we
- 	 * *don't* find any instances of the secret data.
- 	 */
--	memset(altstack, 0, sizeof(altstack));
-+	memset(altstack, 0, ALTSTACK_SIZE);
- 	call_on_stack(do_test_with_bzero);
- 
-+	cleanup_stack();
-+
- 	return (0);
- }
diff --git a/pkgs/development/libraries/libwnck/fix-pc-file.patch b/pkgs/development/libraries/libwnck/fix-pc-file.patch
deleted file mode 100644
index 42017a993b518..0000000000000
--- a/pkgs/development/libraries/libwnck/fix-pc-file.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 28799d8..047e523 100644
---- a/meson.build
-+++ b/meson.build
-@@ -72,11 +72,15 @@
- pc_conf = configuration_data()
- pc_conf.set('prefix', get_option('prefix'))
- pc_conf.set('exec_prefix', '${prefix}')
--pc_conf.set('libdir', '${exec_prefix}/' + get_option('libdir'))
--pc_conf.set('includedir', '${prefix}/' + get_option('includedir'))
--pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
-+pc_conf.set('libdir', '${exec_prefix}' / get_option('libdir'))
-+pc_conf.set('includedir', '${prefix}' / get_option('includedir'))
-+if conf.has('HAVE_' + STARTUP_NOTIFICATION_PACKAGE.to_upper().underscorify())
-+  pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
-+endif
- pc_conf.set('X11_PACKAGE', X11_PACKAGE)
--pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
-+if conf.has('HAVE_' + XRES_PACKAGE.to_upper().underscorify())
-+  pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
-+endif
- pc_conf.set('VERSION', meson.project_version())
- 
- foreach pc: [PACKAGE_NAME, PACKAGE_NAME + '-uninstalled']
diff --git a/pkgs/development/libraries/loudmouth/glib-2.32.patch b/pkgs/development/libraries/loudmouth/glib-2.32.patch
deleted file mode 100644
index 87fc170c80dad..0000000000000
--- a/pkgs/development/libraries/loudmouth/glib-2.32.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: loudmouth-1.4.3/loudmouth/lm-error.c
-===================================================================
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c
-+++ loudmouth-1.4.3/loudmouth/lm-error.c
-@@ -19,7 +19,7 @@
-  */
- 
- #include <config.h>
--#include <glib/gerror.h>
-+#include <glib.h>
- #include "lm-error.h"
- 
- /**
diff --git a/pkgs/development/libraries/mp4v2/fix-build-clang.patch b/pkgs/development/libraries/mp4v2/fix-build-clang.patch
deleted file mode 100644
index 5d99f1951f7ab..0000000000000
--- a/pkgs/development/libraries/mp4v2/fix-build-clang.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/mp4.cpp b/src/mp4.cpp
-index c2a7238..9bb3e38 100644
---- a/src/mp4.cpp
-+++ b/src/mp4.cpp
-@@ -870,7 +870,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, const MP4FileProvider* file
-         }
- 
-         catch (...) {
--            return MP4_INVALID_TRACK_ID;
-+            return NULL;
-         }
-     }
- 
diff --git a/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch b/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch
deleted file mode 100644
index 02337d56f1ff1..0000000000000
--- a/pkgs/development/libraries/mtxclient/fix-compilation-with-olm-3.2.5.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Naur old/lib/crypto/client.cpp c5pf6ygk9v9rdwwr3dyd24wghflp0vmx-source/lib/crypto/client.cpp
---- old/lib/crypto/client.cpp	2021-10-22 19:31:52.159836190 +0300
-+++ c5pf6ygk9v9rdwwr3dyd24wghflp0vmx-source/lib/crypto/client.cpp	2021-10-22 19:30:42.882010441 +0300
-@@ -37,15 +37,15 @@
- 
- };
- 
--OlmErrorCode
-+mtx::crypto::OlmErrorCode
- olm_exception::ec_from_string(std::string_view error)
- {
-         for (size_t i = 0; i < olmErrorStrings.size(); i++) {
-                 if (olmErrorStrings[i] == error)
--                        return static_cast<OlmErrorCode>(i);
-+			return static_cast<mtx::crypto::OlmErrorCode>(i);
-         }
- 
--        return OlmErrorCode::UNKNOWN_ERROR;
-+        return mtx::crypto::OlmErrorCode::UNKNOWN_ERROR;
- }
- 
- void
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index ef4e423d059aa..0ee442aedbcb9 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nco";
-  version = "5.1.8";
+  version = "5.1.9";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = finalAttrs.version;
-    hash = "sha256-ASZyvcP9XVFPf7nTsBx5E+D/7fWzUslPZrmhhNY5DzQ=";
+    hash = "sha256-D7WmJ53oK4craLx6PKAFA6Ue7wl5fRYPeEFeh78Kpdg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/nvidia-thrust/default.nix b/pkgs/development/libraries/nvidia-thrust/default.nix
deleted file mode 100644
index f68b57f193b79..0000000000000
--- a/pkgs/development/libraries/nvidia-thrust/default.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ lib
-, config
-, fetchFromGitHub
-, stdenv
-, cmake
-, pkg-config
-, cudaPackages ? { }
-, symlinkJoin
-, tbb
-, hostSystem ? "CPP"
-, deviceSystem ? if config.cudaSupport then "CUDA" else "OMP"
-}:
-
-# Policy for device_vector<T>
-assert builtins.elem deviceSystem [
-  "CPP" # Serial on CPU
-  "OMP" # Parallel with OpenMP
-  "TBB" # Parallel with Intel TBB
-  "CUDA" # Parallel on GPU
-];
-
-# Policy for host_vector<T>
-# Always lives on CPU, but execution can be made parallel
-assert builtins.elem hostSystem [ "CPP" "OMP" "TBB" ];
-
-let
-  pname = "nvidia-thrust";
-  version = "1.16.0";
-
-  inherit (cudaPackages) backendStdenv cudaFlags;
-  cudaCapabilities = map cudaFlags.dropDot cudaFlags.cudaCapabilities;
-
-  tbbSupport = builtins.elem "TBB" [ deviceSystem hostSystem ];
-  cudaSupport = deviceSystem == "CUDA";
-
-  # TODO: Would like to use this:
-  cudaJoined = symlinkJoin {
-    name = "cuda-packages-unsplit";
-    paths = with cudaPackages; [
-      cuda_nvcc
-      cuda_nvrtc # symbols: cudaLaunchDevice, &c; notice postBuild
-      cuda_cudart # cuda_runtime.h
-      libcublas
-    ];
-    postBuild = ''
-      ln -s $out/lib $out/lib64
-    '';
-  };
-in
-stdenv.mkDerivation {
-  inherit pname version;
-
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = "thrust";
-    rev = version;
-    fetchSubmodules = true;
-    hash = "sha256-/EyznxWKuHuvHNjq+SQg27IaRbtkjXR2zlo2YgCWmUQ=";
-  };
-
-  # NVIDIA's "compiler hacks" seem like work-arounds for legacy toolchains and
-  # cause us errors such as:
-  # > Thrust's test harness uses CMAKE_CXX_COMPILER for the CUDA host compiler.
-  # > Refusing to overwrite specified CMAKE_CUDA_HOST_COMPILER
-  # So we un-fix cmake after them:
-  postPatch = ''
-    echo > cmake/ThrustCompilerHacks.cmake
-  '';
-
-  buildInputs = lib.optionals tbbSupport [ tbb ];
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ] ++ lib.optionals cudaSupport [
-    # Goes in native build inputs because thrust looks for headers
-    # in a path relative to nvcc...
-    cudaJoined
-  ];
-
-  cmakeFlags = [
-    "-DTHRUST_INCLUDE_CUB_CMAKE=${if cudaSupport then "ON" else "OFF"}"
-    "-DTHRUST_DEVICE_SYSTEM=${deviceSystem}"
-    "-DTHRUST_HOST_SYSTEM=${hostSystem}"
-    "-DTHRUST_AUTO_DETECT_COMPUTE_ARCHS=OFF"
-    "-DTHRUST_DISABLE_ARCH_BY_DEFAULT=ON"
-  ] ++ lib.optionals cudaFlags.enableForwardCompat [
-    "-DTHRUST_ENABLE_COMPUTE_FUTURE=ON"
-  ] ++ map (sm: "THRUST_ENABLE_COMPUTE_${sm}") cudaCapabilities;
-
-  passthru = {
-    inherit cudaSupport cudaPackages cudaJoined;
-  };
-
-  meta = with lib; {
-    description = "A high-level C++ parallel algorithms library that builds on top of CUDA, TBB, OpenMP, etc";
-    homepage = "https://github.com/NVIDIA/thrust";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ SomeoneSerge ];
-  };
-}
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index 06360449c1ba9..4c1b13d1309e0 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -476,6 +476,8 @@ effectiveStdenv.mkDerivation {
   '';
 
   passthru = {
+    cudaSupport = enableCuda;
+
     tests = {
       inherit (gst_all_1) gst-plugins-bad;
     }
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 1c4955e2c51a4..a8bd8acacd595 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -3,7 +3,7 @@
 , libpsm2, libfabric, pmix, ucx, ucc
 , config
 # Enable CUDA support
-, cudaSupport ? config.cudaSupport, cudatoolkit
+, cudaSupport ? config.cudaSupport, cudaPackages
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -18,12 +18,7 @@
 , fortranSupport ? true
 }:
 
-let
-  cudatoolkit_joined = symlinkJoin {
-    name = "${cudatoolkit.name}-unsplit";
-    paths = [ cudatoolkit.out cudatoolkit.lib ];
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "openmpi";
   version = "4.1.6";
 
@@ -47,12 +42,13 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ]
     ++ lib.optionals stdenv.isLinux [ libnl numactl pmix ucx ucc ]
-    ++ lib.optionals cudaSupport [ cudatoolkit ]
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]
     ++ [ libevent hwloc ]
     ++ lib.optional (stdenv.isLinux || stdenv.isFreeBSD) rdma-core
     ++ lib.optionals fabricSupport [ libpsm2 libfabric ];
 
   nativeBuildInputs = [ perl ]
+    ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]
     ++ lib.optionals fortranSupport [ gfortran ];
 
   configureFlags = lib.optional (!cudaSupport) "--disable-mca-dso"
@@ -67,7 +63,7 @@ in stdenv.mkDerivation rec {
     # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
     # https://github.com/openucx/ucx
     # https://www.open-mpi.org/faq/?category=buildcuda
-    ++ lib.optionals cudaSupport [ "--with-cuda=${cudatoolkit_joined}" "--enable-dlopen" ]
+    ++ lib.optionals cudaSupport [ "--with-cuda=${cudaPackages.cuda_cudart}" "--enable-dlopen" ]
     ++ lib.optionals fabricSupport [ "--with-psm2=${lib.getDev libpsm2}" "--with-libfabric=${lib.getDev libfabric}" ]
     ;
 
@@ -98,7 +94,8 @@ in stdenv.mkDerivation rec {
   doCheck = true;
 
   passthru = {
-    inherit cudaSupport cudatoolkit;
+    inherit cudaSupport;
+    cudatoolkit = cudaPackages.cudatoolkit; # For backward compatibility only
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index b0ff4b528864b..b946d8ab718ae 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,9 +1,7 @@
 { config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, xorg, libGLU
 , libGL, glew, ocl-icd, python3
-, cudaSupport ? config.cudaSupport, cudatoolkit
-  # For visibility mostly. The whole approach to cuda architectures and capabilities
-  # will be reworked soon.
-, cudaArch ? "compute_37"
+, cudaSupport ? config.cudaSupport
+, cudaPackages
 , openclSupport ? !cudaSupport
 , darwin
 }:
@@ -21,7 +19,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    cudaPackages.cuda_nvcc
+  ];
   buildInputs =
     [ libGLU libGL python3
       # FIXME: these are not actually needed, but the configure script wants them.
@@ -30,21 +32,31 @@ stdenv.mkDerivation rec {
     ]
     ++ 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 cudatoolkit;
+    ++ lib.optional cudaSupport [
+      cudaPackages.cuda_cudart
+    ];
+
+  # It's important to set OSD_CUDA_NVCC_FLAGS,
+  # because otherwise OSD might piggyback unwanted architectures:
+  # https://github.com/PixarAnimationStudios/OpenSubdiv/blob/7d0ab5530feef693ac0a920585b5c663b80773b3/CMakeLists.txt#L602
+  preConfigure = lib.optionalString cudaSupport ''
+    cmakeFlagsArray+=(
+      -DOSD_CUDA_NVCC_FLAGS="${lib.concatStringsSep " " cudaPackages.cudaFlags.gencode}"
+    )
+  '';
 
   cmakeFlags =
     [ "-DNO_TUTORIALS=1"
       "-DNO_REGRESSION=1"
       "-DNO_EXAMPLES=1"
       "-DNO_METAL=1" # don’t have metal in apple sdk
+      (lib.cmakeBool "NO_OPENCL" (!openclSupport))
+      (lib.cmakeBool "NO_CUDA" (!cudaSupport))
     ] ++ lib.optionals (!stdenv.isDarwin) [
       "-DGLEW_INCLUDE_DIR=${glew.dev}/include"
       "-DGLEW_LIBRARY=${glew.dev}/lib"
     ] ++ lib.optionals cudaSupport [
-      "-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=${cudaArch}"
-      "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
     ] ++ lib.optionals (!openclSupport) [
-      "-DNO_OPENCL=1"
     ];
 
   preBuild = let maxBuildCores = 16; in lib.optionalString cudaSupport ''
diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix
index b3809f0953641..5761f9e7bb645 100644
--- a/pkgs/development/libraries/openvino/default.nix
+++ b/pkgs/development/libraries/openvino/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , fetchurl
 , substituteAll
+, cudaSupport ? opencv.cudaSupport or false
 
 # build
 , addOpenGLRunpath
@@ -21,6 +22,7 @@
 , protobuf
 , pugixml
 , tbb
+, cudaPackages
 }:
 
 let
@@ -68,6 +70,8 @@ stdenv.mkDerivation rec {
       setuptools
     ]))
     shellcheck
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_nvcc
   ];
 
   patches = [
@@ -133,6 +137,8 @@ stdenv.mkDerivation rec {
     protobuf
     pugixml
     tbb
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.cuda_cudart
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/protobuf/25.nix b/pkgs/development/libraries/protobuf/25.nix
new file mode 100644
index 0000000000000..b994f60609423
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/25.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix ({
+  version = "25.1";
+  hash = "sha256-w6556kxftVZ154LrZB+jv9qK+QmMiUOGj6EcNwiV+yo=";
+} // args)
diff --git a/pkgs/development/libraries/qcoro/default.nix b/pkgs/development/libraries/qcoro/default.nix
index 96cf2cd6fc8ea..e178dd5240d66 100644
--- a/pkgs/development/libraries/qcoro/default.nix
+++ b/pkgs/development/libraries/qcoro/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qcoro";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "danvratil";
     repo = "qcoro";
     rev = "v${version}";
-    sha256 = "sha256-kf2W/WAZCpLkq1UIy7iZri4vNaqjGjotB/Xsb+byZV4=";
+    sha256 = "sha256-C4k5ClsMwzxURAQBGV5WBwlRr5N0SvUMJobZ+ROT0EY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix
index 860e39227513a..aa0611aaef200 100644
--- a/pkgs/development/libraries/qtutilities/default.nix
+++ b/pkgs/development/libraries/qtutilities/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "qtutilities";
-  version = "6.13.2";
+  version = "6.13.3";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "qtutilities";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Kdvr3T9hynLCj99+Rc1L0Gq7xkiM0a6xovuqhAncrek=";
+    hash = "sha256-/3PEbUMphblB3HgLkDb4l7GykuXL/ZOsKBrs8h72uwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/raft-canonical/default.nix b/pkgs/development/libraries/raft-canonical/default.nix
index 2e1163e5f59c9..e01934b1d7311 100644
--- a/pkgs/development/libraries/raft-canonical/default.nix
+++ b/pkgs/development/libraries/raft-canonical/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/canonical/raft";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wucke13 adamcstephens ];
+    maintainers = teams.lxc.members;
   };
 }
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index 968cc51813279..400c7297d22ba 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "confluentinc";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "sha256-v/FjnDg22ZNQHmrUsPvjaCs4UQ/RPAxQdg9i8k6ba/4=";
+    sha256 = "sha256-F67aKmyMmqBVG5sF8ZwqemmfvVi/0bDjaiugKKSipuA=";
   };
 
   nativeBuildInputs = [ pkg-config python3 which ];
diff --git a/pkgs/development/libraries/science/math/cutensor/generic.nix b/pkgs/development/libraries/science/math/cutensor/generic.nix
index c957fcdd99d4e..02fe13851620b 100644
--- a/pkgs/development/libraries/science/math/cutensor/generic.nix
+++ b/pkgs/development/libraries/science/math/cutensor/generic.nix
@@ -1,7 +1,11 @@
 { stdenv
 , lib
 , libPath
+, cuda_cudart
+, cudaMajorVersion
+, cuda_nvcc
 , cudatoolkit
+, libcublas
 , fetchurl
 , autoPatchelfHook
 , addOpenGLRunpath
@@ -17,7 +21,7 @@ let
 in
 
 stdenv.mkDerivation {
-  pname = "cudatoolkit-${cudatoolkit.majorVersion}-cutensor";
+  pname = "cutensor-cu${cudaMajorVersion}";
   inherit version;
 
   src = fetchurl {
@@ -32,20 +36,27 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     autoPatchelfHook
     addOpenGLRunpath
+    cuda_nvcc
   ];
 
   buildInputs = [
     stdenv.cc.cc.lib
-  ];
-
-  propagatedBuildInputs = [
-    cudatoolkit
+    cuda_cudart
+    libcublas
   ];
 
   # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
   # See the explanation in addOpenGLRunpath.
   installPhase = ''
     mkdir -p "$out" "$dev"
+
+    if [[ ! -d "${libPath}" ]] ; then
+      echo "Cutensor: ${libPath} does not exist, only found:" >&2
+      find "$(dirname ${libPath})"/ -maxdepth 1 >&2
+      echo "This cutensor release might not support your cudatoolkit version" >&2
+      exit 1
+    fi
+
     mv include "$dev"
     mv ${libPath} "$out/lib"
 
@@ -58,7 +69,7 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    inherit cudatoolkit;
+    cudatoolkit = lib.warn "cutensor.passthru: cudaPackages.cudatoolkit is deprecated" cudatoolkit;
     majorVersion = lib.versions.major version;
   };
 
@@ -66,7 +77,11 @@ stdenv.mkDerivation {
     description = "cuTENSOR: A High-Performance CUDA Library For Tensor Primitives";
     homepage = "https://developer.nvidia.com/cutensor";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
+    license = licenses.unfreeRedistributable // {
+      shortName = "cuTENSOR EULA";
+      name = "cuTENSOR SUPPLEMENT TO SOFTWARE LICENSE AGREEMENT FOR NVIDIA SOFTWARE DEVELOPMENT KITS";
+      url = "https://docs.nvidia.com/cuda/cutensor/license.html";
+    };
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ obsidian-systems-maintenance ];
   };
diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix
index 21e6cbf858cd5..25ac539e05f28 100644
--- a/pkgs/development/libraries/science/math/faiss/default.nix
+++ b/pkgs/development/libraries/science/math/faiss/default.nix
@@ -6,8 +6,6 @@
 , cmake
 , cudaPackages ? { }
 , cudaSupport ? config.cudaSupport
-, nvidia-thrust
-, useThrustSourceBuild ? true
 , pythonSupport ? true
 , pythonPackages
 , llvmPackages
@@ -27,8 +25,6 @@
 , runCommand
 }@inputs:
 
-assert cudaSupport -> nvidia-thrust.cudaSupport;
-
 let
   pname = "faiss";
   version = "1.7.4";
@@ -44,9 +40,6 @@ let
       cuda_cudart # cuda_runtime.h
       libcublas
       libcurand
-    ] ++ lib.optionals useThrustSourceBuild [
-      nvidia-thrust
-    ] ++ lib.optionals (!useThrustSourceBuild) [
       cuda_cccl
     ] ++ lib.optionals (cudaPackages ? cuda_profiler_api) [
       cuda_profiler_api # cuda_profiler_api.h
diff --git a/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch b/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
deleted file mode 100644
index 6fa3c703efa99..0000000000000
--- a/pkgs/development/libraries/science/math/tensorflow-lite/eigen_include_dir.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 28103856e..a36909c0e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -449,13 +449,6 @@ install(FILES
-   DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
-   )
- 
--if(EIGEN_BUILD_PKGCONFIG)
--    configure_file(eigen3.pc.in eigen3.pc @ONLY)
--    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
--        DESTINATION ${PKGCONFIG_INSTALL_DIR}
--        )
--endif()
--
- install(DIRECTORY Eigen DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel)
- 
- add_subdirectory(doc EXCLUDE_FROM_ALL)
-@@ -570,8 +563,15 @@ set ( EIGEN_VERSION_MAJOR  ${EIGEN_WORLD_VERSION} )
- set ( EIGEN_VERSION_MINOR  ${EIGEN_MAJOR_VERSION} )
- set ( EIGEN_VERSION_PATCH  ${EIGEN_MINOR_VERSION} )
- set ( EIGEN_DEFINITIONS "")
--set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
- set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
-+GNUInstallDirs_get_absolute_install_dir(EIGEN_INCLUDE_DIR INCLUDE_INSTALL_DIR)
-+
-+if(EIGEN_BUILD_PKGCONFIG)
-+    configure_file(eigen3.pc.in eigen3.pc @ONLY)
-+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
-+        DESTINATION ${PKGCONFIG_INSTALL_DIR}
-+        )
-+endif()
- 
- # Interface libraries require at least CMake 3.0
- if (NOT CMAKE_VERSION VERSION_LESS 3.0)
-diff --git a/eigen3.pc.in b/eigen3.pc.in
-index 3368a3aa1..d6778bf06 100644
---- a/eigen3.pc.in
-+++ b/eigen3.pc.in
-@@ -6,4 +6,4 @@ Description: A C++ template library for linear algebra: vectors, matrices, and r
- Requires:
- Version: @EIGEN_VERSION_NUMBER@
- Libs:
--Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
-+Cflags: -I@EIGEN_INCLUDE_DIR@
diff --git a/pkgs/development/libraries/science/math/tensorrt/extension.nix b/pkgs/development/libraries/science/math/tensorrt/extension.nix
index b4018c6cc284d..ffd9b672684cb 100644
--- a/pkgs/development/libraries/science/math/tensorrt/extension.nix
+++ b/pkgs/development/libraries/science/math/tensorrt/extension.nix
@@ -17,16 +17,32 @@ final: prev: let
     isSupported = fileData: elem cudaVersion fileData.supportedCudaVersions;
     # Return the first file that is supported. In practice there should only ever be one anyway.
     supportedFile = files: findFirst isSupported null files;
-    # Supported versions with versions as keys and file as value
-    supportedVersions = filterAttrs (version: file: file !=null ) (mapAttrs (version: files: supportedFile files) tensorRTVersions);
+
     # Compute versioned attribute name to be used in this package set
     computeName = version: "tensorrt_${toUnderscore version}";
+
+    # Supported versions with versions as keys and file as value
+    supportedVersions = lib.recursiveUpdate
+      {
+        tensorrt = {
+          enable = false;
+          fileVersionCuda = null;
+          fileVersionCudnn = null;
+          fullVersion = "0.0.0";
+          sha256 = null;
+          tarball = null;
+          supportedCudaVersions = [ ];
+        };
+      }
+      (mapAttrs' (version: attrs: nameValuePair (computeName version) attrs)
+        (filterAttrs (version: file: file != null) (mapAttrs (version: files: supportedFile files) tensorRTVersions)));
+
     # Add all supported builds as attributes
-    allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildTensorRTPackage (removeAttrs file ["fileVersionCuda"]))) supportedVersions;
+    allBuilds = mapAttrs (name: file: buildTensorRTPackage (removeAttrs file ["fileVersionCuda"])) supportedVersions;
+
     # Set the default attributes, e.g. tensorrt = tensorrt_8_4;
-    defaultBuild = { "tensorrt" = if allBuilds ? ${computeName tensorRTDefaultVersion}
-      then allBuilds.${computeName tensorRTDefaultVersion}
-      else throw "tensorrt-${tensorRTDefaultVersion} does not support your cuda version ${cudaVersion}"; };
+    defaultName = computeName tensorRTDefaultVersion;
+    defaultBuild = lib.optionalAttrs (allBuilds ? ${defaultName}) { tensorrt = allBuilds.${computeName tensorRTDefaultVersion}; };
   in {
     inherit buildTensorRTPackage;
   } // allBuilds // defaultBuild;
diff --git a/pkgs/development/libraries/science/math/tensorrt/generic.nix b/pkgs/development/libraries/science/math/tensorrt/generic.nix
index 165c6f356da89..2bcdd8e588cf0 100644
--- a/pkgs/development/libraries/science/math/tensorrt/generic.nix
+++ b/pkgs/development/libraries/science/math/tensorrt/generic.nix
@@ -8,20 +8,22 @@
 , cudnn
 }:
 
-{ fullVersion
+{ enable ? true
+, fullVersion
 , fileVersionCudnn ? null
 , tarball
 , sha256
 , supportedCudaVersions ? [ ]
 }:
 
-assert fileVersionCudnn == null || lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn)
+assert !enable || fileVersionCudnn == null || lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn)
   "This version of TensorRT requires at least cuDNN ${fileVersionCudnn} (current version is ${cudnn.version})";
 
 backendStdenv.mkDerivation rec {
   pname = "cudatoolkit-${cudatoolkit.majorVersion}-tensorrt";
   version = fullVersion;
-  src = requireFile rec {
+  src = if !enable then null else
+  requireFile rec {
     name = tarball;
     inherit sha256;
     message = ''
@@ -38,13 +40,13 @@ backendStdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [
+  nativeBuildInputs = lib.optionals enable [
     autoPatchelfHook
     autoAddOpenGLRunpathHook
   ];
 
   # Used by autoPatchelfHook
-  buildInputs = [
+  buildInputs = lib.optionals enable [
     backendStdenv.cc.cc.lib # libstdc++
     cudatoolkit
     cudnn
@@ -75,6 +77,7 @@ backendStdenv.mkDerivation rec {
     '';
 
   passthru.stdenv = backendStdenv;
+  passthru.enable = enable;
 
   meta = with lib; {
     # Check that the cudatoolkit version satisfies our min/max constraints (both
@@ -82,7 +85,7 @@ backendStdenv.mkDerivation rec {
     # official version constraints (as recorded in default.nix). In some cases
     # you _may_ be able to smudge version constraints, just know that you're
     # embarking into unknown and unsupported territory when doing so.
-    broken = !(elem cudaVersion supportedCudaVersions);
+    broken = !enable || !(elem cudaVersion supportedCudaVersions);
     description = "TensorRT: a high-performance deep learning interface";
     homepage = "https://developer.nvidia.com/tensorrt";
     license = licenses.unfree;
diff --git a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
index d046c6864539d..2036c4c86253b 100644
--- a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
+++ b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
@@ -14,10 +14,15 @@
   inherit (cudaPackages) backendStdenv cudaFlags;
 
   cuda-common-redist = with cudaPackages; [
-    cuda_cudart # cuda_runtime.h
-    libcublas # cublas_v2.h
-    libcusolver # cusolverDn.h
-    libcusparse # cusparse.h
+    cuda_cudart.dev # cuda_runtime.h
+    cuda_cudart.lib
+    cuda_cccl.dev # <nv/target>
+    libcublas.dev # cublas_v2.h
+    libcublas.lib
+    libcusolver.dev # cusolverDn.h
+    libcusolver.lib
+    libcusparse.dev # cusparse.h
+    libcusparse.lib
   ];
 
   cuda-native-redist = symlinkJoin {
diff --git a/pkgs/development/libraries/ucc/default.nix b/pkgs/development/libraries/ucc/default.nix
index a92c6bea37d70..68f358b3d3deb 100644
--- a/pkgs/development/libraries/ucc/default.nix
+++ b/pkgs/development/libraries/ucc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, libtool, automake, autoconf, ucx
 , config
 , enableCuda ? config.cudaSupport
-, cudatoolkit
+, cudaPackages
 , enableAvx ? stdenv.hostPlatform.avxSupport
 , enableSse41 ? stdenv.hostPlatform.sse4_1Support
 , enableSse42 ? stdenv.hostPlatform.sse4_2Support
@@ -30,19 +30,25 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  nativeBuildInputs = [ libtool automake autoconf ]
+    ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc ];
+  buildInputs = [ ucx ]
+    ++ lib.optionals enableCuda [
+      cudaPackages.cuda_cccl
+      cudaPackages.cuda_cudart
+    ];
+
+
   preConfigure = ''
     ./autogen.sh
+  '' + lib.optionalString enableCuda ''
+    configureFlagsArray+=( "--with-nvcc-gencode=${builtins.concatStringsSep " " cudaPackages.cudaFlags.gencode}" )
   '';
-
-  nativeBuildInputs = [ libtool automake autoconf ];
-  buildInputs = [ ucx ]
-    ++ lib.optional enableCuda cudatoolkit;
-
   configureFlags = [ ]
    ++ lib.optional enableSse41 "--with-sse41"
    ++ lib.optional enableSse42 "--with-sse42"
    ++ lib.optional enableAvx "--with-avx"
-   ++ lib.optional enableCuda "--with-cuda=${cudatoolkit}";
+   ++ lib.optional enableCuda "--with-cuda=${cudaPackages.cuda_cudart}";
 
   postInstall = ''
     find $out/lib/ -name "*.la" -exec rm -f \{} \;
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index 627cac56bb737..3b923d8efdd2a 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -2,18 +2,12 @@
 , rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin, pkg-config
 , config
 , enableCuda ? config.cudaSupport
-, cudatoolkit
+, cudaPackages
 , enableRocm ? config.rocmSupport
 , rocmPackages
 }:
 
 let
-  # Needed for configure to find all libraries
-  cudatoolkit' = symlinkJoin {
-    inherit (cudatoolkit) name meta;
-    paths = [ cudatoolkit cudatoolkit.lib ];
-  };
-
   rocmList = with rocmPackages; [ rocm-core rocm-runtime rocm-device-libs clr ];
 
   rocm = symlinkJoin {
@@ -35,7 +29,15 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" "dev" ];
 
-  nativeBuildInputs = [ autoreconfHook doxygen pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    doxygen
+    pkg-config
+  ]
+  ++ lib.optionals enableCuda [
+    cudaPackages.cuda_nvcc
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
 
   buildInputs = [
     libbfd
@@ -44,8 +46,16 @@ stdenv.mkDerivation rec {
     perl
     rdma-core
     zlib
-  ] ++ lib.optional enableCuda cudatoolkit
-  ++ lib.optionals enableRocm rocmList;
+  ] ++ lib.optionals enableCuda [
+    cudaPackages.cuda_cudart
+    cudaPackages.cuda_nvml_dev
+
+  ] ++ lib.optionals enableRocm rocmList;
+
+  LDFLAGS = lib.optionals enableCuda [
+    # Fake libnvidia-ml.so (the real one is deployed impurely)
+    "-L${cudaPackages.cuda_nvml_dev}/lib/stubs"
+  ];
 
   configureFlags = [
     "--with-rdmacm=${lib.getDev rdma-core}"
@@ -53,7 +63,7 @@ stdenv.mkDerivation rec {
     "--with-rc"
     "--with-dm"
     "--with-verbs=${lib.getDev rdma-core}"
-  ] ++ lib.optional enableCuda "--with-cuda=${cudatoolkit'}"
+  ] ++ lib.optionals enableCuda [ "--with-cuda=${cudaPackages.cuda_cudart}" ]
   ++ lib.optional enableRocm "--with-rocm=${rocm}";
 
   postInstall = ''
diff --git a/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch b/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch
deleted file mode 100644
index cd51d17b15005..0000000000000
--- a/pkgs/development/libraries/zchunk/0001-meson-fix-argp-standalone.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 1c6b32d..aa7dd25 100644
---- a/meson.build
-+++ b/meson.build
-@@ -58,10 +58,10 @@ endif
- 
- # argp-standalone dependency (if required)
- if build_machine.system() == 'windows' or build_machine.system() == 'darwin' or build_machine.system() == 'freebsd' or not cc.links('#include <argp.h>\nstatic error_t parse_opt (int key, char *arg, struct argp_state *state) { argp_usage(state); return 0; }; void main() {}')
--    if fs.is_dir(join_paths([get_option('prefix'), 'include']))
--        inc += include_directories(join_paths([get_option('prefix'), 'include']))
-+    argplib = cc.find_library('argp', has_headers : ['argp.h'], required: false)
-+    if not argplib.found()
-+        argplib = dependency('argp-standalone')
-     endif
--    argplib = cc.find_library('argp', dirs : join_paths([get_option('prefix'), 'lib']))
- else
-     argplib = dependency('', required : false)
- endif
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index e67b8ee336ed6..4baa18b9d46f4 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.16";
+  version = "1.2.17";
   pname = "zlog";
 
   src = fetchFromGitHub {
     owner = "HardySimpson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wpaMbFKSwTIFe3p65pMJ6Pf2qKp1uYZCyyinGU4AxrQ=";
+    sha256 = "sha256-ckpDMRLxObpl8N539DC5u2bPpmD7jM+KugurUfta6tg=";
   };
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch b/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
deleted file mode 100644
index b380894b04a83..0000000000000
--- a/pkgs/development/lisp-modules-new-obsolete/patches/qtools-use-nix-libs.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Dont use the qt+libs system for managing Qt dependencies, because Nix provides
-them already.
-Don't build the deploy.lisp helper file, because Nix also can handle deployment.
---- a/qtools.asd
-+++ b/qtools.asd
-@@ -33,10 +33,9 @@
-                (:file "generate")
-                (:file "dynamic")
-                (:file "precompile")
--               (:file "deploy")
-                (:file "fast-call")
-                (:file "documentation"))
--  :depends-on (:qt+libs
-+  :depends-on (:qt
-                :deploy
-                :cl-ppcre
-                :closer-mop
-
-Diff finished.  Sun Oct  2 14:38:06 2022
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch b/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch
deleted file mode 100644
index 4acf0a9d3dda9..0000000000000
--- a/pkgs/development/lisp-modules/patches/qt-libs-dont-download.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/qt-libs.asd
-+++ b/qt-libs.asd
-@@ -17,5 +17,4 @@
-   :components ((:file "qt-libs"))
-   :depends-on (:qt-lib-generator
-                :cl-ppcre
--               :cffi)
--  :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
-+               :cffi))
---- a/qt-libs.lisp
-+++ b/qt-libs.lisp
-@@ -94,16 +94,14 @@
-   standalone-dir)
-
- (defun %ensure-lib-loaded (file)
--  (let ((file (etypecase file
--                (pathname file)
--                (string (installed-library-file file))))
--        (name (intern (string-upcase (pathname-name file))))
--        #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
--    (cffi::register-foreign-library
--     name `((T ,file))
--     :search-path (to-directory file))
--    (unless (cffi:foreign-library-loaded-p name)
--      (cffi:load-foreign-library name))))
-+ (let ((name (make-pathname :name (format nil "lib~a" file)
-+                             :type #+unix "so"
-+                                   #+darwin "dylib")))
-+    (or (find-if (lambda (lib)
-+                   (equal (cffi:foreign-library-pathname lib)
-+                          (namestring name)))
-+                 (cffi:list-foreign-libraries))
-+        (cffi:load-foreign-library name))))
-
- (defun ensure-lib-loaded (file)
-   (cond ((pathnamep file)
diff --git a/pkgs/development/ocaml-modules/expat/unittest.patch b/pkgs/development/ocaml-modules/expat/unittest.patch
deleted file mode 100644
index 489b745c503ae..0000000000000
--- a/pkgs/development/ocaml-modules/expat/unittest.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- old/Makefile	2005-03-13 09:00:29.000000000 -0500
-+++ new/Makefile	2010-08-26 14:20:34.515785557 -0400
-@@ -67,10 +67,10 @@
- testall: test testopt
- .PHONY: test
- test: unittest 	
--	./unittest
-+	LD_LIBRARY_PATH=. ./unittest
- .PHONY: testopt
- testopt: unittest.opt
--	./unittest.opt
-+	LD_LIBRARY_PATH=. ./unittest.opt
- unittest: all unittest.ml
- 	$(OCAMLFIND) ocamlc -o unittest -package oUnit -ccopt -L. -linkpkg \
- 	$(ARCHIVE) unittest.ml
diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix
index c044a03a2574f..ed4230fbd01dd 100644
--- a/pkgs/development/ocaml-modules/fix/default.nix
+++ b/pkgs/development/ocaml-modules/fix/default.nix
@@ -2,14 +2,14 @@
 
 buildDunePackage rec {
   pname = "fix";
-  version = "20220121";
+  version = "20230505";
 
   src = fetchFromGitLab {
     domain = "gitlab.inria.fr";
     owner = "fpottier";
     repo = "fix";
     rev = version;
-    sha256 = "sha256-suWkZDLnXEO/4QCGmNuyLFOV0LJsFOMD13gxOcgu6JQ=";
+    sha256 = "sha256-Xuw4pEPqAbQjSHrpMCNE7Th0mpbNMSxdEdwvH4hu2SM=";
   };
 
   minimumOCamlVersion = "4.03";
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
index bbd85889c84d9..16f0242a9bf77 100644
--- a/pkgs/development/ocaml-modules/ocaml-version/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "ocaml-version";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/ocurrent/ocaml-version/releases/download/v${version}/ocaml-version-${version}.tbz";
-    hash = "sha256-AKCaXUehJ3V8uET1tUDDbIzI8lZv5aygxhIbR21xnTI=";
+    hash = "sha256-XJ0xq71ZiR39phQIULXFDLHoj3HntxLI+v2gR0Bp/rI=";
   };
 
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index fec3b438abbe3..0a1595ca6b91c 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -2,16 +2,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "box";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchFromGitHub {
     owner = "box-project";
     repo = "box";
     rev = finalAttrs.version;
-    hash = "sha256-6icHXRxqre2RBIRoc3zfQnxGRHh2kIen2oLJ3eQjD/0=";
+    hash = "sha256-3YfnFd8OZ15nQnXOkhNz2FQygElFn+JOrenKUeyTkXA=";
   };
 
-  vendorHash = "sha256-n/F/il1u+3amSVf8fr0scZSkXuwxW43iq5F2XQJ3xfM=";
+  vendorHash = "sha256-0ul4NLGK+Z+VN1nv4xSGsh2JcJEXeYAYFhxDn7r3kVY=";
 
   meta = {
     changelog = "https://github.com/box-project/box/releases/tag/${finalAttrs.version}";
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 40c6dc80fadff..905de4ccb30ad 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -36,6 +36,7 @@ php.buildComposerProject (finalAttrs: {
     description = "Dependency Manager for PHP";
     homepage = "https://getcomposer.org/";
     license = lib.licenses.mit;
+    mainProgram = "composer";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/grumphp/default.nix b/pkgs/development/php-packages/grumphp/default.nix
index 6367dd996bf20..62608a21acac9 100644
--- a/pkgs/development/php-packages/grumphp/default.nix
+++ b/pkgs/development/php-packages/grumphp/default.nix
@@ -43,6 +43,7 @@ php.buildComposerProject (finalAttrs: {
     description = "A PHP code-quality tool";
     homepage = "https://github.com/phpro/grumphp";
     license = lib.licenses.mit;
+    mainProgram = "grumphp";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index b6d15066f0553..5463fec0d5411 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -20,6 +20,7 @@ php.buildComposerProject (finalAttrs: {
     description = "A static analysis tool for finding errors in PHP applications";
     homepage = "https://github.com/vimeo/psalm";
     license = lib.licenses.mit;
+    mainProgram = "psalm";
     maintainers = lib.teams.php.members;
   };
 })
diff --git a/pkgs/development/php-packages/php-spx/default.nix b/pkgs/development/php-packages/spx/default.nix
index 52beeacf3bbee..020927ccf4910 100644
--- a/pkgs/development/php-packages/php-spx/default.nix
+++ b/pkgs/development/php-packages/spx/default.nix
@@ -4,7 +4,7 @@ let
   version = "0.4.14";
 in buildPecl {
   inherit version;
-  pname = "php-spx";
+  pname = "spx";
 
   src = fetchFromGitHub {
     owner = "NoiseByNorthwest";
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 36b7aa587dda0..101c3f8d9e2d2 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "66";
+  version = "67";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-UWKsx7giGrNR04X/2vgdaCFulxbzQkvlRfCEodVoHY8=";
+    hash = "sha256-bad9wDV8kGEXjdjQ8GKhUsdMHqTohLjJJWH+gJCvuIo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aws-xray-sdk/default.nix b/pkgs/development/python-modules/aws-xray-sdk/default.nix
index e2fb2414a2c0d..de02fdf8a88eb 100644
--- a/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -1,35 +1,77 @@
 { lib
+, aiohttp
+, botocore
+, bottle
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
+, django
+, fetchFromGitHub
+, httpx
 , importlib-metadata
 , jsonpickle
-, wrapt
+, pymysql
+, pytest-asyncio
+, pynamodb
+, pytestCheckHook
+, pythonOlder
 , requests
-, future
-, botocore
+, sqlalchemy
+, webtest
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.12.0";
+  version = "2.12.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-KVr8I3BzqAlW19TyfDGDDty5qMzKnviqRJkLre8V5bc=";
+  src = fetchFromGitHub {
+    owner = "aws";
+    repo = "aws-xray-sdk-python";
+    rev = "refs/tags/${version}";
+    hash = "sha256-NLFNst4Yqsz2u5IXwe8OdJPW77irLRO5tWWn1uV3tMg=";
   };
 
   propagatedBuildInputs = [
-    jsonpickle wrapt requests future botocore
+    botocore
+    jsonpickle
+    requests
+    wrapt
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  meta = {
+  nativeCheckInputs = [
+    aiohttp
+    bottle
+    django
+    httpx
+    pymysql
+    pynamodb
+    pytest-asyncio
+    pytestCheckHook
+    sqlalchemy
+    webtest
+  ];
+
+  disabledTestPaths = [
+    # This reduces the amount of dependencies
+    "tests/ext/"
+    # We don't care about benchmarks
+    "tests/test_local_sampling_benchmark.py"
+    "tests/test_patcher.py"
+  ];
+
+  pythonImportsCheck = [
+    "aws_xray_sdk"
+  ];
+
+  meta = with lib; {
     description = "AWS X-Ray SDK for the Python programming language";
-    license = lib.licenses.asl20;
     homepage = "https://github.com/aws/aws-xray-sdk-python";
+    changelog = "https://github.com/aws/aws-xray-sdk-python/blob/${version}/CHANGELOG.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
-  doCheck = false;
 }
diff --git a/pkgs/development/python-modules/bdffont/default.nix b/pkgs/development/python-modules/bdffont/default.nix
new file mode 100644
index 0000000000000..e9e0595f3f153
--- /dev/null
+++ b/pkgs/development/python-modules/bdffont/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, brotli
+, fonttools
+}:
+
+buildPythonPackage rec {
+  pname = "bdffont";
+  version = "0.0.15";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-aXK6zqLFfqLXa/JLmSSW3gtC2+wtutz3/lLdYPZZ/ys=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/bdffont";
+    description = "A library for manipulating .bdf format fonts";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 29adc4aa473f6..a6407cf272448 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.33.0";
+  version = "1.33.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-9f8WY8hvxlPbFk6zYTH+80sOxa51hPWVZNpuqBA9IPQ=";
+    hash = "sha256-A1b/D8kY2N74vfx4UjeR60zlXCVcHr5JuhBeFoyBfc0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 750e3908cd3f0..7c22634f2a3c5 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.3.4";
+  version = "5.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kCPfaoli2nnrMMDITV9IY9l5OkZjVMyTHX9yQjmW3ig=";
+    hash = "sha256-hwzHHXN8AgDDlykNcwNEzJkdE6BXU0NT0STJOAJnqrk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/character-encoding-utils/default.nix b/pkgs/development/python-modules/character-encoding-utils/default.nix
new file mode 100644
index 0000000000000..dd0e3b60fe1f4
--- /dev/null
+++ b/pkgs/development/python-modules/character-encoding-utils/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+}:
+
+buildPythonPackage rec {
+  pname = "character-encoding-utils";
+  version = "0.0.6";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "character_encoding_utils";
+    inherit version;
+    hash = "sha256-ugzWiSpa/xxlraVyVPTSq/uxPg11kOyePgb1cmzX3ug=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/character-encoding-utils";
+    description = "Some character encoding utils";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index e5de149fca14a..71defbb99b985 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -11,11 +11,34 @@
 , cudaPackages
 , addOpenGLRunpath
 , pythonOlder
+, symlinkJoin
 }:
 
 let
-  inherit (cudaPackages) cudatoolkit cudnn cutensor nccl;
-in buildPythonPackage rec {
+  inherit (cudaPackages) cudnn cutensor nccl;
+  cudatoolkit-joined = symlinkJoin {
+    name = "cudatoolkit-joined-${cudaPackages.cudaVersion}";
+    paths = with cudaPackages; [
+      cuda_cccl # <nv/target>
+      cuda_cccl.dev
+      cuda_cudart
+      cuda_nvcc.dev # <crt/host_defines.h>
+      cuda_nvprof
+      cuda_nvrtc
+      cuda_nvtx
+      cuda_profiler_api
+      libcublas
+      libcufft
+      libcurand
+      libcusolver
+      libcusparse
+
+      # Missing:
+      # cusparselt
+    ];
+  };
+in
+buildPythonPackage rec {
   pname = "cupy";
   version = "12.2.0";
 
@@ -32,27 +55,32 @@ in buildPythonPackage rec {
   # very short builds and a few extremely long ones, so setting both ends up
   # working nicely in practice.
   preConfigure = ''
-    export CUDA_PATH=${cudatoolkit}
     export CUPY_NUM_BUILD_JOBS="$NIX_BUILD_CORES"
     export CUPY_NUM_NVCC_THREADS="$NIX_BUILD_CORES"
   '';
 
   nativeBuildInputs = [
+    setuptools
+    wheel
     addOpenGLRunpath
     cython
+    cudaPackages.cuda_nvcc
   ];
 
-  LDFLAGS = "-L${cudatoolkit}/lib/stubs";
-
-  propagatedBuildInputs = [
-    cudatoolkit
+  buildInputs = [
+    cudatoolkit-joined
     cudnn
     cutensor
     nccl
+  ];
+
+  NVCC = "${lib.getExe cudaPackages.cuda_nvcc}"; # FIXME: splicing/buildPackages
+  CUDA_PATH = "${cudatoolkit-joined}";
+  LDFLAGS = "-L${cudaPackages.cuda_cudart}/lib/stubs";
+
+  propagatedBuildInputs = [
     fastrlock
     numpy
-    setuptools
-    wheel
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index 233067fbbce31..fd935fabb0a60 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.15.0";
+  version = "2.20.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-TgkOE6gOFbrbHsllpAZuNNQm3EqCrWW5WSMKqW8bOuI=";
+    hash = "sha256-dvgexjzA/1/0p2xgjTWBQeaEKWEv/7XdhtSkyT/DN6I=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/pkgs/development/python-modules/dvc-render/default.nix b/pkgs/development/python-modules/dvc-render/default.nix
index c0ab18a4d17c7..1d7de80cf6612 100644
--- a/pkgs/development/python-modules/dvc-render/default.nix
+++ b/pkgs/development/python-modules/dvc-render/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-render";
-  version = "0.6.0";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-seL96aOJ554pD7lgzXZFDCXqY/3TAQugWMA7MtqKoAE=";
+    hash = "sha256-OrfepQuLBNa5m3Sy4NzFOArtFFvaNtNNVJ8DNN3yT6s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dvc/dvc-daemon.patch b/pkgs/development/python-modules/dvc/dvc-daemon.patch
deleted file mode 100644
index 65ba630f3b80d..0000000000000
--- a/pkgs/development/python-modules/dvc/dvc-daemon.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/dvc/daemon.py b/dvc/daemon.py
-index 9854a0e1..fefdd613 100644
---- a/dvc/daemon.py
-+++ b/dvc/daemon.py
-@@ -103,11 +103,8 @@ def daemon(args):
-         logger.debug("skipping launching a new daemon.")
-         return
- 
--    cmd = ["daemon", "-q"] + args
--
--    env = fix_env()
--    file_path = os.path.abspath(inspect.stack()[0][1])
--    env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
-+    cmd = [ "@dvc@" , "daemon", "-q"] + args
-+    env = os.environ.copy()
-     env[DVC_DAEMON] = "1"
- 
-     _spawn(cmd, env)
diff --git a/pkgs/development/python-modules/easyenergy/default.nix b/pkgs/development/python-modules/easyenergy/default.nix
index 8b6092e13c40d..13184bb6bc6e9 100644
--- a/pkgs/development/python-modules/easyenergy/default.nix
+++ b/pkgs/development/python-modules/easyenergy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "easyenergy";
-  version = "1.0.0";
+  version = "2.0.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-easyenergy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HdCrbEk1b+FZzDoMoLcNaPFEHQfDoQsePKmESM9Qhds=";
+    hash = "sha256-MqKhI38sEeTWiQn4IRivN0Rrq0ZMx4Pt0cFpsZQw/BI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch b/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch
deleted file mode 100644
index 52df6e9a50e68..0000000000000
--- a/pkgs/development/python-modules/enamlx/replace-unicode-with-str.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 16df11227b8cee724624541d274e481802ea67e3 Mon Sep 17 00:00:00 2001
-From: frmdstryr <frmdstryr@protonmail.com>
-Date: Tue, 3 Nov 2020 21:41:52 -0500
-Subject: [PATCH] Replace Unicode with Str
-
----
- enamlx/widgets/abstract_item.py      |  4 ++--
- enamlx/widgets/console.py            |  4 ++--
- enamlx/widgets/graphics_view.py      |  8 ++++----
- enamlx/widgets/plot_area.py          | 14 +++++++-------
- examples/occ_viewer/advanced.enaml   | 12 ++++++------
- examples/occ_viewer/occ/part.py      |  6 +++---
- examples/plot_area/plot_area.enaml   |  2 +-
- examples/table_view/table_view.enaml |  6 +++---
- examples/tree_view/tree_view.enaml   |  6 +++---
- setup.py                             |  2 +-
- 10 files changed, 32 insertions(+), 32 deletions(-)
-
-diff --git a/enamlx/widgets/abstract_item.py b/enamlx/widgets/abstract_item.py
-index 29a3d87..67a5c6e 100644
---- a/enamlx/widgets/abstract_item.py
-+++ b/enamlx/widgets/abstract_item.py
-@@ -6,7 +6,7 @@
- Created on Aug 24, 2015
- """
- from atom.api import (
--    Int, Enum, Bool, Unicode, Typed, 
-+    Int, Enum, Bool, Str, Typed, 
-     Coerced, Event, Property, ForwardInstance, observe
- )
- from enaml.icon import Icon
-@@ -96,7 +96,7 @@ class AbstractWidgetItem(AbstractWidgetItemGroup):
-     column = d_(Int(), writable=False)
-     
-     #: Text to display within the cell
--    text = d_(Unicode())
-+    text = d_(Str())
-     
-     #: Text alignment within the cell
-     text_alignment = d_(Enum(*[(h, v)
-diff --git a/enamlx/widgets/console.py b/enamlx/widgets/console.py
-index bc61e90..2f1e981 100644
---- a/enamlx/widgets/console.py
-+++ b/enamlx/widgets/console.py
-@@ -7,7 +7,7 @@
- """
- 
- from atom.api import (
--    Instance, Coerced, Int, Enum, Unicode, Dict, Bool,
-+    Instance, Coerced, Int, Enum, Str, Dict, Bool,
-     Typed, ForwardTyped, observe
- )
- from enaml.core.api import d_
-@@ -47,7 +47,7 @@ class Console(Container):
-     proxy = Typed(ProxyConsole)
-     
-     #: Font family, leave blank for default
--    font_family = d_(Unicode())
-+    font_family = d_(Str())
-     
-     #: Font size, leave 0 for default
-     font_size = d_(Int(0))
-diff --git a/enamlx/widgets/graphics_view.py b/enamlx/widgets/graphics_view.py
-index f7e3e47..e672c63 100644
---- a/enamlx/widgets/graphics_view.py
-+++ b/enamlx/widgets/graphics_view.py
-@@ -7,7 +7,7 @@
- import sys
- from atom.api import (
-     Atom, Float, Int, Typed, Bool, Coerced, ForwardTyped, Enum, List, IntEnum,
--    Instance, Unicode, Value, Event, Property, observe, set_default
-+    Instance, Str, Value, Event, Property, observe, set_default
- )
- from enaml.colors import ColorMember
- from enaml.core.declarative import d_, d_func
-@@ -419,10 +419,10 @@ class GraphicsItem(ToolkitObject, ConstrainableMixin):
-     visible = d_(Bool(True))
-     
-     #: Tool tip
--    tool_tip = d_(Unicode())
-+    tool_tip = d_(Str())
-     
-     #: Status tip
--    status_tip = d_(Unicode())
-+    status_tip = d_(Str())
-     
-     # --------------------------------------------------------------------------
-     # Item interaction
-@@ -919,7 +919,7 @@ class GraphicsTextItem(AbstractGraphicsShapeItem):
-     proxy = Typed(ProxyGraphicsTextItem)
-     
-     #: Text
--    text = d_(Unicode())
-+    text = d_(Str())
-     
-     #: Font
-     font = d_(FontMember())
-diff --git a/enamlx/widgets/plot_area.py b/enamlx/widgets/plot_area.py
-index 5136693..383957b 100644
---- a/enamlx/widgets/plot_area.py
-+++ b/enamlx/widgets/plot_area.py
-@@ -8,7 +8,7 @@
- import sys
- from atom.atom import set_default
- from atom.api import (Callable, Int, Tuple, Instance, Enum, Float,
--                      ContainerList, Bool, FloatRange, Unicode, Dict, Typed,
-+                      ContainerList, Bool, FloatRange, Str, Dict, Typed,
-                       ForwardTyped, observe)
- from enaml.core.declarative import d_
- from enaml.widgets.api import Container
-@@ -41,10 +41,10 @@ class PlotArea(Container):
- 
- class PlotItem(Control):
-     #: Title of data series
--    title = d_(Unicode())
-+    title = d_(Str())
- 
-     #: Name
--    name = d_(Unicode())
-+    name = d_(Str())
- 
-     #: Row in plot area
-     row = d_(Int(0))
-@@ -89,10 +89,10 @@ class PlotItem(Control):
-     #: Show legend
-     show_legend = d_(Bool(False))
- 
--    label_left = d_(Unicode())
--    label_right = d_(Unicode())
--    label_top = d_(Unicode())
--    label_bottom = d_(Unicode())
-+    label_left = d_(Str())
-+    label_right = d_(Str())
-+    label_top = d_(Str())
-+    label_bottom = d_(Str())
- 
-     # H, V
-     grid = d_(Tuple(bool, default=(False, False)))
-diff --git a/examples/occ_viewer/advanced.enaml b/examples/occ_viewer/advanced.enaml
-index 872d44d..f1c48d5 100644
---- a/examples/occ_viewer/advanced.enaml
-+++ b/examples/occ_viewer/advanced.enaml
-@@ -15,7 +15,7 @@ is then used to unroll a list of these controls into the body of a form.
- 
- << autodoc-me >>
- """
--from atom.api import Atom, Bool, Enum, Event, Float, Int, Str, Unicode
-+from atom.api import Atom, Bool, Enum, Event, Float, Int, Str, Str
- 
- from enaml.core.api import DynamicTemplate
- from enaml.stdlib.fields import FloatField
-@@ -73,8 +73,8 @@ template FormControl(Attr, MemberType: Str):
-         text :: setattr(model, Attr, str(text))
- 
- 
--template FormControl(Attr, MemberType: Unicode):
--    """ A form control template specialization for Unicode members.
-+template FormControl(Attr, MemberType: Str):
-+    """ A form control template specialization for Str members.
- 
-     This control uses a Field to represent the value.
- 
-@@ -174,7 +174,7 @@ def form_spec(obtype, model):
-     
-     typemap = {int:Int,
-                float:Float,
--               unicode:Unicode,
-+               unicode:Str,
-                str:Str}
-     for name, member in obtype.members().iteritems():
-         if (not name.startswith('_') 
-@@ -263,14 +263,14 @@ class FooModel(Atom):
-     ham = Int(42)
-     first = Str('first')
-     last = Str('last')
--    owner = Unicode('owner')
-+    owner = Str('owner')
-     time = Float(42.56)
-     click = Bool()
-     clack = Bool()
- 
- 
- class BarModel(Atom):
--    name = Unicode('name')
-+    name = Str('name')
-     trigger = Event()
-     choices = Enum('first', 'second', 'third')
-     def _observe_trigger(self, change):
-diff --git a/examples/occ_viewer/occ/part.py b/examples/occ_viewer/occ/part.py
-index 1fe2b85..144354f 100644
---- a/examples/occ_viewer/occ/part.py
-+++ b/examples/occ_viewer/occ/part.py
-@@ -5,7 +5,7 @@
- '''
- 
- from atom.api import (
--    Typed, ForwardTyped, Unicode
-+    Typed, ForwardTyped, Str
- )
- from enaml.core.declarative import d_
- 
-@@ -26,10 +26,10 @@ class Part(ToolkitObject):
-     proxy = Typed(ProxyPart)
-     
-     #: Optional name of the part
--    name = d_(Unicode())
-+    name = d_(Str())
-     
-     #: Optional description of the part
--    description = d_(Unicode())
-+    description = d_(Str())
-     
-     @property
-     def shapes(self):
-diff --git a/examples/plot_area/plot_area.enaml b/examples/plot_area/plot_area.enaml
-index 2085c8f..b5cd3c4 100644
---- a/examples/plot_area/plot_area.enaml
-+++ b/examples/plot_area/plot_area.enaml
-@@ -2,7 +2,7 @@
- Demonstrating the examples from pyqtgraph
- """
- 
--from atom.api import (Atom, Unicode, Range, List, Bool)
-+from atom.api import (Atom, Str, Range, List, Bool)
- 
- from enaml.widgets.api import (
-     Window, Container, DockArea,DockItem,PushButton, CheckBox, RadioButton
-diff --git a/examples/table_view/table_view.enaml b/examples/table_view/table_view.enaml
-index 6d7a35e..6fef544 100644
---- a/examples/table_view/table_view.enaml
-+++ b/examples/table_view/table_view.enaml
-@@ -2,7 +2,7 @@ import os
- import time
- import random
- from threading import Thread
--from atom.api import (Atom, Unicode, Range, ContainerList, Bool)
-+from atom.api import (Atom, Str, Range, ContainerList, Bool)
- 
- from enamlx.widgets.table_view import (
-     TableView, TableViewRow, TableViewItem
-@@ -38,9 +38,9 @@ class Person(Atom):
-     """ A simple class representing a person object.
- 
-     """
--    last_name = Unicode()
-+    last_name = Str()
- 
--    first_name = Unicode()
-+    first_name = Str()
- 
-     age = Range(low=0)
- 
-diff --git a/examples/tree_view/tree_view.enaml b/examples/tree_view/tree_view.enaml
-index 37f991f..e88e1fd 100644
---- a/examples/tree_view/tree_view.enaml
-+++ b/examples/tree_view/tree_view.enaml
-@@ -1,5 +1,5 @@
- import os
--from atom.api import (Atom, Unicode, Range, List, Bool, ForwardInstance)
-+from atom.api import (Atom, Str, Range, List, Bool, ForwardInstance)
- 
- from enamlx.widgets.api import (
-     TreeView, TreeViewItem, TreeViewColumn, 
-@@ -33,9 +33,9 @@ class Person(Atom):
-     """ A simple class representing a person object.
- 
-     """
--    last_name = Unicode()
-+    last_name = Str()
- 
--    first_name = Unicode()
-+    first_name = Str()
-     
-     children = List(ForwardInstance(lambda:Person))
diff --git a/pkgs/development/python-modules/energyzero/default.nix b/pkgs/development/python-modules/energyzero/default.nix
index 0b0acc5dab06a..de8c8b27c1627 100644
--- a/pkgs/development/python-modules/energyzero/default.nix
+++ b/pkgs/development/python-modules/energyzero/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "energyzero";
-  version = "1.0.0";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-energyzero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EsZYEc4Hf99PoP5X9LEgcGftI7597P4l1LTepTabGqU=";
+    hash = "sha256-iyvjXpJWFtC03xhpCBQ9wuEZQbP+zX5KrPj8MYqCvBg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/evohome-async/default.nix b/pkgs/development/python-modules/evohome-async/default.nix
index 440492e1e8607..3f8372c0c898d 100644
--- a/pkgs/development/python-modules/evohome-async/default.nix
+++ b/pkgs/development/python-modules/evohome-async/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "evohome-async";
-  version = "0.4.13";
+  version = "0.4.15";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "zxdavb";
     repo = "evohome-async";
     rev = "refs/tags/${version}";
-    hash = "sha256-Fa6OYI1oEG4oUkLaPgWmvNHtK6Iwal/4nBf9b54Ue+g=";
+    hash = "sha256-ulkLl3K62MFUzFWUdsog4Q+jJ9uZjxNvDQTaWDhkhjo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/exrex/default.nix b/pkgs/development/python-modules/exrex/default.nix
index 2ef58acc9093d..fd7982ee778c3 100644
--- a/pkgs/development/python-modules/exrex/default.nix
+++ b/pkgs/development/python-modules/exrex/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "exrex";
   version = "0.11.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -24,6 +25,12 @@ buildPythonPackage rec {
       --replace "version=about['__version__']," "version='${version}',"
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  dontWrapPythonPrograms = true;
+
   # Projec thas no released tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/faulthandler/disable-env-test.patch b/pkgs/development/python-modules/faulthandler/disable-env-test.patch
deleted file mode 100644
index 5824652f6175e..0000000000000
--- a/pkgs/development/python-modules/faulthandler/disable-env-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests.py b/tests.py
-index e5a2811..16e7a0f 100644
---- a/tests.py
-+++ b/tests.py
-@@ -394,7 +394,7 @@ class FaultHandlerTests(unittest.TestCase):
-             print(faulthandler.is_enabled())
-             """,
-             env=dict(os.environ, PYTHONFAULTHANDLER='x'))
--        self.assertEqual(output, ["True"])
-+        #self.assertEqual(output, ["True"])
-         self.assertEqual(exitcode, 0)
- 
-         output, exitcode = self.get_output("""
diff --git a/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch b/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch
deleted file mode 100644
index f2bf072b7f0ae..0000000000000
--- a/pkgs/development/python-modules/flask-appbuilder/upgrade-to-flask_jwt_extended-4.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/flask_appbuilder/security/api.py b/flask_appbuilder/security/api.py
-index 2e2dfd612..df1bd5a25 100644
---- a/flask_appbuilder/security/api.py
-+++ b/flask_appbuilder/security/api.py
-@@ -3,7 +3,7 @@
-     create_access_token,
-     create_refresh_token,
-     get_jwt_identity,
--    jwt_refresh_token_required,
-+    jwt_required,
- )
- 
- from ..api import BaseApi, safe
-@@ -118,7 +118,7 @@ def login(self):
-         return self.response(200, **resp)
- 
-     @expose("/refresh", methods=["POST"])
--    @jwt_refresh_token_required
-+    @jwt_required(refresh=True)
-     @safe
-     def refresh(self):
-         """
-diff --git a/flask_appbuilder/security/manager.py b/flask_appbuilder/security/manager.py
-index fe7697007..3b22ab255 100644
---- a/flask_appbuilder/security/manager.py
-+++ b/flask_appbuilder/security/manager.py
-@@ -297,7 +297,7 @@ def create_jwt_manager(self, app) -> JWTManager:
-         """
-         jwt_manager = JWTManager()
-         jwt_manager.init_app(app)
--        jwt_manager.user_loader_callback_loader(self.load_user_jwt)
-+        jwt_manager.user_lookup_loader(self.load_user_jwt)
-         return jwt_manager
- 
-     def create_builtin_roles(self):
-@@ -1944,7 +1944,8 @@ def del_permission_role(self, role, perm_view):
-     def load_user(self, pk):
-         return self.get_user_by_id(int(pk))
- 
--    def load_user_jwt(self, pk):
-+    def load_user_jwt(self, _jwt_header, jwt_data):
-+        pk = jwt_data["sub"]
-         user = self.load_user(pk)
-         # Set flask g.user to JWT user, we can't do it on before request
-         g.user = user
diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix
index f42d8413dd32e..237379c600fb7 100644
--- a/pkgs/development/python-modules/habluetooth/default.nix
+++ b/pkgs/development/python-modules/habluetooth/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "habluetooth";
-  version = "0.5.1";
+  version = "0.9.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "habluetooth";
     rev = "refs/tags/v${version}";
-    hash = "sha256-olR900l/xJug5DeXb8CR0vQBzjzegdiCLCp6AIQu7Tg=";
+    hash = "sha256-jAv3ygKsd2leHTR6FAIxaq+PtQbjauzyA+wvxTfTe2g=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index 26f04edbc0242..e2b8420911539 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WoQOh6cKFcnB4GGWvD7VlV53LxHpsYA+iMDJ9VrwNBY=";
+    hash = "sha256-HuFwRW/SuGrzMX9bttdqztFRB19dZZNF5Y8+e9gAQWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ihm/default.nix b/pkgs/development/python-modules/ihm/default.nix
index b56459317f34c..387b093f8a611 100644
--- a/pkgs/development/python-modules/ihm/default.nix
+++ b/pkgs/development/python-modules/ihm/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "ihm";
-  version = "0.41";
+  version = "0.42";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ihmwg";
     repo = "python-ihm";
     rev = "refs/tags/${version}";
-    hash = "sha256-weeOizVWFcOxD45QsvEaoknTofZjglCvidyvXpyRKwc=";
+    hash = "sha256-BIw+ytk4IvtMkm8FZdKQ7hvYdJLdNo6SY100WVawgF8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index 203aa49db8fb6..d2052cccecb05 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -27,7 +27,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.20";
+  version = "0.4.21";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -37,7 +37,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-WLYXUtchOaA6SGnKuVhN9CmV06xMCLQTEuEtL13ttZU=";
+    hash = "sha256-CMsW/t4/itJxN4pST8EKkN0ooHWdjRnLs073FwbXRJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index d80cbc2a60183..139cb881e5911 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -29,13 +29,13 @@
 , stdenv
   # Options:
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 }:
 
 let
-  inherit (cudaPackages) cudatoolkit cudnn;
+  inherit (cudaPackagesGoogle) cudatoolkit cudnn;
 
-  version = "0.4.20";
+  version = "0.4.21";
 
   inherit (python) pythonVersion;
 
@@ -56,65 +56,65 @@ let
       "3.9-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp39";
-        hash = "sha256-eIE+rz5x5BEkO85zncIWE8p/wDPxV8bnVJdHiknS998=";
+        hash = "sha256-mFA/ZSlluDy96Dy7Ez5MyV/onyXOXfwr+v4YBJ8YAKM=";
       };
       "3.9-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp39";
-        hash = "sha256-dxInv8/aQiHsN7DpScuZao2ZyHDjF0AaTqUDA0qqg/M=";
+        hash = "sha256-pxFJPKl7LqwRpL0u53zAmp1XvFKPXv0tT/ioQ3EF/Cs=";
       };
       "3.9-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp39";
-        hash = "sha256-wva6LkSokEHN+WQLCancVC7YBIxfImPsQpB1LzFcyqM=";
+        hash = "sha256-m8VBotK4tvrEgi8Ub5diHjTv8KU5C384srlSIRcX50o=";
       };
 
       "3.10-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp310";
-        hash = "sha256-Yo2TYnkIelyy4vb5+nC/yY8SjV34i/jJvCe/VRQppmo=";
+        hash = "sha256-jd4+HWPtGt4xLCabVWg99MP+F2bwrhMAJ/BAXfRmIZE=";
       };
       "3.10-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp310";
-        hash = "sha256-ufA/ACE4s4R/Fiq5SN7T44SVEN1Z5OfkJ/98lKxRFmo=";
+        hash = "sha256-/zEl2jm9A5iwELPPaSeLlubaFyIkgwdNFzCMKaLvK2A=";
       };
       "3.10-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp310";
-        hash = "sha256-hBSrYQyOGMn0BexRWQKYnJdEYYlzHUWuWGHmjVT10TE=";
+        hash = "sha256-BaMQQHdIGtRKDDvjacYLhD7lB058Q8ZYVo6JckVjyxE=";
       };
 
       "3.11-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp311";
-        hash = "sha256-5N0nghTBrsa7d8kt8hZC2ghqlxCNC7U8ApD0PG7DHn8=";
+        hash = "sha256-/N41pyv1AOFegCXUH/XmOUiaAfH5/k/ydT8JaFGq+bM=";
       };
       "3.11-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp311";
-        hash = "sha256-j13Br64cKe0hFh/cMBbOMuTXqauAvSKE+KzEmN7U6RA=";
+        hash = "sha256-gYN77bddkBWYQIzPWXusN+xwpga47zSAFdQ4php+AZM=";
       };
       "3.11-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp311";
-        hash = "sha256-nTnyawU4Ngq9VTE6oDuEfR6iJPRy+E/VLt98cU6eW4M=";
+        hash = "sha256-GaneuQIfERYAcHQtQ6OwL87098QS+h8GrZOfmef0a70=";
       };
 
       "3.12-x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
         dist = "cp312";
-        hash = "sha256-qPMoa7cso7DRBWuCJQoiOEzLPL3m76MPZZMYmZUj400=";
+        hash = "sha256-AkyF07UGTfkQHJ/qN2lHe0ki1Fh1uJZkkGQYRkiTIis=";
       };
       "3.12-aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
         dist = "cp312";
-        hash = "sha256-VqTC5egDHaDIvwVa3sAc9Sdtd0CwEFcXjDU/i54h844=";
+        hash = "sha256-qGxiVdHNChS5WObW8j9E6G/oEa9FOLRY0/xowQNns0Y=";
       };
       "3.12-x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
         dist = "cp312";
-        hash = "sha256-1F98Je2rMJJKrksI/EVAsX9n+dOpmDehUeAaMq/BY7o=";
+        hash = "sha256-eYDUrenaHxlCvBYbt12r2VMLBpBBU6o/3ekyj9Ll+AE=";
       };
     };
 
@@ -124,19 +124,19 @@ let
   gpuSrcs = {
     "3.9" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp39-cp39-manylinux2014_x86_64.whl";
-      hash = "sha256-VM2HuyMnG+hzrsTQEB5KJpqpBXyyp+eV1LVxmY1ZCGU=";
+      hash = "sha256-VKWX2pTgHWXzbUYXkshmPRxiBs6YDw1WeK72TY1koLc=";
     };
     "3.10" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl";
-      hash = "sha256-TLq3z3T2fjTcO3ESahboKG33mrOpjtj9C92f4d4nJKo=";
+      hash = "sha256-/4wNdMHNT1izYfyX58KH9CAgnQPcv1/GjNlKhFM4X/U=";
     };
     "3.11" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp311-cp311-manylinux2014_x86_64.whl";
-      hash = "sha256-CUXwyJq0HOo2j3Sw+NguBCnFkDuJpc3wfZUc90yyhOY=";
+      hash = "sha256-xAITc/5KbAiaKp6020OWFD7SL3FQGvE0jQcHckIjb7s=";
     };
     "3.12" = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp312-cp312-manylinux2014_x86_64.whl";
-      hash = "sha256-bAR8FLtiqufU+rL2a1q9c61CjH1eXxGTNGnDUkHlDBA=";
+      hash = "sha256-tTbpoF/YINx2Vw1JNKsh3PqUbHqQ1XnQLGFczGmimCw=";
     };
   };
 
@@ -210,8 +210,8 @@ buildPythonPackage {
     maintainers = with maintainers; [ samuela ];
     platforms = [ "aarch64-darwin" "x86_64-linux" "x86_64-darwin" ];
     broken =
-      !(cudaSupport -> (cudaPackages ? cudatoolkit) && lib.versionAtLeast cudatoolkit.version "11.1")
-      || !(cudaSupport -> (cudaPackages ? cudnn) && lib.versionAtLeast cudnn.version "8.2")
+      !(cudaSupport -> (cudaPackagesGoogle ? cudatoolkit) && lib.versionAtLeast cudatoolkit.version "11.1")
+      || !(cudaSupport -> (cudaPackagesGoogle ? cudnn) && lib.versionAtLeast cudnn.version "8.2")
       || !(cudaSupport -> stdenv.isLinux);
   };
 }
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index c70ab0ac2b327..4293cc781cb89 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -44,17 +44,17 @@
 , config
   # CUDA flags:
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 
   # MKL:
 , mklSupport ? true
 }:
 
 let
-  inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
+  inherit (cudaPackagesGoogle) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.20";
+  version = "0.4.21";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -150,7 +150,7 @@ let
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-WLYXUtchOaA6SGnKuVhN9CmV06xMCLQTEuEtL13ttZU=";
+      hash = "sha256-CMsW/t4/itJxN4pST8EKkN0ooHWdjRnLs073FwbXRJM=";
     };
 
     nativeBuildInputs = [
@@ -263,10 +263,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-QczClHxHElLZCqIZlHc3z3DXJ7rZQJaMs2XIb+lxarI=";
+        x86_64-linux = "sha256-TgIH7r1IXNkbOFSXvaKVbU9kL+TuQqxVrBge7iv2ykQ=";
       } else {
-        x86_64-linux = "sha256-mqiJe4u0NYh1PKCbQfbo0U2e9/kYiBqj98d+BPHFSxQ=";
-        aarch64-linux = "sha256-EuLqamVBJ+qoVMCFIYUT846AghltZolfLGdtO9UeXSM=";
+        x86_64-linux = "sha256-on14CAolJ3mvJmKxX2PE21BsYOJJFUSQuUOnOuVR2GQ=";
+        aarch64-linux = "sha256-2tcIiQlMUKMc+juCy+dt37s+lFqr2pcVizCyYkkQtOM=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix
index aa4b10d49d5f7..4a66ff5a364ac 100644
--- a/pkgs/development/python-modules/labgrid/default.nix
+++ b/pkgs/development/python-modules/labgrid/default.nix
@@ -25,13 +25,13 @@
 
 buildPythonPackage rec {
   pname = "labgrid";
-  version = "23.0.3";
+  version = "23.0.4";
 
   src = fetchFromGitHub {
     owner = "labgrid-project";
     repo = "labgrid";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-yhlBqqCLOt6liw4iv8itG6E4QfIa7cW76QJqefUM5dw=";
+    sha256 = "sha256-EEPQSIHKAmLPudv7LLm9ol3Kukgz8edYKfDi+wvERpk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lcd-i2c/default.nix b/pkgs/development/python-modules/lcd-i2c/default.nix
new file mode 100644
index 0000000000000..7ba9be221dde1
--- /dev/null
+++ b/pkgs/development/python-modules/lcd-i2c/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, python3
+, fetchPypi
+, buildPythonPackage
+, smbus2
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "lcd-i2c";
+  version = "0.2.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-NYBaCXBmuTziT0WYEqrW10HRmRy3jpjH3YWQh5Y/TdQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    smbus2
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with an I2C LCD screen through Python";
+    homepage = "https://pypi.org/project/lcd-i2c/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oliver-koss ];
+    mainProgram = "lcd-i2c";
+  };
+}
diff --git a/pkgs/development/python-modules/linien-client/default.nix b/pkgs/development/python-modules/linien-client/default.nix
new file mode 100644
index 0000000000000..0cbd9b2d9adb0
--- /dev/null
+++ b/pkgs/development/python-modules/linien-client/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, linien-common
+, setuptools
+, fabric
+, typing-extensions
+, numpy
+, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "linien-client";
+  pyproject = true;
+
+  inherit (linien-common) src version;
+
+  sourceRoot = "source/linien-client";
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    fabric
+    typing-extensions
+    numpy
+    scipy
+    linien-common
+  ];
+
+  pythonImportsCheck = [ "linien_client" ];
+
+  meta = with lib; {
+    description = "Client components of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-client";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/linien-common/default.nix b/pkgs/development/python-modules/linien-common/default.nix
new file mode 100644
index 0000000000000..23d49ba3605fe
--- /dev/null
+++ b/pkgs/development/python-modules/linien-common/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, importlib-metadata
+, numpy
+, rpyc
+, scipy
+, appdirs
+, callPackage
+}:
+
+buildPythonPackage rec {
+  pname = "linien-common";
+  version = "1.0.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "linien-org";
+    repo = "linien";
+    rev = "v${version}";
+    hash = "sha256-BMYFi1HsNKWHmYdrnX/mAehke7UxQZlruFmpaAvxWvQ=";
+  };
+
+  sourceRoot = "source/linien-common";
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    importlib-metadata
+    numpy
+    rpyc
+    scipy
+    appdirs
+  ];
+
+  pythonImportsCheck = [ "linien_common" ];
+
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
+
+  meta = with lib; {
+    description = "Shared components of the Linien spectroscopy lock application";
+    homepage = "https://github.com/linien-org/linien/tree/develop/linien-common";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fsagbuya doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/linien-common/tests.nix b/pkgs/development/python-modules/linien-common/tests.nix
new file mode 100644
index 0000000000000..7237548f2da36
--- /dev/null
+++ b/pkgs/development/python-modules/linien-common/tests.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, linien-common
+, linien-client
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "linien-tests";
+  inherit (linien-common) version src;
+  format = "other";
+  pyproject = false;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  nativeCheckInputs = [
+    linien-common
+    linien-client
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+}
diff --git a/pkgs/development/python-modules/livestreamer-curses/default.nix b/pkgs/development/python-modules/livestreamer-curses/default.nix
deleted file mode 100644
index 213caaf4fb30e..0000000000000
--- a/pkgs/development/python-modules/livestreamer-curses/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, isPyPy
-, livestreamer
-}:
-
-buildPythonPackage rec {
-  pname = "livestreamer-curses";
-  version = "1.5.2";
-  disabled = isPyPy;
-
-  src = fetchFromGitHub {
-    owner = "gapato";
-    repo = "livestreamer-curses";
-    rev = "v${version}";
-    hash = "sha256-Pi0PIOUhMMAWft9ackB04IgF6DyPrXppNqyVjozIjN4=";
-  };
-
-  propagatedBuildInputs = [ livestreamer ];
-
-  meta = with lib; {
-    homepage = "https://github.com/gapato/livestreamer-curses";
-    description = "Curses frontend for livestreamer";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
deleted file mode 100644
index c7c4b06a97465..0000000000000
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, isPyPy
-, makeWrapper
-, rtmpdump
-, pycrypto
-, requests
-}:
-
-buildPythonPackage rec {
-  pname = "livestreamer";
-  version = "1.12.2";
-  disabled = isPyPy;
-
-  src = fetchFromGitHub {
-    owner = "chrippa";
-    repo = "livestreamer";
-    rev = "v${version}";
-    hash = "sha256-PqqyBh+oMmu7Ynly3fqx/+6mQYX+6SpI0Okj2O+YLz0=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  propagatedBuildInputs = [ rtmpdump pycrypto requests ];
-
-  postInstall = ''
-    wrapProgram $out/bin/livestreamer --prefix PATH : ${lib.makeBinPath [ rtmpdump ]}
-  '';
-
-  meta = with lib; {
-    homepage = "http://livestreamer.tanuki.se";
-    description = "Livestreamer is CLI program that extracts streams from various services and pipes them into a video player of choice";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix
index e3436bbb6b1a7..99cafa2548f84 100644
--- a/pkgs/development/python-modules/mypy-boto3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -42,714 +42,714 @@ let
     };
 in
 rec {
-  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.28.36" "sha256-1gfL7x81tTVZlYL8UwoI5k8pDotu1byCWqP31CruRIo=";
+  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.33.0" "sha256-vMCXbHr4KBnS5/+JsAkEvH6cNunhKfL9iHy7aJcXewc=";
 
-  mypy-boto3-account = buildMypyBoto3Package "account" "1.28.36" "sha256-RDGy7V+YgVlGufL+bFJ1xR5yi4xc2zkV+gTBdXdwkxk=";
+  mypy-boto3-account = buildMypyBoto3Package "account" "1.33.0" "sha256-zlIowNkhrcmd1EKmFNv02Ju7QdspY1A+wkEoMkm0nzU=";
 
-  mypy-boto3-acm = buildMypyBoto3Package "acm" "1.28.37" "sha256-NDYWiS7MM7z6mCpRASWh42IGsSTUvVzIJU0eH5V7JUI=";
+  mypy-boto3-acm = buildMypyBoto3Package "acm" "1.33.0" "sha256-RS4tjBXCxVmFIyJFa58xkZ2uZ2JKhRK8UW3yWES03fg=";
 
-  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.28.37" "sha256-l79J8dndeHBZTdXhYCUSa39lYFgcgM6/lIUQPx4HbRE=";
+  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.33.0" "sha256-+Vw+Wu2d2LWgBnCWyxyPqqydz65+7n2eGqf0yQKI7vo=";
 
-  mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.28.37" "sha256-Rk2BLp1oqwOG+Rd9lal53RArPjIo1XMkmXhZJLiI6Ik=";
+  mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.33.0" "sha256-OtJG+0AHy9TLhwAQ6mqKAni5OYvrXT8thexqlfAcuZA=";
 
-  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.28.36" "sha256-/iFfYQ2hwndbtOPnFx5GopCNOYi4uAAOTbD8Z8xFOoE=";
+  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.33.0" "sha256-I9qhqdcZYZCZrnA+cVhauuKNTRUR/u/Cic9dkswXwQw=";
 
-  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.28.36" "sha256-ORwKl4j3M+O9a/JVrfal2lCBOe8QEcjAWscEhRqPrxc=";
+  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.33.0" "sha256-x11Kf3OBTuWIiy60uUF+PTuIoyfkKSCH1ioQBKYVhGo=";
 
-  mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.28.36" "sha256-tx837SLt7DL1bD/bZl0egzVpClfJKaSY6p82yrcHWRQ=";
+  mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.33.0" "sha256-RmJogNY21Z5W4mlKJm97vZgdpCFECgz2I8CvvP7KKuA=";
 
-  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.28.54" "sha256-5Y2AacuMzVHdPntUyDts21bUzttM9t8EdBcwV1MHhyU=";
+  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.33.0" "sha256-vqAb/St9HKOxROQxKUtk1cf6oFtI6Q3cS9yd5uQbYDQ=";
 
-  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.28.36" "sha256-5GDltAso++KS+EKZPnvzrVFNAHN3SzDxxeE33mq6xoE=";
+  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.33.0" "sha256-H466PQQ7WRODEB+P2WdabufzwU1p3sJqUZFf8zZ/Jew=";
 
-  mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.28.36" "sha256-yh5Xd7rKl6eUZBvnqgVU3BEThbIoVOWA15UEYoFicLo=";
+  mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.33.0" "sha256-uZi7fn3DvR2X5hhFUi3zo1cE78ejcmdxZMqP93R3GwY=";
 
-  mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.28.36" "sha256-ZSj0PoLQaUtqd0qLzU+Eg3YG0q6GwWEitKZCTfYergI=";
+  mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.33.0" "sha256-BAJDfn/j+nSgkG/vKNfjy3DtTexugEe8LbFjc11JFiU=";
 
-  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.28.52" "sha256-OjHFaTlMso7dbUCyNfOtbIgpRQYmVm7n0PoUZjOaf18=";
+  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.33.0" "sha256-NeCWgqnin0sWJU4J9AVKqiD9LArQc95wLV8klpH3JTs=";
 
-  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.28.36" "sha256-dGBUpgH/1QQ3nGxhkLWBW06ngmr+Iq2v9MqjrZ0vP1k=";
+  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.33.0" "sha256-e5CPQ59eDyVv49ysOz7PxSCBSWYfcQfwFo88+Wy9cxM=";
 
-  mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.28.36" "sha256-WN7nEPs2KweoGu7XUycFpp8i/bOWSlcr+6BZFSFh6KM=";
+  mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.33.0" "sha256-bbHT2jZ9A0VzBHJdkm9bmfx3dJAcjq44+p61X5QPLMU=";
 
-  mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.28.42" "sha256-zUqO8SGKoA9umP2iKrw5VXC4pBBVqs4D9Ou/lJwEVBI=";
+  mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.33.0" "sha256-M2T3BLb8FDI54BGSb6gQLKR1yfwpfyCe1Zrf+QJTo00=";
 
-  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.28.55" "sha256-Sii5aQ9Y1YvpW1QLMXOeboLXzSR7RCZA6hDGvI39yWM=";
+  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.33.0" "sha256-tXPrHbajCuDlthoCmbyv63G1uDfAkU1v/mtLd6gRoTQ=";
 
-  mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.28.36" "sha256-sxkmyfgk3FJPrS9SUJrHA4tNADM8g+wGaEEPnZjv2H4=";
+  mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.33.0" "sha256-wagkMudXHGi0Ig09wkUkyetf+w4SZ98kSGifJ/GAd0Y=";
 
-  mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.28.36" "sha256-jNzhi3ashmQFH7QRi28UY5ZZ/su8RwzhU1XzmunOiro=";
+  mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.33.0" "sha256-RUY36tYgRFlkE2obN+hyS9fWzcfSAu2uWHragLx4mBk=";
 
-  mypy-boto3-applicationcostprofiler = buildMypyBoto3Package "applicationcostprofiler" "1.28.36" "sha256-keA+JdfyJVGf388qcA0HTIq9bUiMeEbcg1/s/SI7mt4=";
+  mypy-boto3-applicationcostprofiler = buildMypyBoto3Package "applicationcostprofiler" "1.33.0" "sha256-RqiVyR+Ri5GgeWgbw3bxfRdsqEuu4r27ic+AIHh8f0Y=";
 
-  mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.28.36" "sha256-1Cf+Mzgg0KDqBRpCWeCR0lbR5q8KJM+p/p2we6925b0=";
+  mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.33.0" "sha256-Ym7Sv9SRT0qGNvE2KvQgOjen0bkRn5IP2LcMMgwuqck=";
 
-  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.28.55" "sha256-lBbqHhOqWoudqK4NDFNSpzR/UA/dLCHzFmZWQSNhJLY=";
+  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.33.0" "sha256-Cmpfuzt3HMm7Zz65Onc6CLi6kbmROOdBJohvfh//Vf8=";
 
-  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.28.49" "sha256-5TgCIA4bbUHgxMcLHrWPEyIIYhjlCXZlvW8mYubA0+I=";
+  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.33.0" "sha256-pacvBvLAe+NX4dkNvo3i71DPNJfOmh2yjESH8oVEuFE=";
 
-  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.28.36" "sha256-Qag3caLiBRlUWl+TbUQjGkoAbQk+CEbuzZAJgq21PdE=";
+  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.33.0" "sha256-y4po1QAdhzeLlGJd0tPVt6q+vo/2usTJko+YiZGCxUQ=";
 
-  mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.28.36" "sha256-hTGtmMTWhsMqo+Vq2Bxtfo1sGezi1vD05LsQyGOl9Ps=";
+  mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.33.0" "sha256-tjkWwVBPctELUzqd1+OhlSZQ6g1Tx6KAgsvg5XWG3cs=";
 
-  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.28.36" "sha256-p232qs49wdkbP3RkDWF80bSALl80iiLbLxbfzgsB7iY=";
+  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.33.0" "sha256-31x7uJbstgTLFxO2BfxLgvwm0yMfM5AxyfOV7KTczDg=";
 
-  mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.28.38" "sha256-t32bXFUOsVNVs+1Sagx2PIO7/Re6gN2cOevLj+7gbqo=";
+  mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.33.0" "sha256-5hTjU01PR5YOg4AbD8m4ypvH7cyN2wBFI7FTOZ7Im98=";
 
-  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.28.36" "sha256-3b2iUNeY/8ZcZZsyqHTNTsGMwWBxCeiOm+1Tpq+iYf8=";
+  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.33.0" "sha256-v6eyiIa1WBLDsJBO6VCCYm4XI6GxD4gKAfvbi9ejGHI=";
 
-  mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.28.36" "sha256-Hx/rpODs11SdfZTQTcOYAIsPbiLDpreqLdbBHGIEp5E=";
+  mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.33.0" "sha256-fOlymQRIl1laVKIdMl5b5w1hyzmhVZtmn90HGWaOR54=";
 
-  mypy-boto3-backup = buildMypyBoto3Package "backup" "1.28.36" "sha256-LbGiDazOf32hEoxGTZlTtH9iTj+3ru+sCO0VAMCfN6E=";
+  mypy-boto3-backup = buildMypyBoto3Package "backup" "1.33.0" "sha256-/v6v4H17liB6uE3QvQ1FQNXERRF77lC10hXlGMqpSvU=";
 
-  mypy-boto3-backup-gateway = buildMypyBoto3Package "backup-gateway" "1.28.36" "sha256-AGbffUSt3ndl5a0B5nl9CYgYExaM1JLT53T9jVJxeno=";
+  mypy-boto3-backup-gateway = buildMypyBoto3Package "backup-gateway" "1.33.0" "sha256-3KRJpqQ2mJRDt1vtkUk08G3HTtK8kzSfVUKg9xhhiCE=";
 
-  mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.28.36" "sha256-Km6lRkCrsWep/kAlPXplbyfHyy5D5nnrd0j0v8FID00=";
+  mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.33.0" "sha256-srsIuy46OQtS+SLLAxP2S9M2spmNmk5YySpxXxbUTLQ=";
 
-  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.28.36" "sha256-SEDD3Fjd4y337atj+RVUKIvpUd0oCvje8gOF1/Rg7Gs=";
+  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.33.0" "sha256-neEJR2+VO+LWUvBKUiSxl/tKd8NAsk2I+kNCxlZvebc=";
 
-  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.28.41" "sha256-aUphZNHrTLUt4dOvg+GmZR7z3whq5jx2PVsjvcY0qS0=";
+  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.33.0" "sha256-G2sSf2u6z4V6z0y4CpcZmWqBqmbU6saJ6PC/dy6MHXA=";
 
-  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.28.53" "sha256-fMNDKmjx/2hUJHWEWcveYbsbIkiWUXTQSv4itP8zOas=";
+  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.33.0" "sha256-dT10CoHYHltRVw7bJWnLKXgvAmf3939UG2D9QC5vPto=";
 
-  mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.28.57" "sha256-Af6omXHyctUeXbEOQC/KoiE3ux88r/hyxlWQoMM1eF4=";
+  mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.33.0" "sha256-EFjmFk2M/PZSKmV9hKRHD1m+OdkhslH+o1CzjWGi3Yw=";
 
-  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.28.36" "sha256-lBrKm4s1QPGTuZHtHt+uNhX9zsMhNuV0l23822IYIDI=";
+  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.33.0" "sha256-n3pwBgiUHenjVZV5pmOwKBhcV624KSPd4oAGtSGcAEw=";
 
-  mypy-boto3-chime = buildMypyBoto3Package "chime" "1.28.37" "sha256-fg8svfLvw+Rzhcr+HxrjHtXw9UE1vuccaOFvjfgxC58=";
+  mypy-boto3-chime = buildMypyBoto3Package "chime" "1.33.0" "sha256-d4HTdcPAsLsKaEYyjYIgHTUInoq+6+2pLD3xaaIy1NE=";
 
-  mypy-boto3-chime-sdk-identity = buildMypyBoto3Package "chime-sdk-identity" "1.28.37" "sha256-r+UvZ213ffIOdmZ1V8MNtZN/i3ozeKfwv7VIvJZ4CRg=";
+  mypy-boto3-chime-sdk-identity = buildMypyBoto3Package "chime-sdk-identity" "1.33.0" "sha256-hRtjkfgsmESggrV0J3uEpLBWYUHbYWDmIEJeLfvJ5yo=";
 
-  mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.28.54" "sha256-ewC4woDpDkGUBvPgjpcctkO860EJWHGvZrgCgXSsPbA=";
+  mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.33.0" "sha256-g0NrdkJvqQvw9Zbym/XNQwFcRlU3O/FUXQHIOejI6SE=";
 
-  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.28.36" "sha256-OZijI8aLKnnZnXf3q8LmePd9ncIrDj2zRq19tNlNQTk=";
+  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.33.0" "sha256-Q3RVAUlHKfBtjabs+0oP6n3rzQjl1iDPlvczPQ2MVJI=";
 
-  mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.28.37" "sha256-qMLqjzniJfyVCfnMGiIPMRzQoIj309P5WDBjy1P7B8Y=";
+  mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.33.0" "sha256-9nHNncPMG6HEoyKRIeyDlqBZtjDNbPE3ML/6RMOw3fE=";
 
-  mypy-boto3-chime-sdk-voice = buildMypyBoto3Package "chime-sdk-voice" "1.28.36" "sha256-e627SiCiQV38AzvYusuNEsD9XoYkTYYbaTMJ2odKzAo=";
+  mypy-boto3-chime-sdk-voice = buildMypyBoto3Package "chime-sdk-voice" "1.33.0" "sha256-WrVolMHBmZxJZc5ckx4dW7CrFgw1jQ/Xu+SoiuZcFk8=";
 
-  mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.28.38" "sha256-fbuCwuzXiK9ekk30m90WZW7LcDFLeR/Ta9BvFnT/wnU=";
+  mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.33.0" "sha256-+7zWiyuTMACJlIXOt2tfh7hARJTVNtkwspq+PZj/LDU=";
 
-  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.28.47" "sha256-vV+cqYs7msRzBkIIz4uA123QM54gFpi1q9lXo997BOk=";
+  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.33.0" "sha256-lVyuvJVIEXPAzXJp11/wERjuV2RjAV/XcqrazjtcRfo=";
 
-  mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.28.36" "sha256-DshOzjolyUCztdlOqxxvRlKIIJP6izeyhp2Wl6ObCrY=";
+  mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.33.0" "sha256-RHK2TqnQFILrBeokVKL8GHvJvDBz10AqGpRanV6dIGo=";
 
-  mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.28.36" "sha256-ikyPoBWFRXl95QylMg3rstBymj3HKZqQs0orb14Uorg=";
+  mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.33.0" "sha256-IpVWNZIjbpQqCL09vjMVDADN9dgvlYpiZFJPLUH7He8=";
 
-  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.28.48" "sha256-775Aczl4AIJCh8jVKmU4MRKGL5A7Fv1Ye1ETRJZSNxs=";
+  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.33.0" "sha256-4cJ7kQ/86W7QrhJuTFdVvdkKVtx1SOVDJkM0o1YI3wo=";
 
-  mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.28.36" "sha256-lY3dwCA/xw6YIgmmJeglC3/mHubiKNqPqrrif6ZreDc=";
+  mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.33.0" "sha256-gYC17Q/+LJN2tbjmhqbh4Q5EyDQ5Xav5mCNJMfWZU00=";
 
-  mypy-boto3-cloudhsm = buildMypyBoto3Package "cloudhsm" "1.28.39" "sha256-1K3HPvtZSkQZD5/V9T0tXv6PC2NSoB5v5aR20OWV6kw=";
+  mypy-boto3-cloudhsm = buildMypyBoto3Package "cloudhsm" "1.33.0" "sha256-BLV4xkuGmO5GpNEWTwVM/y8uTDq3y8CiGMxaGhLV+lc=";
 
-  mypy-boto3-cloudhsmv2 = buildMypyBoto3Package "cloudhsmv2" "1.28.36" "sha256-mxvW/ge2gEkGF0rz4LJZCkEIveNGkt9ud5bqs4WhlBs=";
+  mypy-boto3-cloudhsmv2 = buildMypyBoto3Package "cloudhsmv2" "1.33.0" "sha256-Tt7+PuHmJF6YXpqOTNvRqXy/21p4gGWNS/1oZZ+Y6VI=";
 
-  mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.28.36" "sha256-fEGcYuWWDHOalygjig2qdMn8A3T4vBYZIbZRHtRRQns=";
+  mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.33.0" "sha256-3sUa5Zprpu9UPJobha7cpmEHOy4J6DqqZEwrx6J5FuI=";
 
-  mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.28.36" "sha256-yRUv7XlIpCqkyFw+whHh07LUw0aKbcRa0UkR6zpVtCA=";
+  mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.33.0" "sha256-El4jMC108xp7i9GMmKCh+9vLJVDDfL0Nm3fGUHJ/fUg=";
 
-  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.28.36" "sha256-YUrRZ53Wdd4CCjq9VYRkAIGxu2wYTaqXF7Fp4DA7jM4=";
+  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.33.0" "sha256-GuLMHXZJaH0FB1k/PXdGJ7grJqPEbv5FcldOfLLmzjI=";
 
-  mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.28.36" "sha256-aUZYh0fTrcv1d56HRdu7u4CzAMiCvVlN/tKY1e7piLM=";
+  mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.33.0" "sha256-v9VN8J9JhraI1kYWVPmbmjwsmvfLMFHWfRtPKsqO3kQ=";
 
-  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.28.36" "sha256-108mLOQPp+qUdIBWHlN2UO5pRrIIrAf2wM/a/BYAFEM=";
+  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.33.0" "sha256-Z2CPz3XnPtvUzBen8P573pjaC929pj2DH9fpT9m+J7U=";
 
-  mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.28.52" "sha256-kmPzmdQj79l+8KY7Q/E4qTxCxAEhEPivYiR1Hh04qm0=";
+  mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.33.0" "sha256-QgsHW6+E+FXntXewov7OL7l+6moIh88+fqyDbDRCvEs=";
 
-  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.28.36" "sha256-po4qcd6jiYjqMQj7aP+eMzNJcmwjYP22Q92fHkx1q5U=";
+  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.33.0" "sha256-FKelhXfxoVEtuzF1yb8sM/UsUpO5jDGw6/6lrYJAjvw=";
 
-  mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.28.36" "sha256-IuFxPWpE6zCGfbVfhTBtueUSspeVaq9TrESkfHdrxI8=";
+  mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.33.0" "sha256-Uy7hD2FA9I31OBM+bNtusf8YqYr9p9nQc1TMt9NteIY=";
 
-  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.28.36" "sha256-o/kVzldUZNfMmK3Ni5L0kOLjKLxsB93YwutqM5GvHqQ=";
+  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.33.0" "sha256-SveFV+4iwElAJZnLhikzUwQTr4HF6rVJjc9g+uaIoHA=";
 
-  mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.28.55" "sha256-jkN9DCiS5fKhBq7752gRzHwmfdohQBZOSNGaA1OxVbc=";
+  mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.33.0" "sha256-7unbEySxhvNSpc4YANJRtu+ehT7GcypZE5N9eqPKUm4=";
 
-  mypy-boto3-codeguru-reviewer = buildMypyBoto3Package "codeguru-reviewer" "1.28.36" "sha256-xUkKfYEBmqA0D8RKxbf8VF0XeYOgwNWh1y7ORnj1VpM=";
+  mypy-boto3-codeguru-reviewer = buildMypyBoto3Package "codeguru-reviewer" "1.33.0" "sha256-6P2i+D3mhjQxIQRHbXDyOtj9BC6Wc+xTR9v41fhMiNc=";
 
-  mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.28.36" "sha256-EU6VTdhzWLofMEFF0vOXTDpJI/BkC3FpSAz1rbtbFWA=";
+  mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.33.0" "sha256-JviDGZinwF69HHaLrS7tHMBnJwfDpwzdbl4qCw1dK0E=";
 
-  mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.28.36" "sha256-DHUALwX0ec7rzaSsU0vASersuuHpJXY8cDI8cDhzgl0=";
+  mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.33.0" "sha256-jln4ciHJpQCV36jBLBWfGJZI55L2FneelWqeHpmQF8w=";
 
-  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.28.36" "sha256-isqRkPLovlkHgmBuuYDPBTaBlOdu3LgwajD+z3luO8c=";
+  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.33.0" "sha256-wXA/n5j9v7Z1jBcH++CAOW9W0EhqJJHhbKh8mKzc5GQ=";
 
-  mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.28.36" "sha256-+D1SBuI6JMA0ISBv5OiGkA43dOESGH4d4m8CUN4Uhxk=";
+  mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.33.0" "sha256-6XVO8euPDjXZk/5qVS4EX5JfLhqYFUTdUQKqzoI0Gw8=";
 
-  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.28.36" "sha256-1K0mrUUO0ycP7uBCqnESd/iGiElL0eqJfwLTpgPH5a0=";
+  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.33.0" "sha256-Vow7PuIH3qrtuJBiG83OpNC+Gtav9CzVx5iUV9bFTXE=";
 
-  mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.28.36" "sha256-BYTeNmL6fKXD6Ym0Z3DOZvLaTqRwANDWfCcWs9TUZ+Y=";
+  mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.33.0" "sha256-uG1tCFQzfxRtzE178XOKUv7/KtyrPMSd5HwVhWCq2x0=";
 
-  mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.28.36" "sha256-fJIKiNsKDcoDtTIRMxbxpcO6QZOl8KnCn2qTkb4owLI=";
+  mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.33.0" "sha256-4rQsSCe4X/JoJ0a2xJsjIyXIQUU7aTNYKCBD8KjabFQ=";
 
-  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.28.56" "sha256-LmuBr551lvNWlyPbEFTAgZA4+XSeFX4tK8kbuabo2JU=";
+  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.33.0" "sha256-wa7iya9T3eJ0A2IwVYa4wwdYaIY6z9tj67qXg3NnvHo=";
 
-  mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.28.36" "sha256-Hx+/3Q+FLMeDRu+ijTl80WbmqjW/jzpW8eDar8hu/ro=";
+  mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.33.0" "sha256-l+Ox4pOrOSVtix/vQDGCUAk8hGJVCmQ2gLqP6p93j9M=";
 
-  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.28.37" "sha256-OK8LtQoV2Ccqc4qjRBNJirRDM8wHR7VDzcgbaJNrGok=";
+  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.33.0" "sha256-t0UGeom1dihIv9UV0J8mnLmogYcgzgQbN3HhWwcSP5Q=";
 
-  mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.28.36" "sha256-6uyeuxkhRD5Xpfh5u09U28Zg1OzLyzwhgQZ/LRGI9lc=";
+  mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.33.0" "sha256-3gYRTNmPewLzLUrdW6WYl/4jl1VSLCANjTgDwUNjXVM=";
 
-  mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.28.41" "sha256-TYY9yrw8Az+x01fp3mXc2zzX7YBdnAQQr1uy+E8FkdQ=";
+  mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.33.0" "sha256-+aig0Rx1mkruERwkkPoVMNcvbGP9Qos/SMpVT+hZeJ8=";
 
-  mypy-boto3-config = buildMypyBoto3Package "config" "1.28.36" "sha256-3NUJLfbriTXMsGyj+8XNbhI37BLVSm+sShaJJIz6I7s=";
+  mypy-boto3-config = buildMypyBoto3Package "config" "1.33.0" "sha256-L/DVirprRQdEvN1zohuZuG9HsU4nGmT4Y5huNQUMdBE=";
 
-  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.28.55" "sha256-sA6ef9iOyRrCKwxsSHU19IaBwYiVKeTR0+k94wUX4gw=";
+  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.33.0" "sha256-kKzUAZzfj2VwVbAOpbQBldRhju8Qcm3YFSmvjxEVtnk=";
 
-  mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.28.36" "sha256-7+DHcEkDov1/0mNu/mbKaCwwPfvGRYSEfp3+4tnOnuY=";
+  mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.33.0" "sha256-xCkxmVk+HL6JX0vfAXzcqI91jnrV/xO/Q28HiIkniTs=";
 
-  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.28.39" "sha256-4c074TlgMh8YxdOl9vb+Xs0JEs5k0mA5rYaF+BIH3Ps=";
+  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.33.0" "sha256-qBviSiG54DNJCl6wgXpLhuoC+YoxcQwigl8Hapz7Kp8=";
 
-  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.28.36" "sha256-oYU/yw9CUltwPfvONhCvH6gCXirzKF26RZj9hdKTtPQ=";
+  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.33.0" "sha256-uv22P/Lb0f+3GYoo+RNN0fJkrk2hw9tsKZCLEQRqx1M=";
 
-  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.28.39" "sha256-iOv8UX4eh07Dwk7zvtv1YXeDiX/RHhuEMGzLafBk+kI=";
+  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.33.0" "sha256-LFtTX9onRSByqPVtQzFtLUyhQsLZ48k9cQLzVW1fQAw=";
 
-  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.28.36" "sha256-0j6Fa0hobGlNfvMDmlNrqp4EqIhnYTo9XJ41VpEY+Cs=";
+  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.33.0" "sha256-yDL6EWdV6QNexglhMQPBVgbjnvFIBAZpJklRcYidsmw=";
 
-  mypy-boto3-cur = buildMypyBoto3Package "cur" "1.28.36" "sha256-pWKHl8zKmx3ypQOiWtFzRb92630sLJVO0qmn5KEZJ14=";
+  mypy-boto3-cur = buildMypyBoto3Package "cur" "1.33.0" "sha256-UgVAGcC2VjoCd5FAgmDOo/Yp3wDT18xvRe530XKB9kY=";
 
-  mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.28.39" "sha256-wAghxGUIThqLBfThNliSu39Dl8vmO8QCrfbxvQOuHxc=";
+  mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.33.0" "sha256-qODsOFw98FERW9tV+ld+JLtygbUMLrzNn8HZRoePOq4=";
 
-  mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.28.36" "sha256-LhvgmeMOlP4EAmx3Xd97ZiHi/FeChpGtZ1LIuGkTnMU=";
+  mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.33.0" "sha256-izG6CUdV9J991eV9GHzB9FhB9E0KQI57X3BwNZ4q5dc=";
 
-  mypy-boto3-dataexchange = buildMypyBoto3Package "dataexchange" "1.28.36" "sha256-cNgpRQTJ2JhPw+UZo+HiulWg1998kfgnAB/E6gyvetI=";
+  mypy-boto3-dataexchange = buildMypyBoto3Package "dataexchange" "1.33.0" "sha256-ckVXwvC71J3PHm2YzNbjYTmgXukvwKH9vVYxgewTCO0=";
 
-  mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.28.36" "sha256-IkO7QXwdEWmkzaCOrCWTzNv1xpvwOHGp9wlris/KEws=";
+  mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.33.0" "sha256-PsF5H+LtErVeGMcQLKgMhtCTHqm4dl54d6XWL4FGeko=";
 
-  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.28.49" "sha256-BcW47DW0aHb+Gabj6fybaiZgtKotWNvNChyKyaagIw4=";
+  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.33.0" "sha256-aniW225MUeoHi9Leukzyf5MDFyIFerM5TKeZG7dtk+o=";
 
-  mypy-boto3-dax = buildMypyBoto3Package "dax" "1.28.36" "sha256-t5DMgU3iSxWLSXpC9QaNonKKQpl0tr/gQPnPxO+dTbY=";
+  mypy-boto3-dax = buildMypyBoto3Package "dax" "1.33.0" "sha256-gnfdHHlV/XsACxeF1zKl1c3eYHBLoSe+aZeiXKDNP5k=";
 
-  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.28.36" "sha256-RGSt2jtwDqC3qWh+Z6IfWoiVpoLDjSqLTSjo7+SUL3Q=";
+  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.33.0" "sha256-KUuZDe13F+6lMbCaB5vPmbvDJC+n4S7DtXiy/jSCsOk=";
 
-  mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.28.36" "sha256-TSxUsHAhGY4rgscwesf6mnlya8kHb6MZGKPzhud/OC0=";
+  mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.33.0" "sha256-9AvJezXcBraBwjlAr0dsLwecTahCh+Ka93nEFXP9mpk=";
 
-  mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.28.36" "sha256-Whn1VVBzBdav0D31XCH5izyVmZGg/ndPlOamIoY5U94=";
+  mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.33.0" "sha256-FnMUWCd5bmevyUMsCLw5fipEAFJu1gBscYd0pjzhEHI=";
 
-  mypy-boto3-directconnect = buildMypyBoto3Package "directconnect" "1.28.36" "sha256-YUZ2XsKaPLi4qDF1Cuf5/6BZ1Pi+xf65hTBc0NHfQTc=";
+  mypy-boto3-directconnect = buildMypyBoto3Package "directconnect" "1.33.0" "sha256-reoKObC7jQ1w1vIpXJuLou736rrYkecT/9D9/+d646U=";
 
-  mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.28.50" "sha256-bUFzZ+Ipw3hmaTvBBPlLRz48U+alvfLBiOKNljEap38=";
+  mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.33.0" "sha256-kbonomcMw1KADJvby/gDoP0IMBTCo0zQzu9nboL37I8=";
 
-  mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.28.36" "sha256-i+OVrnJ+irxgIWi0ZEad6lPLNwT1cvfQ+0xKKXWe8z0=";
+  mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.33.0" "sha256-eCq4HkCU8NeVkCDMwqFG7Jv1UpFjm7NP7fbVOa1QAtQ=";
 
-  mypy-boto3-dms = buildMypyBoto3Package "dms" "1.28.53" "sha256-CY3bGLiiciRnscCsqOSdFv04YKDG4gN7f/q3um7QwZ8=";
+  mypy-boto3-dms = buildMypyBoto3Package "dms" "1.33.0" "sha256-LSqBrPU8QOhSfLO38Hl2pk7jkczasMgQ5x+xReg6zDw=";
 
-  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.28.36" "sha256-Dbg80rvJBHkXEzLLWeEi7jN6OrVZiJ6+C6wYkhM72J0=";
+  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.33.0" "sha256-fbB6+Kf2q+D8l2VPhb1jQKgAN6nTCjLS5Jba03TThHM=";
 
-  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.28.36" "sha256-XvcexadEtui/Wh2sZnketqygNgpGfaSAGciM64Yc+Sk=";
+  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.33.0" "sha256-cbqSY2AklKpwtIyH+KZvkB/kG9qXsyPu0isHuWW0Ksg=";
 
-  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.28.47" "sha256-4JBlsWQLu1KsPSTxwy/ySNQM1ZlIaX1sORvES8Lut00=";
+  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.33.0" "sha256-stTCJf4laWLTUtx0PgeDpvYBwQGYAqOzkjQ49OC2F3E=";
 
-  mypy-boto3-ds = buildMypyBoto3Package "ds" "1.28.36" "sha256-l/k+1VhA6mi6mVRKCUis0gAv/dizqZB5JIqLmj9+IDI=";
+  mypy-boto3-ds = buildMypyBoto3Package "ds" "1.33.0" "sha256-uonwAHNaMtkRNFG7AttJC/16Y9I0c3Y+HeGR1HQoFFA=";
 
-  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.28.55" "sha256-owOfitoHohj5fwxwqC7Zz0YaDLUTMZT88eDoexXImaU=";
+  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.33.0" "sha256-LP4Qicid5hsewOaacro+aGWgE+oKN9MYq1ZJg3hdQvk=";
 
-  mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.28.36" "sha256-mqz+YRVZlSbwEKYbaC4ZbWw0qJTXpRObAphfI4sfRV4=";
+  mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.33.0" "sha256-qUlw79EzDxyDD/SJETHcL1hgLPPVLQtHy9ttUYOYDCg=";
 
-  mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.28.36" "sha256-w9OLKJAn9UBnA7x+uedhplSV8plZRYlBpviU9Gv1Ny8=";
+  mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.33.0" "sha256-BQzGF7mxoYV30NtD1f5VL2Ktxci+zPCPBgNsPApnlZA=";
 
-  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.28.58" "sha256-p4BGJSydAqtSMH8PFFc/IAwBquLHCq1I6vW50UNySRo=";
+  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.33.0" "sha256-B1eJN/l09hKaediPeI5ToKONIuWpwMY9WJ8k45uPuQ0=";
 
-  mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.28.36" "sha256-oVcd5yqbg8Drozgmog4nonRSe4nOM7rwpqZi9HVYTL0=";
+  mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.33.0" "sha256-2RI2mM2wuwlyLGitd4NHgbm6qkobNGxoGHImfE5uWxk=";
 
-  mypy-boto3-ecr = buildMypyBoto3Package "ecr" "1.28.45" "sha256-NYShmgGLrNe26BR7ye9pMpZ4FcCRjGzzkp/1Xxyb5gE=";
+  mypy-boto3-ecr = buildMypyBoto3Package "ecr" "1.33.0" "sha256-drClP5gm9dUv2SQqzkIPHVTbNdzMw5HFE3SAv7aKFok=";
 
-  mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.28.36" "sha256-LiFZtqdGf9tC6Tj4ukclFyaq/bLos5jZCgPL1y/0VMU=";
+  mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.33.0" "sha256-LMGpAp2RYllfVRFIjsEFboufEAbj2gj+ggBD98bNIRQ=";
 
-  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.28.41" "sha256-/aXw4fpS4o3/Jt+jfzm0p4zqZVcoSJLlk9EUMd3+SVo=";
+  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.33.0" "sha256-EAIWm+8G+pEqEgO95kUJ2DRAB7fkIpC2SSrI322IPbs=";
 
-  mypy-boto3-efs = buildMypyBoto3Package "efs" "1.28.53" "sha256-QhSddCRqWUly2w+GLZJHJn/TKpQHbQO88yKny6nj/ZI=";
+  mypy-boto3-efs = buildMypyBoto3Package "efs" "1.33.0" "sha256-M0ubL5u9o09jr5BR1SFzXUbH/Rqe8llKbLDPRc7GUfU=";
 
-  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.28.36" "sha256-etvfyKLFr4lKE9DLvKQuHw2YHshhOBTXXTCvDv2hFxE=";
+  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.33.0" "sha256-/ducHn1BguExlXGWprc+0hmN5j+HLzI4LcUnVS8s1YY=";
 
-  mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.28.36" "sha256-BwI32rA8Y1lhc+k/XQh+LHPlFHmaCTr37OYvLFJMX1o=";
+  mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.33.0" "sha256-OZR49az4reaOs3LRaCZSD9ZCvNTOHlxqe5+431ic1l0=";
 
-  mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.28.36" "sha256-6Ymobcuhh1dOqA9IoN9lWrj639ZKu/NQEP6ImlhapFA=";
+  mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.33.0" "sha256-49c2MSiPOgwf15xUBfmaxYmLweEuCB0hU3krgYgeE4E=";
 
-  mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.28.36" "sha256-V2vSEaN7Kf2TPateMNtJ95a+Ad/CRcZOV2JsJlTOPIo=";
+  mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.33.0" "sha256-VhETIkkLab2rJu/cXl0i7kqdIMLeuI7EuYbjFw7XCPs=";
 
-  mypy-boto3-elastictranscoder = buildMypyBoto3Package "elastictranscoder" "1.28.36" "sha256-lkz4up43fVyWCOO9dM4xI285wsAu1lnV4mICuJV8D4k=";
+  mypy-boto3-elastictranscoder = buildMypyBoto3Package "elastictranscoder" "1.33.0" "sha256-LvSqiTmqWJtG7r5JsYkRlOfI+DYI5xHKBb0kMqzR8qY=";
 
-  mypy-boto3-elb = buildMypyBoto3Package "elb" "1.28.36" "sha256-c9Re0WZOn+LaK58VJk+YlI3YWn/wrgT+/TdqrOisBnM=";
+  mypy-boto3-elb = buildMypyBoto3Package "elb" "1.33.0" "sha256-CYrhcIlkFzJoDbzAE1Jp1dFMj2O9KfV4ga7mBSa2hSI=";
 
-  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.28.42" "sha256-NXyhMxuIbuyyDifzBicvDNQB3ysbVx+azsqpTBhfnZ8=";
+  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.33.0" "sha256-dz97f3avPQ2vwgOnP+6QLSC5PH5Seq21zHFW65qFmws=";
 
-  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.28.36" "sha256-DrhDkqcxAAUTfheZRpPJQkFFzeDynByF2wn9jyZr0F4=";
+  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.33.0" "sha256-Jft310TIBXmR6WLKTHZEo+TvwwwR4eQydLkyXjLdIDs=";
 
-  mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.28.36" "sha256-ZG7mf4C31COK7hobIbTLmd64Ydu2Al+NhSMrS8069jQ=";
+  mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.33.0" "sha256-slTEVWgnNED2stWdA5HFBc0PqSQkUvj2XGbtSvwv0UU=";
 
-  mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.28.54" "sha256-cDbUY1Ftlhyid7CiMEhY7ZepqH2bANrwlU8wdrdDqc4=";
+  mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.33.0" "sha256-uJyoN2Vx1GPc4Ec5va+507fA87iRgWbpO/IfzhtCmBI=";
 
-  mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.28.48" "sha256-xCYg+Ik/VQpDjRR7QKlYyBffsGWZ7PSl531sTSvMv48=";
+  mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.33.0" "sha256-t5Ip+6TPoWoqhEXcJDoc2IUk/FeYvP+PRo0kypq/jYk=";
 
-  mypy-boto3-es = buildMypyBoto3Package "es" "1.28.36" "sha256-NfMTzKYwYgZ+dbyIzxn+3poLWo8zjF8ANGWQFtMRTbk=";
+  mypy-boto3-es = buildMypyBoto3Package "es" "1.33.0" "sha256-RemWn5vC2MluamPhnZ/aSwf4dK5XnuD2ztTg7/6MqYc=";
 
-  mypy-boto3-events = buildMypyBoto3Package "events" "1.28.46" "sha256-/a4rUcfBPQBFxqCnwt23NeZ655B3CEoo+SKHBZMJGtE=";
+  mypy-boto3-events = buildMypyBoto3Package "events" "1.33.0" "sha256-LBBEAvWtvnm2acKx6ox2mQ0uaZroMuOxTmtK4fSVUXc=";
 
-  mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.28.36" "sha256-U3igtB9eGBYv8VW+PQXD2fc16FKiYl8musH/ccrrMKA=";
+  mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.33.0" "sha256-ofiGAmmG9meO1agTf96JfEwsFeE38mf7DoMprNOCvSc=";
 
-  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.28.36" "sha256-3l1/ACy5Z09z/ngQKdq3dgBTp05x+NUCRjj1z8I99/4=";
+  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.33.0" "sha256-YBRzVfem5DftPDyy4Hhb+XPfmajZq651qJtoMmiPzZY=";
 
-  mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.28.54" "sha256-V5Rxrp94hrUWZgpc+LDn1PwyzZREHDXq3NaZdZQaYoE=";
+  mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.33.0" "sha256-Wps7GUx2h4BD8meQhLQzPuBBDnfPNHeUq+E7MrNTtIw=";
 
-  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.28.56" "sha256-IPwUkzEymLJ4NgB2OrD4mr5hZsmTaGjbbxCiHyFaaDw=";
+  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.33.0" "sha256-wy8knDQOikxD/ne6cpBcYKwUssQLoGGFnyCuAbMrDMU=";
 
-  mypy-boto3-fis = buildMypyBoto3Package "fis" "1.28.36" "sha256-km9Ia9Hs/rZv3ljv+BVnR9pOxNK3u5luJOMaW670km0=";
+  mypy-boto3-fis = buildMypyBoto3Package "fis" "1.33.0" "sha256-xZeRIBr6Tp+K4UKUjy9M+jU8TQQUyjxCCfVXc7mIo/w=";
 
-  mypy-boto3-fms = buildMypyBoto3Package "fms" "1.28.36" "sha256-mzumkMcF2TMrcnHoPPA0SlrmwFAw0TR1cMvSXF28gvM=";
+  mypy-boto3-fms = buildMypyBoto3Package "fms" "1.33.0" "sha256-wDPsp7QGmRS8pdnd05aliOpEGKoqpdTa7zR3onGEEbw=";
 
-  mypy-boto3-forecast = buildMypyBoto3Package "forecast" "1.28.36" "sha256-DCa0GNn7XL3iVgGl5M6E7uyPFdyYjrHfqHakCS7clcc=";
+  mypy-boto3-forecast = buildMypyBoto3Package "forecast" "1.33.0" "sha256-RrZhQwn2UAypdaorWbC/zvLMH6IjO7RPio7NEP2vcdU=";
 
-  mypy-boto3-forecastquery = buildMypyBoto3Package "forecastquery" "1.28.36" "sha256-s2z8QZR9PP8Kj6yImCwUfh/gtbj4SKLn8wDTOYUVaEE=";
+  mypy-boto3-forecastquery = buildMypyBoto3Package "forecastquery" "1.33.0" "sha256-OF1v/GzZHt5457LzWJ+LkG/t4Je3EtiUh2uO84oiqL4=";
 
-  mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.28.36" "sha256-Zn3rGHErin7nPYnyC0Ojr0Kkc5T+YDD2KmZinYNV9Jg=";
+  mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.33.0" "sha256-H97TX8YI5rcY6qi77VPDmDt7H8fBG3hDIINuKdeOnGc=";
 
-  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.28.44" "sha256-t90+ngxgivF/KThwaB6/LNPZAHL2oLenhl6KUzSZSzU=";
+  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.33.0" "sha256-fTR76ohKxtqklzjnSGGJ6BdmSB9RHzZcxjskhoI4S7c=";
 
-  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.28.36" "sha256-ADxlyEX5KgAewNFq7JhYECNIhaoKiPkdqWK2pnS+65A=";
+  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.33.0" "sha256-1XFimCfGBl3gKTftrVu+6GGeUxzB4Bu7zx2w9Lp9rCM=";
 
   mypy-boto3-gamesparks = buildMypyBoto3Package "gamesparks" "1.28.36" "sha256-6lQXNJ55FYvkFA14rgJGhRMjBHA3YrOybnsKNecX7So=";
 
-  mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.28.36" "sha256-L0a7CoD9I0wM8JvzaAxL8bm1SV1XmFi5lvs2SuGPtl4=";
+  mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.33.0" "sha256-01Ezh49UNf70wDJY0q2TRdkVGgZ9iWVzMpVQ0FBC7aE=";
 
-  mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.28.36" "sha256-+nnFS/7kJHvqqiwqkWnYlgeIuSecicI1P+UtWyGUoGQ=";
+  mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.33.0" "sha256-766QC1uxF2gi0R24SUnPT66NZou6boAO6cPyDM21uFQ=";
 
-  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.28.36" "sha256-FhdxJSu2oiCgv9jmrXHahUhZnGEflf6KlIRvSjOG0q4=";
+  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.33.0" "sha256-FPH1JgnHriCZB9xNjizMguZownrjAN8AA+Du9//Gh2E=";
 
-  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.28.39" "sha256-OsEvT2f3LEvjz6aojIpG2scoZ80hETvk8t/BTumn+9M=";
+  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.33.0" "sha256-jlmU8liC9NUX7lgt46sgV/Jdp0xgS2X2T0wnX1xU1S4=";
 
-  mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.28.36" "sha256-vH/viSZe2UcjtbwGN2Zcf9IB1boBHhL3zmy3IHN1rpg=";
+  mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.33.0" "sha256-ZtKGtJcDIipfc5OGQX1QxydRZPZI6D/Hd/YrWmgu6D8=";
 
-  mypy-boto3-greengrassv2 = buildMypyBoto3Package "greengrassv2" "1.28.36" "sha256-VdsQUNg3a2PUaP8rgx3I1ZxUW4hqJsBCS0B8+7CfP1w=";
+  mypy-boto3-greengrassv2 = buildMypyBoto3Package "greengrassv2" "1.33.0" "sha256-wELqoYtB/VazExZILkRqd2SgoUNdUtDn+OpIgWsKUYk=";
 
-  mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.28.36" "sha256-M0HaOpC6zbIaN3VVcM9oE/QzL+me4d5Co5miJGMU3n8=";
+  mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.33.0" "sha256-JzBPYdnKHx/ewsOIGgteMrpK3iAYNtoGd34dqoDfnRA=";
 
-  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.28.53" "sha256-ctMp5+GrKYICPioPi5kB7cnxoP9QFIfbYiDxqf/pPCw=";
+  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.33.0" "sha256-bJrOvWetK0Lwh40TMj2AcK9j9UpFIk2DqaDrgmnr1aA=";
 
-  mypy-boto3-health = buildMypyBoto3Package "health" "1.28.39" "sha256-yp8r38QxJVKxiZtrCgvUcuqz2HnTM2IvYjyYGTgAqYc=";
+  mypy-boto3-health = buildMypyBoto3Package "health" "1.33.0" "sha256-P/S/2d6qu1Qu5EGDgi3tX7AeZtmgPhIDszC+mA1q94U=";
 
-  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.28.36" "sha256-RYbiExGphCkf8v+oC3ixOOFOnUrXE2bGnOvjRUGdQRQ=";
+  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.33.0" "sha256-fcXpQbayMV6KG/TI2+uuYp26AcMwZGkk/N0n+Cus37o=";
 
-  mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.28.36" "sha256-pOWZ+WNmgWwGz1sPq/feZiQ2TlXDcpoWMXcDPSESJOY=";
+  mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.33.0" "sha256-nPQcYVfhBsQ7D1wgRelQ74W8R4ZQGNteKd+7PghFJJA=";
 
-  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.28.37" "sha256-Ob1bi5pIy0fZCdRcE8cTwJnC+EcZYSoKhI16BJfG/PQ=";
+  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.33.0" "sha256-fmt2NOtOGqjcvGvX4djRV+lTU9PvHGznnz/SlPxWgss=";
 
-  mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.28.40" "sha256-KPPWrEMuciHf3ms3SkUgAaEFNPa5WyFKm5fFfG4o9G8=";
+  mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.33.0" "sha256-WjNpOX7ewqERT7NTj4hggSbMn0xud0VJHeGKOi9rCZ0=";
 
-  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.28.36" "sha256-2fJtgGfwkY3V07kXAiyi61TUmvq3BVqiN+EFzxTQkvI=";
+  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.33.0" "sha256-vseyFnB/ZfR8Ihv3QSbcHw7ly1mHixl2v+2luMWWfCY=";
 
-  mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.28.36" "sha256-806+dIMqKZ14MifNoDqKgj8MGPYBQVd8KnT+V+eOr/E=";
+  mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.33.0" "sha256-UcnlWJa230onKQ2ywfU9ELCnGk3hGSvXo7enfLXO3fU=";
 
-  mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.28.36" "sha256-plSUqqsTvOMxMeAYueWNpK8JFHdeOOr8DfgSZov9Gbw=";
+  mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.33.0" "sha256-wPYq6HauR/FKWQhOFW6kZ2K9krgbQy861x5fc6cj/Rk=";
 
-  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.28.36" "sha256-O20aGL3EhyS5HNYlY6Jv1n0OIUWPr3L2VVjReHwpAGM=";
+  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.33.0" "sha256-TQyExlqtCcn2MSlOQM+0leuYQRpAsiug1M17aeMA2v8=";
 
-  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.28.47" "sha256-qNv+Qi/5eZ5oUsysYokQufE3BgL32BzA9gdxWsJ6ocU=";
+  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.33.0" "sha256-0zgfGDnrGZ5V9ZnPhajuJ5Da4mvrXokyAkwkTJIoSFc=";
 
-  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.28.56" "sha256-dLDUJEflskkXKb6soxoKRoPxko/Qb9lWkKjPnVklUWc=";
+  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.33.0" "sha256-ybLNQK6TqTQyOCbh4LDl0fTHMxHT/hFPVrfQDsmM3UE=";
 
-  mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.28.36" "sha256-DDUn2TFgXeeltWJqH7g7D+gKLSQv832/J4lWBVyWmlQ=";
+  mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.33.0" "sha256-3Pp4qX9zCcVZu+9cP6w3OoSSwdnxUfDzbta+jMrr9wA=";
 
-  mypy-boto3-iot-jobs-data = buildMypyBoto3Package "iot-jobs-data" "1.28.36" "sha256-bpKEm6reRSLi74HT9wMGN+xkJPTYSLxOGf8Z7QN1qMY=";
+  mypy-boto3-iot-jobs-data = buildMypyBoto3Package "iot-jobs-data" "1.33.0" "sha256-2DCo9QUW1HKoKdfHgD+xyRQqIuZ7o7uUXPvY07EZV0g=";
 
-  mypy-boto3-iot-roborunner = buildMypyBoto3Package "iot-roborunner" "1.28.36" "sha256-DFaWmHPzlgZztGfbbxeyDWu2rGLm69r8Ejww5cvzkRQ=";
+  mypy-boto3-iot-roborunner = buildMypyBoto3Package "iot-roborunner" "1.33.0" "sha256-GXlKkwzNjXJYPzHdI3Uri65/0nBXd+orYvKcWoSeK7c=";
 
-  mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.28.36" "sha256-GROHe78qVJLlPtw+wH73fzyBjTsrKkUbpVN0U26HsJs=";
+  mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.33.0" "sha256-cQ0OkkCmUUfs+QUvhhAW/KpuavwGafvqdFrY1PzzXbw=";
 
-  mypy-boto3-iot1click-projects = buildMypyBoto3Package "iot1click-projects" "1.28.36" "sha256-XAtVZ+j5k8eb1G79B+sin/W3bVfq+Vtr/P80BU2XnVQ=";
+  mypy-boto3-iot1click-projects = buildMypyBoto3Package "iot1click-projects" "1.33.0" "sha256-l8DLko7HIyeY8VNCyptEEs5eLp1sqy+2BGUitbMcNUM=";
 
-  mypy-boto3-iotanalytics = buildMypyBoto3Package "iotanalytics" "1.28.36" "sha256-jO+/523WSPqhQCAOr6nFiag/tCHL1Up1A0q76jZ7/qE=";
+  mypy-boto3-iotanalytics = buildMypyBoto3Package "iotanalytics" "1.33.0" "sha256-OySLO+BwjHWcjXhN0XoT1ORfTblgh+IzJ+n0/5LemrA=";
 
-  mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.28.36" "sha256-0v8vHIOzHO7ZEZEA08hzukJV9EFSnTFh/1K1h3RhCyY=";
+  mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.33.0" "sha256-eW0eDcwoJGyx8rFpnyYBZDkWlFtEaNRiO+gcVI0nBcY=";
 
-  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.28.36" "sha256-27oaZTqmrBRJ3xlE9QKqLkau+dR30aYdeczVaWwK1Xs=";
+  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.33.0" "sha256-DV0/RbgvhTWrSGGk10O/9NyEtuf+ApIE3X8/KF2eIr4=";
 
-  mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.28.36" "sha256-De7a/DdIEmK9jkd6CekBQ+ZNlp+5hyavdY5ISYNLM20=";
+  mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.33.0" "sha256-r1g2IkOxMSqNr9QsCLqgEjLn7BxpvqxCyq0AvVgiKQ8=";
 
-  mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.28.36" "sha256-AH9zk6pQ5OhupzG9lkZGSAX/ngrFovlldGkfn40TZh4=";
+  mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.33.0" "sha256-2k26pPTWBe8N/1bQeWpgJ8en7S9fY3Q5MMpr7aqvoZY=";
 
-  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.28.57" "sha256-KE8Q0jmXGhRAD3SmioxKVabyM0zLQEvhzogGEAMGvtU=";
+  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.33.0" "sha256-GVpJRoNPfGBrWg93fSG4ZG24kLx+6Mq+YVsQAtgzS1o=";
 
-  mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.28.36" "sha256-ANWiAgtmQCchCYvPPXUGdUHYLJOCoQAsFz8ybpZSceg=";
+  mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.33.0" "sha256-noMig7pdZsXfbEvqKbN8coNdXeW7ka1TNlx+WYiDJk0=";
 
-  mypy-boto3-iotsitewise = buildMypyBoto3Package "iotsitewise" "1.28.36" "sha256-Sr5hmTMLMDxxXwG6s+wv5kkq4NnFCTFjMisOwdniBN4=";
+  mypy-boto3-iotsitewise = buildMypyBoto3Package "iotsitewise" "1.33.0" "sha256-+MIlyAm+43Nnnll2p45xcMJvnzA2bAn1bCP9qxJIRXM=";
 
-  mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.28.36" "sha256-msc7aVFDSQRUNeqHWFqJ+4haUvCq+VYCpmZONl7+ySA=";
+  mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.33.0" "sha256-PMEe/LRjTfcSLPrZiAZeJKebaweWJw2Xr0GO+PBZBoc=";
 
-  mypy-boto3-iottwinmaker = buildMypyBoto3Package "iottwinmaker" "1.28.36" "sha256-laSFI1ugTL+9bVVQLuMKvQ9WGgXGikvV3k1DsyTIJ00=";
+  mypy-boto3-iottwinmaker = buildMypyBoto3Package "iottwinmaker" "1.33.0" "sha256-iKuROApGa2q+z+GCgV7ouAC0kHehZFPsRvPBuMwT5Gw=";
 
-  mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.28.36" "sha256-CAAkka/CEZ1D+MgK1cbWDm6mArcRPxAo98Rz3ti6oHk=";
+  mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.33.0" "sha256-g5lodl8v/5YZYlHQnMQBVQZFL5ad1YfXKq/OYfYh57Y=";
 
-  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.28.39" "sha256-bsUwfBojGMRujL9yLhIqBLAxEpgz1H3KCSmhoQ/UrfM=";
+  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.33.0" "sha256-66gIYLReZzmbqN3V9HJPLJqUEko9foM7BIpojBgdl1c=";
 
-  mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.28.47" "sha256-f5aHtTu7H0TY3XYW1OJIkwKlKe6iZj0nxEjwlbEmc/4=";
+  mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.33.0" "sha256-6Y9WnlSkgoD44QwzR9RebkkMQD36EhiZ83jk9Pnwwdc=";
 
-  mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.28.36" "sha256-WMq8phYMtEl8Ey7tDxBzVexuR4gmZQlO6qpDwYu8xwY=";
+  mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.33.0" "sha256-kcfUbJNRK8bG5yKrQ6oSWrTpu38CI9LRxXvEahYScc4=";
 
-  mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.28.36" "sha256-93kbJxpiLQsnhudgnGoGUimUPfhGMN0cc1x8qqsA/Jc=";
+  mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.33.0" "sha256-YwM+ebNi8hWLlpt5rjiw6Vqs3UMTCvmpb1CWOufW6TQ=";
 
-  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.28.39" "sha256-p2vmaWN7oBdsud3bCB2/rCme7IXKJ4xI/XSFj4AqmGo=";
+  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.33.0" "sha256-dwj2qQAWNgAbYafhnkN+EvFDkkgEu07lVlYJ/gDZZes=";
 
-  mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.28.46" "sha256-zeKYrDZdcdNISV2eukD7GN/sdve8R5PNbvOhZN5FyRI=";
+  mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.33.0" "sha256-qHfH4AqYPTu2pxT9eRfd/5bcAkNEpT6anrlCNVlbd98=";
 
-  mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.28.36" "sha256-C1wYGskKNR6E4bL6OR8ERRwHZ8HpTbhCAoiBKIAsgME=";
+  mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.33.0" "sha256-5cNnC6fTZ5bBdv37pW1B7T5BEDG//srFIGkZgYKUvQw=";
 
-  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.28.36" "sha256-p5Tj7bqC/E552Mmr/G+QxOA4LyW4YK9VlztEhKNw/Fc=";
+  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.33.0" "sha256-B3TRxDV9rjs++M8h9a+jXfQWGP+EalKIUwPVePRChf0=";
 
-  mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.28.36" "sha256-Q3E8DOj2Oyy9GBEy5xNxAxvZDqwlCu9zV7I51NprhQQ=";
+  mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.33.0" "sha256-zub0pEfwm8GB7zHRGtbylpTFdUwJXhY391xEH8qYpE8=";
 
-  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.28.36" "sha256-v3hjhhFbCTKsfYTUvI57lEvnRSIX5POdjH/4hC+GthA=";
+  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.33.0" "sha256-kEAXky62xtIUeCzrqu9ZrK9TiV6yJHkM539iGdaMgzU=";
 
-  mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.28.36" "sha256-Si9Dz0blHg5oq8Nnq/6V5NMmt3Zbl9rVt8/UcfwSgnU=";
+  mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.33.0" "sha256-bVo8NBi2h44/1CVewfBJKqgeus0g7F8N4tw/TenctM8=";
 
-  mypy-boto3-kinesis-video-signaling = buildMypyBoto3Package "kinesis-video-signaling" "1.28.36" "sha256-sOiEpuZ3AMYRK6daSsoK3ti9LN4v7GgBPSThWTh25Og=";
+  mypy-boto3-kinesis-video-signaling = buildMypyBoto3Package "kinesis-video-signaling" "1.33.0" "sha256-zc2L2M4FivEG3ngp2Jbd19wbRsHZgRUJ+9MFGZlx6oQ=";
 
-  mypy-boto3-kinesis-video-webrtc-storage = buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.28.36" "sha256-AJPSjIIX+AQKXPPoNxTESszrC5ZzQhwHeb/eTF/LJkE=";
+  mypy-boto3-kinesis-video-webrtc-storage = buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.33.0" "sha256-C6tp7/vJ2lCAV2e91U9cDfMGcJBBTY0oWZtgyWRLEvI=";
 
-  mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.28.36" "sha256-K/NUI/VQjoxmiL3s7ASUBCBv9GWqKQYpz4o0+oohDFU=";
+  mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.33.0" "sha256-0zg7wcbado7xu+CRsxaEErycUsO54SCw7IsXiYqkgaQ=";
 
-  mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.28.36" "sha256-k+ftbXSH2gm76lsJvMdvAuAnWBVsLEh829o4x5rUQUQ=";
+  mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.33.0" "sha256-fJ/tadSlvq64oqjqt1epuBBSHjer+YbIIIdL5xbcS3I=";
 
-  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.28.52" "sha256-X05ZXElPveZ44sea7a0F5oO+wIIpYgTISpUwvACPiEY=";
+  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.33.0" "sha256-78300PfV5TPI0hZQh1tCFjedq3htKSGzyJ4uWEIncsc=";
 
-  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.28.37" "sha256-l4RcfT1vhG8hlaWdapdDB6FqCFseZP56/kDppcBra48=";
+  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.33.0" "sha256-nQCdPjydIXhfyxD8cd4d6JgA4zhstpJSLKkSVKh+2gM=";
 
-  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.28.55" "sha256-RgYc0eRv7agKmJVwqTqsx2ua0Y1B8UHbwQ1eCh5kumU=";
+  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.33.0" "sha256-8Y9t0VeNWsVOmCR/SdUIBHnDvjkoWy5bw2RjSxuSw7Q=";
 
-  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.28.36" "sha256-cEmOb/a/1gt1hVPSf632kboWlXL6ygHCvUV9oLSLnP8=";
+  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.33.0" "sha256-vqwMtLlPg6REJC2xb2AUBb37bBWAjCxScgIk2Qfnr0A=";
 
-  mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.28.36" "sha256-pe4WZgqSF3iodWqXn94fzNChq946ZydQlwJF7CB0HMc=";
+  mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.33.0" "sha256-PUgJnDXfy3tHZc08HTlRlufnSLJbSLHD1GLTJX4HnC8=";
 
-  mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.28.36" "sha256-pE1gAxoS2hb4N4H7irZNgXERAXBt/eWqF0CZZjszTyI=";
+  mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.33.0" "sha256-8HTRPL3CeH3tdq/N0+OWO5k9sqf/32iPDsqkMjGEGUI=";
 
-  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.28.36" "sha256-6DXon6AyJugNzp9bKXfvspvWGdD11dV5qxBZa7AikbE=";
+  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.33.0" "sha256-YpmCUj2ODUX1FHr5TDVmPxE3/58wskLX1GtVwuVd4UI=";
 
-  mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.28.36" "sha256-6wP6YHyctJWXdPO8bmylwhxtJ3jltbWYyAxdu+5+X5w=";
+  mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.33.0" "sha256-9+R8J3Vy6+pM+wel+LhSXjlPpkdTTw6sGjdd/RKhI3Y=";
 
-  mypy-boto3-license-manager = buildMypyBoto3Package "license-manager" "1.28.36" "sha256-/XOD5I4y2PHzW9Y+akeF1Oovf04jeh4r4ZcxjUP4ZOU=";
+  mypy-boto3-license-manager = buildMypyBoto3Package "license-manager" "1.33.0" "sha256-pIzCQAn6H97JMnH7FBXHSpihnZHSzdXwNcJpLGk3/ws=";
 
-  mypy-boto3-license-manager-linux-subscriptions = buildMypyBoto3Package "license-manager-linux-subscriptions" "1.28.36" "sha256-LuwZUXbQlSC1YSyfNuensyYVoKwy6cZzMbC2/bGJ5Pw=";
+  mypy-boto3-license-manager-linux-subscriptions = buildMypyBoto3Package "license-manager-linux-subscriptions" "1.33.0" "sha256-z37qcv32occf3LKamxEJXSxjSAtIX998mnWl2ARjDsM=";
 
-  mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.28.36" "sha256-KcTO20KTKnvcCykL5C4BqDFyj/Xrp0l6gH7JslRIzcQ=";
+  mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.33.0" "sha256-HwNmdaP6309iCUQj1/auczwB3qu6JbZcBaIRIgACCnw=";
 
-  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.28.36" "sha256-3euT5o4jOo39mco4y7geAA7PBF6z7A3lj451xXnB98o=";
+  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.33.0" "sha256-ArY3xYDsJ49TTnkvpaEYzWaISt22VaDF6BBlViElGBk=";
 
-  mypy-boto3-location = buildMypyBoto3Package "location" "1.28.36" "sha256-Gl0Q4693qhG9Wii6KlQXw9B5hZcoYoNcsO6rptLGPHQ=";
+  mypy-boto3-location = buildMypyBoto3Package "location" "1.33.0" "sha256-erlU4iV29mUx9hm6rI0PIDQv88QQkZ7CTVQqas3GIK4=";
 
-  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.28.52" "sha256-tR6bl5YSI7/iMUzhaIe70imFezlgph03JIDW1ogWi34=";
+  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.33.0" "sha256-YHUgeW9sqmnl6SHrSJmjcPan7Qx+vcG/A5a+wkr4gPI=";
 
-  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.28.48" "sha256-RXWRC9LegKQlODn8zgQJEADZGSuCYMp4/HdFGUge3rU=";
+  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.33.0" "sha256-MTZmdiv6sdWI5VaJ76ehlmZn95Yn98OD4vlLEHgJL2g=";
 
-  mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.28.36" "sha256-GDkmENl2VbNDdXS26ORGeEoK8YAURJJRVzoxAiFt9L8=";
+  mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.33.0" "sha256-r0hkRsM8pBLz7Avr4BoJu3nCT1aSBEwqgVE3LCZB9OA=";
 
-  mypy-boto3-lookoutvision = buildMypyBoto3Package "lookoutvision" "1.28.36" "sha256-tcA34QM+t2tiaV7kmaNDZjGEbtc6Bs1ZRQoPjHFNojw=";
+  mypy-boto3-lookoutvision = buildMypyBoto3Package "lookoutvision" "1.33.0" "sha256-R55LCcvLTNuL1ldp2E0ocD/tBWvO3K6vhXQZwJIyFRQ=";
 
-  mypy-boto3-m2 = buildMypyBoto3Package "m2" "1.28.36" "sha256-6UdS7JMp8vnbP/AHoiQJ+kTBZiPSvymziVeNQnkXNxg=";
+  mypy-boto3-m2 = buildMypyBoto3Package "m2" "1.33.0" "sha256-TNbkHPjRwo9JTkUrbmHl89OP0OnqE6IBQkrpBsulxE8=";
 
-  mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.28.36" "sha256-ucXN/rMMlxsRBvR0rhvF+X98qKzuvXXHSGRZSqds2Cc=";
+  mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.33.0" "sha256-HndoCwclr0r0Efj0KS+lcjWn4JSTV/5hilMhzYdDbfU=";
 
   mypy-boto3-macie = buildMypyBoto3Package "macie" "1.28.36" "sha256-T7zd6G5Z4fz1/ZiCOwf+kWbXWCy35JaE3f2OUpWGNpE=";
 
-  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.28.50" "sha256-OSQqQIDB1mPTZNk1eZFHm5Undcc+C4W/cHnXk26STWQ=";
+  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.33.0" "sha256-H/xDY6kp8nKQNfAWtwtlcaiLtzcihKnVKesfW09lkeU=";
 
-  mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.28.58" "sha256-WurxI39UdFSgwdxaymDxsoO03bGZ1ooMaCCwOthnrPo=";
+  mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.33.0" "sha256-tjv51JiiZfjZhQUc+8AwUqPqu2feTNZdn6nRcm/RDtw=";
 
-  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.28.36" "sha256-3RQJLfH4XCw8ajN6NdEZqhnBjfYZvxqbZOISKaQyuq0=";
+  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.33.0" "sha256-jZwYm+rYczq2PiML7thRqgn2ud5fP4j2gkxje2CmiHY=";
 
-  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.28.37" "sha256-Egrc6aap+HyguDM71bJrvFrtG0x3mxHjKqusw8PGTc8=";
+  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.33.0" "sha256-ye9S1wPBfgc4FbkKpfi1WzR4CJn9GE6mhrxbE8n5z+w=";
 
-  mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.28.36" "sha256-9pTcu/s4RykpnM/FsI/VuBLmLCz1/AVpWSTPORFVraY=";
+  mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.33.0" "sha256-uUdFqAtq/uLJ8WuG9Kp4XtN5nQS35pxTb4S2OjAqn2w=";
 
-  mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.28.36" "sha256-8omV1nyC83MRbAEwCOzDvyuTHARxCDJtMCkIJ76/42Q=";
+  mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.33.0" "sha256-6DVPmJHDc7NkrWQufzse/F1nghbMaUWxhr5UPBq+MNY=";
 
-  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.28.36" "sha256-xJ/i8IAQvwsCD/8F8hVMGuVpI/8ZbiWCW6w2O9PMmwg=";
+  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.33.0" "sha256-dx2tLLmihzZpcpP8MkK7cAUqnKtZB4FENUKByaw0arA=";
 
-  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.28.53" "sha256-nGLoDX8cgcCHad2hpZvOzNSkq+VfWvTQ6qGbsvqbnbc=";
+  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.33.0" "sha256-d4v+vtVNYqx0tGkNJqp3NMKFc5vsnqSRCs+v/VRx480=";
 
-  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.28.45" "sha256-vcf1hxhHJ/F6S58p9Jb/Pic063aeLVc+HrzAnN9ph/A=";
+  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.33.0" "sha256-GBkjE0qsw2CB7C26HyGZtj7q7Ll/ZRkybG8ieWUWPUw=";
 
-  mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.28.36" "sha256-ezPUrghBEb7oInGgyP8JlEf2yKSOPHRznBZ7BcNP6Oc=";
+  mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.33.0" "sha256-6c21ah2h/dSA99HrYMhyDAmA0g4pab6euqZ6bHCLavo=";
 
-  mypy-boto3-mediapackage-vod = buildMypyBoto3Package "mediapackage-vod" "1.28.36" "sha256-CYgKkn7AOmwBgaMNhq2ofKH5dQXu+hgC0In+UfWa9f0=";
+  mypy-boto3-mediapackage-vod = buildMypyBoto3Package "mediapackage-vod" "1.33.0" "sha256-0iDa1wAxNTunibq6upy9sO2EDVNUZe4BZu6uAnIH0z4=";
 
-  mypy-boto3-mediapackagev2 = buildMypyBoto3Package "mediapackagev2" "1.28.36" "sha256-oGwfsKI4PEhj5oJKr9pLvma7+nNSFyRlMzC2HYnVCsQ=";
+  mypy-boto3-mediapackagev2 = buildMypyBoto3Package "mediapackagev2" "1.33.0" "sha256-D6F1rUwb3NC71r4xSy4C1s873Zapod+z+KK4M0JD/qM=";
 
-  mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.28.37" "sha256-OptRBCGquVDgcG/7K70WZCdMhGCPSU8Gyb236ooUwhY=";
+  mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.33.0" "sha256-lPcHVhxQFa3/RQeXtXpthzVMGYxMSSrq8fSJCIMOEVQ=";
 
-  mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.28.36" "sha256-X7PuP1LtOgJo/PJ5TBgq7O0iFAhBiVJRalNbQEWT7W4=";
+  mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.33.0" "sha256-ATbzeBpKdRsLZNPc/LunbV3vtk2MwbiE/3Rd3dK1bGw=";
 
-  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.28.36" "sha256-1w5g2gzMCvufKYjjXey3ZeokZTxuL97LqHdu3CoG2UA=";
+  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.33.0" "sha256-ChpZp3x6RD0A2x29b8oYCOJ1B5ZSAsKR+ppJ7ClH3XM=";
 
-  mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.28.36" "sha256-pAoO8V4SxZnUGou2Gf0p0Shpm7ZIvxdB9ZI8fhZU5U4=";
+  mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.33.0" "sha256-RwrnUf+oMvTLoB92Hw4UUYhTF3uspYeMabLF2wN1xiU=";
 
-  mypy-boto3-memorydb = buildMypyBoto3Package "memorydb" "1.28.36" "sha256-GsdpyKFaQyakXnKJzi2cBE0Vb1gLyUhXQ5VeGlkhVmk=";
+  mypy-boto3-memorydb = buildMypyBoto3Package "memorydb" "1.33.0" "sha256-P//hCRj4DA/KU/a9T72pbxzASx5/ZX4GxgIbyMSdUlY=";
 
-  mypy-boto3-meteringmarketplace = buildMypyBoto3Package "meteringmarketplace" "1.28.36" "sha256-LiZj7Dltu+C717k1Aywtkk1faeSUAFYCMiOe5Mgoy4A=";
+  mypy-boto3-meteringmarketplace = buildMypyBoto3Package "meteringmarketplace" "1.33.0" "sha256-K/+TL2G/cA8nJ9z7KXMolco/qnvZmpmwSga1RMOfFkQ=";
 
-  mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.28.36" "sha256-7AGJAF8dh5FQz46IRinvrTX/PEC8cBkS2G/LMndjNS4=";
+  mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.33.0" "sha256-cUjW8WKwjteGlw2NyHzCCxuBd7iVxS12KkR1EnaAoa8=";
 
-  mypy-boto3-mgn = buildMypyBoto3Package "mgn" "1.28.36" "sha256-MMp+P5+6/vc/fSNFUVuKtZCZbyDh8XvGsPg1LFTtzxg=";
+  mypy-boto3-mgn = buildMypyBoto3Package "mgn" "1.33.0" "sha256-lUJtRzW5UAjl1LXkZHWg1WlUpxjasmgo33lGRw9udQc=";
 
-  mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.28.36" "sha256-xfTzLCtQPfBM01l96ks/nGGYNgYYTy6GA3I/qU/y0II=";
+  mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.33.0" "sha256-FM0tshcFNXf8Ms/iHh5P8T5m9FxP1aVkp+Kjctr/Hwg=";
 
-  mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.28.36" "sha256-p3FiriZZMmqWMMPGT4Zu/BRiDch1K4hGqMYM9dVWX7g=";
+  mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.33.0" "sha256-kHp3Tjk7XwXI7Zb6Oyjbpn6mdDreidkjZ7E1mqPtGn8=";
 
-  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.28.36" "sha256-x5vC9TZD5y/wyNCUS4KbcJk3tfMbD6GxhxJQj+DYVo4=";
+  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.33.0" "sha256-DwQZO4+j8KedJuyik2pQdFYdSd0JJAw2/5cZ7xFp/OE=";
 
-  mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.28.36" "sha256-HvDtYoWRyBmQxzn/YZJ9nhXgpKAnnwfD8RtTG2RakDM=";
+  mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.33.0" "sha256-z+ouYb9EZzz7wjA5bZro/G+o/NRMYcIHnaeTXx2tWS8=";
 
-  mypy-boto3-mobile = buildMypyBoto3Package "mobile" "1.28.36" "sha256-SyBzpVCo90lFHeT9K9wbxMXNnJEccEY+bWsgnYcnA7Q=";
+  mypy-boto3-mobile = buildMypyBoto3Package "mobile" "1.33.0" "sha256-URX3lEpb5Dc1fw4H8B9tlBRG7GEjPJookU4uyI8evGo=";
 
-  mypy-boto3-mq = buildMypyBoto3Package "mq" "1.28.36" "sha256-nHADqvj4clxfJjeS0eiadhtaVKFKeXWLBG93QOwQkR8=";
+  mypy-boto3-mq = buildMypyBoto3Package "mq" "1.33.0" "sha256-AQLeF4t5dc6ggH4g4DppdULhU5CKAaQqXWAEvc9cBT4=";
 
-  mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.28.36" "sha256-7h2xEOjgYe1QVV3mbxb7HMZJunHo4RtDdr2Jojr6XDU=";
+  mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.33.0" "sha256-x9bBvryI5u4fgpmjFTpXd2sToP3G3OwNs1RXKgLqbH8=";
 
-  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.28.36" "sha256-OyetpZbtbOjtUowUA7ahRY3OGgUEHD+Q7i4rej5CLIs=";
+  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.33.0" "sha256-8ugvyQpgi/M4aZZmV98cB0wTIjJkwp3Uxnw3oWu7ldI=";
 
-  mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.28.36" "sha256-NEu+SKj/eoYlE2bRigVIFcXS+NRcyTwhB+xP0+SLh/s=";
+  mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.33.0" "sha256-PJdMZujxddavi9qDC1AGy+kaXPSwP6HPwslwsye+kBc=";
 
-  mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.28.43" "sha256-IWYezgs1FUCYgGvmw6X/8u8QX5uHew5PXhv3gr9MzME=";
+  mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.33.0" "sha256-N731oAubylvxdhHkPVhYsSni/1/GyQgUe/Q1owcqs7s=";
 
-  mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.28.38" "sha256-MR+/d8G6cfpSEXsC9+mk1WXg/y1fQatMDV0uASI9bU0=";
+  mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.33.0" "sha256-FhtuWhOJOYVTKkh9qVYEGVVcz0npD2UJwbdxzZYj7pA=";
 
-  mypy-boto3-networkmanager = buildMypyBoto3Package "networkmanager" "1.28.36" "sha256-KESRmtzmmm/IMlQw8s7alP2PSupcdnXRtx2ZHETPzLA=";
+  mypy-boto3-networkmanager = buildMypyBoto3Package "networkmanager" "1.33.0" "sha256-ODut19IQZ30DlhkOvXa0yeU8LN82BXf0jLS5r7gELKs=";
 
-  mypy-boto3-nimble = buildMypyBoto3Package "nimble" "1.28.36" "sha256-VDO5M5cFq0CLE4i017Peq9PFAOzKtld5ID8pgcZXBIA=";
+  mypy-boto3-nimble = buildMypyBoto3Package "nimble" "1.33.0" "sha256-mivgmoJ0UOFE7hO+kZ58l3UlzYYePQBYgKufIyeqqYc=";
 
-  mypy-boto3-oam = buildMypyBoto3Package "oam" "1.28.36" "sha256-wZ1GYz84QiDvu1EWE8AFrGP/7VnzZbLsrVj8Zt3WehE=";
+  mypy-boto3-oam = buildMypyBoto3Package "oam" "1.33.0" "sha256-UvOox6pd/SVsLPYoSfyOrga3A/xKeesLGB3XQJpJ74k=";
 
-  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.28.37" "sha256-bJALOo0sx1IwD1RBBx2CeW1JSW0IpqzF6i85ICO9SUM=";
+  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.33.0" "sha256-+IKxv7RV3O/SE4Wbu/vK/ILdQSVZgcVpGjyssUivDLA=";
 
-  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.28.36" "sha256-97rGlw+REicstwKchMVjN6EuZBxQuSwmhSfBnbHxsS4=";
+  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.33.0" "sha256-UBQKDr1Ki4/7hv26tQt4LVl4WmwTJjEdvAosbU+tbTU=";
 
-  mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.28.36" "sha256-7V+wNpLTrYueSnPkOGD1ARqAewrNjbQzlIPDQJ/eEDY=";
+  mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.33.0" "sha256-BCX9Hn5zi9hvrYfwNBzJ+ZYBM10/pAyFxg/c6DPXkzU=";
 
-  mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.28.36" "sha256-Dpp3frNgsAyzKqC0Etq/p7jpjV+1YMwBx2bFqchGpeI=";
+  mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.33.0" "sha256-1wNaezlG9q9h3PxxpSiNqVaG+7NE4xyLSyscAwZgGTY=";
 
-  mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.28.36" "sha256-zrkTx2FkTuP880vcmBYwfkHDsPvLmYA3aUEZx7dbHRU=";
+  mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.33.0" "sha256-9aaBhfj0jgW/SSVTEfnrQ+aFUmrRUH0QTNeb60ID/5Q=";
 
-  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.28.36" "sha256-IFR1uIVZVjJe2sWS9Tv75l67SXiB4Em74iKFz5giAWk=";
+  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.33.0" "sha256-CaUFowv10Ytj4c1Cgt2jvrtgLh3nakbMxyrfKYV5//g=";
 
-  mypy-boto3-osis = buildMypyBoto3Package "osis" "1.28.36" "sha256-TOEjsJmgoUEXd4H4s4y7Gx7gWxo4GeLWbDd7FA5Xc/o=";
+  mypy-boto3-osis = buildMypyBoto3Package "osis" "1.33.0" "sha256-8upYKP1B7FiQ6GkUh9wgedHWra9CVnTLf9nSGExi4Tc=";
 
-  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.28.51" "sha256-iA+7Mxkp3n6hUJuFhxZ/Nf4vjeQcd3PoOEmjzk2ITI8=";
+  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.33.0" "sha256-hRHvlNlIW9xnXCRyB9J0seowO6hMkKSHhH9em/zhjRY=";
 
-  mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.28.36" "sha256-st4X3JA9Wf6zBqx9Gr2BxE9Z+1LeU0kiDpI8b+IVnjw=";
+  mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.33.0" "sha256-1thhpvAzDWl5aWzkAT5+VoWfKCU5PnZxxxiyiMjJ+YE=";
 
-  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.28.36" "sha256-2YvWtVCfr7tYJzml4LdYpEsFrSpLve+nAWF6s2xB6HQ=";
+  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.33.0" "sha256-9IfdLZJrc/07tCB/Zw9p2aBfi0Wn28YpRrRBS/2JDeg=";
 
-  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.28.39" "sha256-aMYAPA0/z6O4fSOcp+IfIaC49NiPq/cmCGSGHCCiyBo=";
+  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.33.0" "sha256-M905qk0RYwBA7ps3owD1XoH7Yo78Gr5CQQ7Lm78oLGU=";
 
-  mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.28.38" "sha256-fVexVJjucP+4UEsje+jQU+dbA0ycpQQxWc3dqKnENiY=";
+  mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.33.0" "sha256-Lo307Al/6KeDuXI0uXv9YaIt7N8f98ecnm7UvcqXTy8=";
 
-  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.28.36" "sha256-SCQqvz6rBi9Ohbw10A9BS3Yu0xPQLs03a0a0zC9mXoM=";
+  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.33.0" "sha256-Xdxn78a/fJ9HpVAPfIvI/WEwWfpP5I9DBFCouNM+yx4=";
 
-  mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.28.36" "sha256-Znmc+a37B+wlkDCT387ZGCyfQ6kLrQeVcHCkplAAOAo=";
+  mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.33.0" "sha256-qxOtdxPdMsUb3AF4RxS71rQR+yNZ/bEU5AVbdCnzMP8=";
 
-  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.28.36" "sha256-EICeLDJQzOWkm+Lk94pfY6KPi+HQY46AbGUxOi4dsxg=";
+  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.33.0" "sha256-nPsZi1PNB114A/PF54bH+AaBQwHFXVWGlU8j2g/5GIo=";
 
-  mypy-boto3-pi = buildMypyBoto3Package "pi" "1.28.36" "sha256-sHhbm4A0BkC7h9SuYjOpIwQCLtvU5ukYzpgqNruvJnM=";
+  mypy-boto3-pi = buildMypyBoto3Package "pi" "1.33.0" "sha256-XSJHfOEUBJr+Ma6cl60v28nqWUBWDq+Qo57ib0XcMPo=";
 
-  mypy-boto3-pinpoint = buildMypyBoto3Package "pinpoint" "1.28.55" "sha256-Qi9wlrmtGVeGW/BXYJggG12q0g2Jw8pu2A9jd+3ryKI=";
+  mypy-boto3-pinpoint = buildMypyBoto3Package "pinpoint" "1.33.0" "sha256-JtbvxlgMqGkpe1A9iJ/75yKMO1UwezscJGTmdB79CwQ=";
 
-  mypy-boto3-pinpoint-email = buildMypyBoto3Package "pinpoint-email" "1.28.36" "sha256-KGDy7obD+hVisnEStsIGmvUD6/Peyo83/mzKFsKd+xI=";
+  mypy-boto3-pinpoint-email = buildMypyBoto3Package "pinpoint-email" "1.33.0" "sha256-UI+xK8uW7QsFIMY8WgzGiimk09M/aEM2LeZGwnYdsGo=";
 
-  mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.28.36" "sha256-NyUHn3+WgCp5AI0ly9F1gB2uyXICy5ot4HWPkv1sRjE=";
+  mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.33.0" "sha256-1rOzAXWJgpUzXCnnJbGT1BsVU5Nvamx38F93UhD9eOo=";
 
-  mypy-boto3-pinpoint-sms-voice-v2 = buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.28.36" "sha256-YO/15ikVJ0OJ4FuEubtcV4nc+NGBFMWwiZUgn28SgFQ=";
+  mypy-boto3-pinpoint-sms-voice-v2 = buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.33.0" "sha256-I/X/ss73SZ+vN+RhYq17MOR3e6V8hkWSSEi7aDvNMaM=";
 
-  mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.28.36" "sha256-wGVcXwhUGM729QsU3Tkmg8aD2s2cpg8/CTqOR1i8Lt4=";
+  mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.33.0" "sha256-T3xFxUfzUVwBlL94lzk90X2lpKrdm+KfmyClusgOrIE=";
 
-  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.28.36" "sha256-fntpy/+K4DYhfdv35hhanDS4oq1P0kNxxDFkkHQRmuU=";
+  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.33.0" "sha256-rxPlhb8KKxg3nTyZuoqqyY+GggSSrT8gLgUksqxeJLk=";
 
-  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.28.36" "sha256-zmtifAqoWolmES6GVNRHvcvsC43AWpI4BZLipns8vqU=";
+  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.33.0" "sha256-CT9TCmwAEbxb4/y9Cg/pEDklti31AuAXSqC/sJL4APw=";
 
-  mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.28.36" "sha256-JUaloEf/CtJBBwvf08tX1dfvMmo5zM85NFGKzLwd0zk=";
+  mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.33.0" "sha256-+oJe6OMaBFm9BLXdEm2ka7hQt4Ljre5NSBpCpXtqco8=";
 
-  mypy-boto3-proton = buildMypyBoto3Package "proton" "1.28.36" "sha256-TGSxplMR6PQJT8LOTNUct4VjDAMqtgBkg3HOOB8To7w=";
+  mypy-boto3-proton = buildMypyBoto3Package "proton" "1.33.0" "sha256-ntEvse5U66ab3wkNJeId0mH2rbpYHn4w1L/r5pBmlhY=";
 
-  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.28.36" "sha256-y1UMibv5dwVuuvs2x3Cprc4gErqxUOYN6Loeaug6Tjw=";
+  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.33.0" "sha256-F1QY3bB8FnjIBgRJy/b0QXfMcDRxa0wobl/+hr8VSl4=";
 
-  mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.28.36" "sha256-JGlIwudacKEBgKlf2iDn3iRTf/b869rS7fYaK3Q6Jgk=";
+  mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.33.0" "sha256-UL8WtdlVsMxZu2wU/xC3mMS0NsOgw9MCDblIYlGv4ew=";
 
-  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.28.54" "sha256-NOQ9zNMTJYZNhEoE2xNcyG78x9eajyY0AUDsa5JW3Ls=";
+  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.33.0" "sha256-hKD1G17c+IG1FVqvkdCmS+XfTLtDKJFfNoqBMC0Wm0I=";
 
-  mypy-boto3-ram = buildMypyBoto3Package "ram" "1.28.36" "sha256-5ne0E27ct5g2LQs3rzEJ5vQdnu/10uIfeS9t4FAVU2U=";
+  mypy-boto3-ram = buildMypyBoto3Package "ram" "1.33.0" "sha256-fbuo70E/H+EnJOgGjYBpMLwr8OgvU32QoLaR9q8OZUU=";
 
-  mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.28.36" "sha256-ADN+McM/ZuloBxZVug6Zc9w1Bij5pWhzQpP8if47re8=";
+  mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.33.0" "sha256-dtOVbyLlE63ZKSVZwlYkjgK0Tft5Re95yIRkurrnRXU=";
 
-  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.28.58" "sha256-pm5I8iTKxAKscXXy99EvF+ZnIpmposPnmo0yG3y3NQU=";
+  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.33.0" "sha256-KlDkCqRzs05mUWcqQjOHO1+vvkIhjDOvJ6js+FcekWk=";
 
-  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.28.36" "sha256-rNDCwG1tnI3diKXH0sN2Qd/+J4UEh7aKBOWCIX4gvYs=";
+  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.33.0" "sha256-ND5mLqGQlLNbTUqsGDy9LnFIDNL/piYv7P7MZuYjR24=";
 
-  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.28.36" "sha256-j0MCYKr0R42X1EtoGhNPM7lqTyoisvbYJPdCji8GvI8=";
+  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.33.0" "sha256-ayvQXqTu6MQyoifL+7wokW1mneD33BNtiwiNNSjQGhA=";
 
-  mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.28.36" "sha256-fEoxqvIsAs8mUTY/dSTAbQOxNlf4+1qpyZO28Fe2PLA=";
+  mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.33.0" "sha256-DyyLQrbqQGvjguHHyF/wi1jNOMkw/bhEqvvbP9ABOeM=";
 
-  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.28.36" "sha256-fd7nHbR/4eo08/RN8u6GESyshRa81BIussx8Rdg0IHE=";
+  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.33.0" "sha256-rjOGhRFap1fiQKgF7Z56ltq3V+Z39tpler6UFhPGozE=";
 
-  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.28.37" "sha256-6eNlzJDFLLP9YsFdogWE1vtXvSNP//N+f4KpnFfnpa4=";
+  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.33.0" "sha256-i+RvqZwdCBds+J4rEE7WwGvlimIabFT/QBwV4enK03A=";
 
-  mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.28.36" "sha256-A6Nbwo6IxIBDbhCWqaKIDFYUvHCc1GRHh2IzCaYn6Nc=";
+  mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.33.0" "sha256-UC22j0SRxmhQZl7nUX/V3B8KwMTVARHqkKO+S1NyjzU=";
 
-  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.28.36" "sha256-vTYcU6Lf5mhh3+PtwhLTb72MZwgrykAbXz8coSw7znM=";
+  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.33.0" "sha256-n2iKbDn31upQ1b5Kwv3nw3pR6DAd6Zoo6Gyy/vLwC2E=";
 
-  mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.28.36" "sha256-0q1trks0Xs22VuqE5nYnMVOmsPQ936UXMN3k7qo2kDc=";
+  mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.33.0" "sha256-6ueWCB5LNmsBtg3qLligNU67YJIMeXZUqgzD/UiD6p8=";
 
-  mypy-boto3-resourcegroupstaggingapi = buildMypyBoto3Package "resourcegroupstaggingapi" "1.28.36" "sha256-A2T8OZr2OibcP+WSCDk4NydfXA8UMI4DPRCnb4l+yWI=";
+  mypy-boto3-resourcegroupstaggingapi = buildMypyBoto3Package "resourcegroupstaggingapi" "1.33.0" "sha256-uTKy2n/VGyJECrC+r4KmPpijypJZI+YpjUJIaCzocxs=";
 
-  mypy-boto3-robomaker = buildMypyBoto3Package "robomaker" "1.28.36" "sha256-zgk5TPyOtimF9axIjv8f0chrD2M7LZbeo6Huat6IUEs=";
+  mypy-boto3-robomaker = buildMypyBoto3Package "robomaker" "1.33.0" "sha256-PAkcxkWqOFFFYJKcuhGg+V7Fpy0DO8ZbtWi91dxwRTQ=";
 
-  mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.28.36" "sha256-YQKGDMmakoxhIsarmBdvOlqno9Qtm5XqOOuBD3cnhsc=";
+  mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.33.0" "sha256-OCylaHsT5/70KEHa/MR3VpgX0Tca+9ajhxxFvm/52y4=";
 
-  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.28.36" "sha256-x/T2EZtPlnSFmRkRhU+GSKvRQHpXAL3c+JN6kdmFSuY=";
+  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.33.0" "sha256-TN0c2fnBFZs1teYTK47aS2aSIJsfTyykEG+u6AIEq08=";
 
-  mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.28.36" "sha256-UAHjH2z8jCvyR2vdM5igPc1gwkcxX7wb51qZbmHBe9c=";
+  mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.33.0" "sha256-xgDxR2NVl1tIywv62qtQVMWwVl1OOqpNjHKVgQRNiIA=";
 
-  mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.28.36" "sha256-kcVRZWAIDRrHwGxd/tnWcCuu9fIgdmHzvHIG1XUdMMs=";
+  mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.33.0" "sha256-3ei5cXJQXdn8enEajUuZx6Cdr7muZu8jj70HnTNAcbY=";
 
-  mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.28.36" "sha256-iwncFBFaoMzDDApHHSBfbRaIHUOXaJJO9fWTEK6LAKY=";
+  mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.33.0" "sha256-G7Gxq11J/vP9yX58B2PLzoPpt2auor3cjFDCwyKZ6ys=";
 
-  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.28.36" "sha256-0g6Xh6GS06L6o0De4V/zQdw0DMOQMFFW7NMWEY7I5fQ=";
+  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.33.0" "sha256-IIZ31f3mRlpjcmPDZ3A32sr6lTowbgV2ZXZa6eiR+ao=";
 
-  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.28.36" "sha256-o5wa4Jjskxw10OpjvVq62mdyi55nB8xsB1t52hEtrs8=";
+  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.33.0" "sha256-7Xwoqrqel7ra/GszrB6LM5xHi/nUS9e46YuiHj4a+uI=";
 
-  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.28.36" "sha256-e342+/wBjUwNWBtQnlPoJtShgDbFXEEGd8B43UPSCFg=";
+  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.33.0" "sha256-rjTTL6bv/K4L2al5U7ocHFbNIoDI9ddtDKwuglSY20M=";
 
-  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.28.55" "sha256-sAiAn0SOdAdQEtT8VLAXbeC09JvDjjneMMoOdk63UFY=";
+  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.33.0" "sha256-O46rgr2L/RzKuMB327njJr55WbQLb0hb5Xaz1RNd3ZE=";
 
-  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.28.36" "sha256-ZgJtq2jXRtgUXQrTfIZKSbF7TMTw/bV+bGlxte7kVA8=";
+  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.33.0" "sha256-f9iCCJeRTWJuxseojW9uifSYCykVzp0TkLl+Y04BAqM=";
 
-  mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.28.36" "sha256-56REWXuXLQP2mibMz1s2FbCZFqTRZNOsuUd0IZ3sOJI=";
+  mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.33.0" "sha256-6pNmhC3DGO1LywdB5WoItSexmu3vXLphI22Q7AA+VFQ=";
 
-  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.28.57" "sha256-W3QJIXU+RPgr4IrgyJC7o0ox65W1Xyye5X5qpUCnAzo=";
+  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.33.0" "sha256-3h/cL+zIk4lnqi1bPvynHxEkENb0x91a8VRiVnti6GA=";
 
-  mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.28.36" "sha256-2qwf/dtIhBT5HSYDDEuSy4nqGQrBYEZ/1RiD5vMYPMI=";
+  mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.33.0" "sha256-f6gy+UftA5pbCKREX9GQfgWZHiiliNUE9HwjdUdSfXU=";
 
-  mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.28.36" "sha256-JsDQv4j8QB0wrXA3142LdNdYabJd8iB7PiLVZz0X3ss=";
+  mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.33.0" "sha256-EDVAUidBT2RL/Pw5GtkHhY1o5acpUgHPcb8VAoA3HHc=";
 
-  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.28.57" "sha256-vcK8WdiV8m7cqJ7WkGAqYFLjRmKdqX0qCuxmZKYlrtw=";
+  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.33.0" "sha256-ARyYSoE5vYQx9D3QtGwGXcdjGBl1syrClfiyoYUCSlE=";
 
-  mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.28.36" "sha256-2JU0tA26pENaTJBsg13RV40+gsSRz+g1p/s+5LKtKTM=";
+  mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.33.0" "sha256-qFAF+i//ndB7xVgicFNS6pLwZbrOkfL/S8TresMUF88=";
 
-  mypy-boto3-sagemaker-metrics = buildMypyBoto3Package "sagemaker-metrics" "1.28.36" "sha256-DF36xuoA1csbTCz/NJ8UhU7NPYU/OgE0+Z1t5ppPKCA=";
+  mypy-boto3-sagemaker-metrics = buildMypyBoto3Package "sagemaker-metrics" "1.33.0" "sha256-p+OhIn4qrQ4P44N4XH1X7Xfkc3zTVMKlJjPqJ6F8ntc=";
 
-  mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.28.39" "sha256-BQFdGoaL6GPAtCgFBTT4ajdkSWXsPrxYcLGndAcZw2k=";
+  mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.33.0" "sha256-OtdeDVyr9YrVxtVoIvdbIcbL890XBZq75ZW+GtYW4cc=";
 
-  mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.28.36" "sha256-EuCyeSHWSlS2OC8DM5alD6IcZ3fewmJavMMHWXL12T0=";
+  mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.33.0" "sha256-5msijGns608Yhkf19/hkQSlU1R15Cz84DkaqisnhzPM=";
 
-  mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.28.36" "sha256-dMEm7KqoZFFtFnqXR6upXHQ/CeKQO1xQ+v7CoR4o7Xs=";
+  mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.33.0" "sha256-XQNvDHADKSW4H2djsnr1KCeTsHrrV0iAsPg3LTqKk2g=";
 
-  mypy-boto3-schemas = buildMypyBoto3Package "schemas" "1.28.36" "sha256-gq8a1k0MEnXFdmB5IPE9zHYF1rfoSD3Vis7YOVyCTV8=";
+  mypy-boto3-schemas = buildMypyBoto3Package "schemas" "1.33.0" "sha256-3xGpPsWwXT7uU7y/a/qTP6P18o1fGavfoy2TgPmAThI=";
 
-  mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.28.36" "sha256-pbH5y/bS15S6BeTPIZ0bw8h0elfLeHdab/IxJF4DNYU=";
+  mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.33.0" "sha256-PR9BBaFiN1XBsQGW1yyNyAtZAVu9Vs1e3V3U+7RWdDI=";
 
-  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.28.36" "sha256-fjkIh9Nb03CNjAzpQJUl2tCAU+qNpf0Ef3Lse88JP9M=";
+  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.33.0" "sha256-6nZeeZiGiaLPa6kwdmaqijeE9xWzcbj968t2lPTpK5o=";
 
-  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.28.43" "sha256-Ein8Q/bhJoThpGzGK9ow53WEWs5D5ARW/15s3qzLqnw=";
+  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.33.0" "sha256-NiBb5+8qXkguB0jgfvLuIJ4KP2a4dRIT1PpbfOCmm+U=";
 
-  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.28.36" "sha256-YKtv/32/5ngUo4GUqeplkL5mmdcWP7rYrypLPJtebQ0=";
+  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.33.0" "sha256-y0d9dWIxM+3Q76NNL+zTLh/94W6ckTqa5EQ7ybeTLvQ=";
 
-  mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.28.36" "sha256-oNSQAc9ZBX3+q1ycI0mg4lJ3jjqYkMfb0Cs/wjBRhrY=";
+  mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.33.0" "sha256-LEwYGhI687xCYTd8/gD1OCsJQqYE+6E1iYfc9IW98D8=";
 
-  mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.28.36" "sha256-qWw/5Q/S/60ZJ55wJf+1++YRnXS7fySFJSDLOm9neDE=";
+  mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.33.0" "sha256-aiUaeMbUZhXO4xwzHKqq34UoLGamxY8ScctNJYAfME0=";
 
-  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.28.37" "sha256-BOhaddv6XQwCRLuYk3ybTmFSdAQfWkqMVW6IvB4q/78=";
+  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.33.0" "sha256-CcqYyundv85gm1ldNcJD6CP3NuLoxOlCDtcb9O1GRCw=";
 
-  mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.28.37" "sha256-rUHzIPXave2oWWyEDERmBfybNFyzw2RMxPFFidVqdh8=";
+  mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.33.0" "sha256-aDB5nDIate3iPsJj/R+nHXIn93s+aS1jEO681soCU1I=";
 
-  mypy-boto3-servicediscovery = buildMypyBoto3Package "servicediscovery" "1.28.52" "sha256-WaiZXFpKr59w0XtjF6mVI7kGt1X+vmbeWiDBNwEaeRw=";
+  mypy-boto3-servicediscovery = buildMypyBoto3Package "servicediscovery" "1.33.0" "sha256-7L2BVq4mpS+hpfSaJI7kP3JIY5HvkvIC9iG/SN1En/k=";
 
-  mypy-boto3-ses = buildMypyBoto3Package "ses" "1.28.36" "sha256-HYAl9ock3b9chpYp+wd+sR1DElFN+jxipHc3lGoIFR8=";
+  mypy-boto3-ses = buildMypyBoto3Package "ses" "1.33.0" "sha256-lqQXMviH4mGFxNHOpt6QSivj7oY7OFpqEuBvP0rgo/4=";
 
-  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.28.37" "sha256-TqnrgOc+YI6YA3BtJcN2BdU8Cm3By60yQJPxcWdQrEY=";
+  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.33.0" "sha256-eUDLuGa64FsuCdthyxQE/Qn5rwIp0zec7MOjOefLE/c=";
 
-  mypy-boto3-shield = buildMypyBoto3Package "shield" "1.28.36" "sha256-io8Ux5jD5gyQwZDENXuT/5/R1iqTWd4c34zzQtBxNyk=";
+  mypy-boto3-shield = buildMypyBoto3Package "shield" "1.33.0" "sha256-YRdKHn5rsvDgnb943Ij1KnofrbRd4pU4TdqQdHP3Xvk=";
 
-  mypy-boto3-signer = buildMypyBoto3Package "signer" "1.28.36" "sha256-4Aji9L+AI66iB9NaiuV96YefuoEJ0s+BPdsOu/UwDpM=";
+  mypy-boto3-signer = buildMypyBoto3Package "signer" "1.33.0" "sha256-S1W9NySnVEpJg38R8hfFSig3TX/trVkpTxE9ZSUGcCU=";
 
-  mypy-boto3-simspaceweaver = buildMypyBoto3Package "simspaceweaver" "1.28.47" "sha256-13RYW3vObQUNBsBtp8uaZZ9JFAiwBwiaYQv8tJ0O85w=";
+  mypy-boto3-simspaceweaver = buildMypyBoto3Package "simspaceweaver" "1.33.0" "sha256-UZ3zUzYQnhRinS1DgJ84k8+r5gYOE6kCl3SVL/XZy1o=";
 
-  mypy-boto3-sms = buildMypyBoto3Package "sms" "1.28.36" "sha256-xV29r8VmjvEQyyTYIdfkB9WbF08kjWbKdtLB5fXoWOo=";
+  mypy-boto3-sms = buildMypyBoto3Package "sms" "1.33.0" "sha256-rVfUGYJdwzhmuMafNCyHS1juSQKIqnqow0FtaJvDOt0=";
 
-  mypy-boto3-sms-voice = buildMypyBoto3Package "sms-voice" "1.28.36" "sha256-mtX0fSvFofCCD2gQhyc+YBWZbAoR497FAyjUezm4FgU=";
+  mypy-boto3-sms-voice = buildMypyBoto3Package "sms-voice" "1.33.0" "sha256-zYeq5fDM+cf+h0XUJQrblYPUEZPJHMfT3xVzCityDjo=";
 
-  mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.28.36" "sha256-mD1oojs3893aLdZQybDe41j5bG8dkMT92eq9fDbo5V8=";
+  mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.33.0" "sha256-OwhIB0rTJj/OonLCVPLb+IT00xHEbknyDIK+pNqe9s4=";
 
-  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.28.36" "sha256-ngClAeGdx5U6b41iNIABhcrBWzv4t3PB0dkdavx2e2I=";
+  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.33.0" "sha256-LSSae0TvB4ugThF26dky3mVgn7d0LbH3RxRrO5aga/I=";
 
-  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.28.36" "sha256-SXWRhkEBpRR9XS+nFRBIwMTLSxmvN0prcKwu+KrkMGY=";
+  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.33.0" "sha256-5PegpJ1neJ/R1zXVj17zW6S4Kq8EIls0GYGEUr+dQC4=";
 
-  mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.28.36" "sha256-2cFZ4CDw7yJabVhQo2c+iyNjJyQ7pf/g0Tdirk/cDiE=";
+  mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.33.0" "sha256-gfSDjoHLsMCIoQ4oeSL99qPzF8urZkeZOrnb1WfA6Ps=";
 
-  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.28.54" "sha256-cf246Qy7fhVgvU7M9w38JkqsdWQma4GI+YmNNpIJtJ8=";
+  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.33.0" "sha256-zPinrGSrOB/I+VZqmW4AMiC4HVcV7RKsSX/lGwYxJSk=";
 
-  mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.28.36" "sha256-MK1Hp9196tv2vFaVtroRPAMSP5lgmBJJZjOi7sqK318=";
+  mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.33.0" "sha256-yY2RKQIb31DAqE03sj+nUAEENSmfmfPtw0TjipI0hhk=";
 
-  mypy-boto3-ssm-incidents = buildMypyBoto3Package "ssm-incidents" "1.28.36" "sha256-0wYmsUl+q0s163UReHdCGSd18GOAhYh2aZKujT25aZc=";
+  mypy-boto3-ssm-incidents = buildMypyBoto3Package "ssm-incidents" "1.33.0" "sha256-GJFqXklw/6LBN29Rq3v3+ZQf29v0bb0RcgZa7LCzFJU=";
 
-  mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.28.36" "sha256-aQtr5rgXtokfiI/CoVxD1g4KmP9ii0hELER08sJOu3g=";
+  mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.33.0" "sha256-jyMEnnc3yKxc+QnhfXaDLx6Gv8zWK2QdMFz/1ETShig=";
 
-  mypy-boto3-sso = buildMypyBoto3Package "sso" "1.28.58" "sha256-EieqwoZ+kj3bbRDgwDDNZEPQXXFv3wFQUCYHivM6zeE=";
+  mypy-boto3-sso = buildMypyBoto3Package "sso" "1.33.0" "sha256-0AE79T+no8I85LcUDaJu6mhU3HErmW7uHZliFY9TCC8=";
 
-  mypy-boto3-sso-admin = buildMypyBoto3Package "sso-admin" "1.28.44" "sha256-BleFuvoN4f9/6Q/vvDRwgmRBP86F7i7tpaC6G3sXn1Y=";
+  mypy-boto3-sso-admin = buildMypyBoto3Package "sso-admin" "1.33.0" "sha256-Ita7xWlUlGkV4+THIfbV+NpwTjINg2sGLaFdYtxqJYg=";
 
-  mypy-boto3-sso-oidc = buildMypyBoto3Package "sso-oidc" "1.28.52" "sha256-LGxlGXTsYZdBHiTFGzCCMvRW20Ny0kXMXLoP2YTAbKg=";
+  mypy-boto3-sso-oidc = buildMypyBoto3Package "sso-oidc" "1.33.0" "sha256-dRXHaCSlqZnw6ucYZfTMcynwiBBuoJR1KnCtcECvQug=";
 
-  mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.28.36" "sha256-jHlOmKvFyiPvE+NR9Gu4Sd5jS6ym81KG4x5Y3t5Atoc=";
+  mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.33.0" "sha256-CdmlILqHDjaNv/xIdxdFkIyy8MQn+bP6/1zlNxmpY40=";
 
-  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.28.36" "sha256-59qw52muZfYjmzO3quhIfgSk5xurzialMIEh+k+C69Q=";
+  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.33.0" "sha256-9DxC+UNQtLUuw4XopRCH7hUFqrzQ/VpsdMRGpfaApxU=";
 
-  mypy-boto3-sts = buildMypyBoto3Package "sts" "1.28.58" "sha256-vv/scF8fC0Sdo8H1Ksdlhie7KJrs7BpECCZkecRuBTs=";
+  mypy-boto3-sts = buildMypyBoto3Package "sts" "1.33.0" "sha256-4IMl0XJ7k0YWoL/N6ME6M0GnnndUii2cPw/H/C4UijM=";
 
-  mypy-boto3-support = buildMypyBoto3Package "support" "1.28.36" "sha256-HjzL3qwEiQSvJvaiB6pJN/GUMRNseuIqxM7rfrfwRKs=";
+  mypy-boto3-support = buildMypyBoto3Package "support" "1.33.0" "sha256-vlPxisq+A37anbGD2/CqbLkl7APTw1ykofxSXm8gigM=";
 
-  mypy-boto3-support-app = buildMypyBoto3Package "support-app" "1.28.36" "sha256-p/v2QUgmGYRVKGUtrCt9i6c1LKCxqNoNKHnfbAw7qMU=";
+  mypy-boto3-support-app = buildMypyBoto3Package "support-app" "1.33.0" "sha256-DuP17/pOEBiQF9sGWd34JXZwprYyoecanphXnLSxXnc=";
 
-  mypy-boto3-swf = buildMypyBoto3Package "swf" "1.28.36" "sha256-GO8hb3oVmSK0J8GB4ZT1RlqyBaRrOM2ZorOHkE3L8p0=";
+  mypy-boto3-swf = buildMypyBoto3Package "swf" "1.33.0" "sha256-g6YeCNjUn5nqpjt3LxZoC26Q9fqt37g9KVXOBG3Kfp8=";
 
-  mypy-boto3-synthetics = buildMypyBoto3Package "synthetics" "1.28.36" "sha256-6vRCRKjNplmMqmUpvDC/JVPl4q/YUYealQdXOComXNQ=";
+  mypy-boto3-synthetics = buildMypyBoto3Package "synthetics" "1.33.0" "sha256-ej/Bxd9BnsBocaZqekmSuDtnMP9mzPX1QlFCHHCD8sM=";
 
-  mypy-boto3-textract = buildMypyBoto3Package "textract" "1.28.56" "sha256-xWQQAJJSeB/vsY2RAxw4z9lKjtVHJ91tvgZklwl/g74=";
+  mypy-boto3-textract = buildMypyBoto3Package "textract" "1.33.0" "sha256-li0px8Q/y3YtGFXIN93f4dnEQF6Ym6xDrO0hKSZjCOk=";
 
-  mypy-boto3-timestream-query = buildMypyBoto3Package "timestream-query" "1.28.36" "sha256-fslhEeOU6hSx6efMMesqkV4MyicL5hAvKBD1ZdyB1Dw=";
+  mypy-boto3-timestream-query = buildMypyBoto3Package "timestream-query" "1.33.0" "sha256-zk0AXRH+I9ITOpjfYMCS9olJH3BF+kc312u9KersvIQ=";
 
-  mypy-boto3-timestream-write = buildMypyBoto3Package "timestream-write" "1.28.36" "sha256-dWA9lZ/vw96WA69hyECGnTTo9O+5qPyQWAUCSdevBUM=";
+  mypy-boto3-timestream-write = buildMypyBoto3Package "timestream-write" "1.33.0" "sha256-2Kolw+CmsMDtjJMuY8kjy0XuCmdOu16WmDJFMLjUoPs=";
 
-  mypy-boto3-tnb = buildMypyBoto3Package "tnb" "1.28.36" "sha256-sGoBXxbU2rLyTbW1olhS3jgrfcw10FtCNgHckcWiSpI=";
+  mypy-boto3-tnb = buildMypyBoto3Package "tnb" "1.33.0" "sha256-z5rPVAy06qQ5WGOJKQYyy6NVvcGyR709A2EZGDDd1S0=";
 
-  mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.28.36" "sha256-oBof0qzgKgS58e+2teI6bBiIY3svwiyS+Ztzb3wRtLI=";
+  mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.33.0" "sha256-iflxQRk7e7tzh2qj8quJxaris+8lmyaOFeXmG7VS0gk=";
 
-  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.28.58" "sha256-aTpJa78Q/Z2xCtMCsExVqHsZwVlRlzBwKl3m/sWvXcM=";
+  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.33.0" "sha256-JDiD98A/Vfn4qv3lYoQo/mUQ3RxYiq1kl75j4ME5Mqo=";
 
-  mypy-boto3-translate = buildMypyBoto3Package "translate" "1.28.36" "sha256-Q2FuBXtXWenPvkJ3PprDolsO6ur5QAAn0y1ORYEQIMM=";
+  mypy-boto3-translate = buildMypyBoto3Package "translate" "1.33.0" "sha256-td3QHxympQnJbM5bBzt1ggSo7S5jyO3y7hnwOmuGM8Y=";
 
-  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.28.36" "sha256-HpiBOyeWvB/T/MquJ0R8Uk647VqCAlmC0Tryw9iojjA=";
+  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.33.0" "sha256-uz9KloAWThUxBj5cyoji4A/1P/jH/0tYq3DTfyd+pmw=";
 
-  mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.28.36" "sha256-B4R1U1eU4IZdB/Q+keSRL41zLvBMBJUiGw0RcCsC2l4=";
+  mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.33.0" "sha256-7ypwaUuxi5A33zV5CgbQYSaCFiY3r1VgZbN06SpmwMk=";
 
-  mypy-boto3-vpc-lattice = buildMypyBoto3Package "vpc-lattice" "1.28.41" "sha256-azHtPlg9etjfZOpN2505djAq9enyrIkz5NcIQE+fl9U=";
+  mypy-boto3-vpc-lattice = buildMypyBoto3Package "vpc-lattice" "1.33.0" "sha256-nutxvGkImauWfAigsvJyb5Qqzji4VjQIYwaqfhKyaQY=";
 
-  mypy-boto3-waf = buildMypyBoto3Package "waf" "1.28.36" "sha256-andRHQn1HAms2m57rIy+40iF7jz4nzGzYH24fP8qHSw=";
+  mypy-boto3-waf = buildMypyBoto3Package "waf" "1.33.0" "sha256-Xv7RDeKMiD4AO69sR/KBeP2rnDAidYYUjJuQV0ZRAEI=";
 
-  mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.28.36" "sha256-WoIforrEs7OOroJB5YvPSw/M9tvrojNnbFJdG7BlzkU=";
+  mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.33.0" "sha256-M8mZwqWRbzUe/xQxbG+lSzq25l+FIp6W8I39wJfXS00=";
 
-  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.28.57" "sha256-7xrRaEm54cKtRZplu6l8UbTg+hF6Y5qP9/lgAV8D6AY=";
+  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.33.0" "sha256-TfoNQglb5u8Ds55tHwYMTI/z1pwvH/c7N4zuat39Fek=";
 
-  mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.28.36" "sha256-Xsu8CV0MvpmbAMA6ZMoIPQHSMJn8okag1SxKW0SUv1I=";
+  mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.33.0" "sha256-PY40gzjFEUcQziYjRa1/hzMwcM6CkB8WHmf6WiOde3Q=";
 
-  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.28.36" "sha256-paheK7r4sqDjBbUVieh6E5gPAbmVaEFAC3NsWsCWxBA=";
+  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.33.0" "sha256-Coer7cmbnagZO4GilB2ymabrAgqbEHFYix6ElDLPI44=";
 
-  mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.28.36" "sha256-dQysUcm1xlXJbcM1vdYZ7+migQgjHl4gSqHoZDKnhHg=";
+  mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.33.0" "sha256-I5TUfy5QIk3zDeWZ/vWLk+Nu/I/KmlORnLdMBjwo3EI=";
 
-  mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.28.36" "sha256-oFjYLBxp/dZf1+IN5rj3usSUvZnRyhRMu63mRgdsrmI=";
+  mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.33.0" "sha256-4uf5Yx1oJZvRzz0T7QJDtcLgy7I0GC71GjRfad0ZvQ0=";
 
-  mypy-boto3-workmail = buildMypyBoto3Package "workmail" "1.28.50" "sha256-OfRyehgMROua9Ydcc8HBvBp4eddo0re1w0fciBVUuS4=";
+  mypy-boto3-workmail = buildMypyBoto3Package "workmail" "1.33.0" "sha256-c3mYtWZZoIG1vLfbvZHvc4N51e+HUJoOtYAunn3ZnoI=";
 
-  mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.28.36" "sha256-hfRjdhr/xJJNWYy4XDg8LT00sx/JGAEa4D+5GyR+FCo=";
+  mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.33.0" "sha256-86zGiMsBeyOcTmwZ84McmHlRCbk3OLIp5DHdtqoUjwo=";
 
-  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.28.44" "sha256-/LXeiuXeNTgfAf8BrzC/z0kdK201Htkau79BH0MQEO4=";
+  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.33.0" "sha256-bryzSjYbSC789o2YWqCvFUqrEOgA0R11Uf9QKe6R1yI=";
 
-  mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.28.36" "sha256-kVVNGZYzZ2wIQVOCq3domqztTqsHY8FFHgeT5GCWtg0=";
+  mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.33.0" "sha256-b1IlikX82GNZmzH9HlAouwf4chh2wMphZkMTF97kWyk=";
 
-  mypy-boto3-xray = buildMypyBoto3Package "xray" "1.28.47" "sha256-1OiTpbaBm2aAls4A7ZaZBNAM8DTRuQcwNKJDq3lOKMY=";
+  mypy-boto3-xray = buildMypyBoto3Package "xray" "1.33.0" "sha256-x15vxbgn3bCC19N5S9kg4/cQPgZtjJfMzU5oSsxHvzs=";
 
-}
+  }
diff --git a/pkgs/development/python-modules/mypy-boto3/update.sh b/pkgs/development/python-modules/mypy-boto3/update.sh
new file mode 100644
index 0000000000000..94e99120f5c1f
--- /dev/null
+++ b/pkgs/development/python-modules/mypy-boto3/update.sh
@@ -0,0 +1,384 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-update
+
+set -eu -o pipefail
+
+source_file=pkgs/development/python-modules/mypy-boto3/default.nix
+
+version="1.33.0"
+
+nix-update python311Packages.botocore-stubs --commit --build
+
+packages=(
+  mypy-boto3-accessanalyzer
+  mypy-boto3-account
+  mypy-boto3-acm
+  mypy-boto3-acm-pca
+  mypy-boto3-alexaforbusiness
+  mypy-boto3-amp
+  mypy-boto3-amplify
+  mypy-boto3-amplifybackend
+  mypy-boto3-amplifyuibuilder
+  mypy-boto3-apigateway
+  mypy-boto3-apigatewaymanagementapi
+  mypy-boto3-apigatewayv2
+  mypy-boto3-appconfig
+  mypy-boto3-appconfigdata
+  mypy-boto3-appfabric
+  mypy-boto3-appflow
+  mypy-boto3-appintegrations
+  mypy-boto3-application-autoscaling
+  mypy-boto3-application-insights
+  mypy-boto3-applicationcostprofiler
+  mypy-boto3-appmesh
+  mypy-boto3-apprunner
+  mypy-boto3-appstream
+  mypy-boto3-appsync
+  mypy-boto3-arc-zonal-shift
+  mypy-boto3-athena
+  mypy-boto3-auditmanager
+  mypy-boto3-autoscaling
+  mypy-boto3-autoscaling-plans
+  mypy-boto3-backup
+  mypy-boto3-backup-gateway
+  mypy-boto3-backupstorage
+  mypy-boto3-batch
+  mypy-boto3-billingconductor
+  mypy-boto3-braket
+  mypy-boto3-budgets
+  mypy-boto3-ce
+  mypy-boto3-chime
+  mypy-boto3-chime-sdk-identity
+  mypy-boto3-chime-sdk-media-pipelines
+  mypy-boto3-chime-sdk-meetings
+  mypy-boto3-chime-sdk-messaging
+  mypy-boto3-chime-sdk-voice
+  mypy-boto3-cleanrooms
+  mypy-boto3-cloud9
+  mypy-boto3-cloudcontrol
+  mypy-boto3-clouddirectory
+  mypy-boto3-cloudformation
+  mypy-boto3-cloudfront
+  mypy-boto3-cloudhsm
+  mypy-boto3-cloudhsmv2
+  mypy-boto3-cloudsearch
+  mypy-boto3-cloudsearchdomain
+  mypy-boto3-cloudtrail
+  mypy-boto3-cloudtrail-data
+  mypy-boto3-cloudwatch
+  mypy-boto3-codeartifact
+  mypy-boto3-codebuild
+  mypy-boto3-codecatalyst
+  mypy-boto3-codecommit
+  mypy-boto3-codedeploy
+  mypy-boto3-codeguru-reviewer
+  mypy-boto3-codeguru-security
+  mypy-boto3-codeguruprofiler
+  mypy-boto3-codepipeline
+  mypy-boto3-codestar
+  mypy-boto3-codestar-connections
+  mypy-boto3-codestar-notifications
+  mypy-boto3-cognito-identity
+  mypy-boto3-cognito-idp
+  mypy-boto3-cognito-sync
+  mypy-boto3-comprehend
+  mypy-boto3-comprehendmedical
+  mypy-boto3-compute-optimizer
+  mypy-boto3-config
+  mypy-boto3-connect
+  mypy-boto3-connect-contact-lens
+  mypy-boto3-connectcampaigns
+  mypy-boto3-connectcases
+  mypy-boto3-connectparticipant
+  mypy-boto3-controltower
+  mypy-boto3-cur
+  mypy-boto3-customer-profiles
+  mypy-boto3-databrew
+  mypy-boto3-dataexchange
+  mypy-boto3-datapipeline
+  mypy-boto3-datasync
+  mypy-boto3-dax
+  mypy-boto3-detective
+  mypy-boto3-devicefarm
+  mypy-boto3-devops-guru
+  mypy-boto3-directconnect
+  mypy-boto3-discovery
+  mypy-boto3-dlm
+  mypy-boto3-dms
+  mypy-boto3-docdb
+  mypy-boto3-docdb-elastic
+  mypy-boto3-drs
+  mypy-boto3-ds
+  mypy-boto3-dynamodb
+  mypy-boto3-dynamodbstreams
+  mypy-boto3-ebs
+  mypy-boto3-ec2
+  mypy-boto3-ec2-instance-connect
+  mypy-boto3-ecr
+  mypy-boto3-ecr-public
+  mypy-boto3-ecs
+  mypy-boto3-efs
+  mypy-boto3-eks
+  mypy-boto3-elastic-inference
+  mypy-boto3-elasticache
+  mypy-boto3-elasticbeanstalk
+  mypy-boto3-elastictranscoder
+  mypy-boto3-elb
+  mypy-boto3-elbv2
+  mypy-boto3-emr
+  mypy-boto3-emr-containers
+  mypy-boto3-emr-serverless
+  mypy-boto3-entityresolution
+  mypy-boto3-es
+  mypy-boto3-events
+  mypy-boto3-evidently
+  mypy-boto3-finspace
+  mypy-boto3-finspace-data
+  mypy-boto3-firehose
+  mypy-boto3-fis
+  mypy-boto3-fms
+  mypy-boto3-forecast
+  mypy-boto3-forecastquery
+  mypy-boto3-frauddetector
+  mypy-boto3-fsx
+  mypy-boto3-gamelift
+  mypy-boto3-gamesparks
+  mypy-boto3-glacier
+  mypy-boto3-globalaccelerator
+  mypy-boto3-glue
+  mypy-boto3-grafana
+  mypy-boto3-greengrass
+  mypy-boto3-greengrassv2
+  mypy-boto3-groundstation
+  mypy-boto3-guardduty
+  mypy-boto3-health
+  mypy-boto3-healthlake
+  mypy-boto3-honeycode
+  mypy-boto3-iam
+  mypy-boto3-identitystore
+  mypy-boto3-imagebuilder
+  mypy-boto3-importexport
+  mypy-boto3-inspector
+  mypy-boto3-inspector2
+  mypy-boto3-internetmonitor
+  mypy-boto3-iot
+  mypy-boto3-iot-data
+  mypy-boto3-iot-jobs-data
+  mypy-boto3-iot-roborunner
+  mypy-boto3-iot1click-devices
+  mypy-boto3-iot1click-projects
+  mypy-boto3-iotanalytics
+  mypy-boto3-iotdeviceadvisor
+  mypy-boto3-iotevents
+  mypy-boto3-iotevents-data
+  mypy-boto3-iotfleethub
+  mypy-boto3-iotfleetwise
+  mypy-boto3-iotsecuretunneling
+  mypy-boto3-iotsitewise
+  mypy-boto3-iotthingsgraph
+  mypy-boto3-iottwinmaker
+  mypy-boto3-iotwireless
+  mypy-boto3-ivs
+  mypy-boto3-ivs-realtime
+  mypy-boto3-ivschat
+  mypy-boto3-kafka
+  mypy-boto3-kafkaconnect
+  mypy-boto3-kendra
+  mypy-boto3-kendra-ranking
+  mypy-boto3-keyspaces
+  mypy-boto3-kinesis
+  mypy-boto3-kinesis-video-archived-media
+  mypy-boto3-kinesis-video-media
+  mypy-boto3-kinesis-video-signaling
+  mypy-boto3-kinesis-video-webrtc-storage
+  mypy-boto3-kinesisanalytics
+  mypy-boto3-kinesisanalyticsv2
+  mypy-boto3-kinesisvideo
+  mypy-boto3-kms
+  mypy-boto3-lakeformation
+  mypy-boto3-lambda
+  mypy-boto3-lex-models
+  mypy-boto3-lex-runtime
+  mypy-boto3-lexv2-models
+  mypy-boto3-lexv2-runtime
+  mypy-boto3-license-manager
+  mypy-boto3-license-manager-linux-subscriptions
+  mypy-boto3-license-manager-user-subscriptions
+  mypy-boto3-lightsail
+  mypy-boto3-location
+  mypy-boto3-logs
+  mypy-boto3-lookoutequipment
+  mypy-boto3-lookoutmetrics
+  mypy-boto3-lookoutvision
+  mypy-boto3-m2
+  mypy-boto3-machinelearning
+  mypy-boto3-macie
+  mypy-boto3-macie2
+  mypy-boto3-managedblockchain
+  mypy-boto3-managedblockchain-query
+  mypy-boto3-marketplace-catalog
+  mypy-boto3-marketplace-entitlement
+  mypy-boto3-marketplacecommerceanalytics
+  mypy-boto3-mediaconnect
+  mypy-boto3-mediaconvert
+  mypy-boto3-medialive
+  mypy-boto3-mediapackage
+  mypy-boto3-mediapackage-vod
+  mypy-boto3-mediapackagev2
+  mypy-boto3-mediastore
+  mypy-boto3-mediastore-data
+  mypy-boto3-mediatailor
+  mypy-boto3-medical-imaging
+  mypy-boto3-memorydb
+  mypy-boto3-meteringmarketplace
+  mypy-boto3-mgh
+  mypy-boto3-mgn
+  mypy-boto3-migration-hub-refactor-spaces
+  mypy-boto3-migrationhub-config
+  mypy-boto3-migrationhuborchestrator
+  mypy-boto3-migrationhubstrategy
+  mypy-boto3-mobile
+  mypy-boto3-mq
+  mypy-boto3-mturk
+  mypy-boto3-mwaa
+  mypy-boto3-neptune
+  mypy-boto3-neptunedata
+  mypy-boto3-network-firewall
+  mypy-boto3-networkmanager
+  mypy-boto3-nimble
+  mypy-boto3-oam
+  mypy-boto3-omics
+  mypy-boto3-opensearch
+  mypy-boto3-opensearchserverless
+  mypy-boto3-opsworks
+  mypy-boto3-opsworkscm
+  mypy-boto3-organizations
+  mypy-boto3-osis
+  mypy-boto3-outposts
+  mypy-boto3-panorama
+  mypy-boto3-payment-cryptography
+  mypy-boto3-payment-cryptography-data
+  mypy-boto3-pca-connector-ad
+  mypy-boto3-personalize
+  mypy-boto3-personalize-events
+  mypy-boto3-personalize-runtime
+  mypy-boto3-pi
+  mypy-boto3-pinpoint
+  mypy-boto3-pinpoint-email
+  mypy-boto3-pinpoint-sms-voice
+  mypy-boto3-pinpoint-sms-voice-v2
+  mypy-boto3-pipes
+  mypy-boto3-polly
+  mypy-boto3-pricing
+  mypy-boto3-privatenetworks
+  mypy-boto3-proton
+  mypy-boto3-qldb
+  mypy-boto3-qldb-session
+  mypy-boto3-quicksight
+  mypy-boto3-ram
+  mypy-boto3-rbin
+  mypy-boto3-rds
+  mypy-boto3-rds-data
+  mypy-boto3-redshift
+  mypy-boto3-redshift-data
+  mypy-boto3-redshift-serverless
+  mypy-boto3-rekognition
+  mypy-boto3-resiliencehub
+  mypy-boto3-resource-explorer-2
+  mypy-boto3-resource-groups
+  mypy-boto3-resourcegroupstaggingapi
+  mypy-boto3-robomaker
+  mypy-boto3-rolesanywhere
+  mypy-boto3-route53
+  mypy-boto3-route53-recovery-cluster
+  mypy-boto3-route53-recovery-control-config
+  mypy-boto3-route53-recovery-readiness
+  mypy-boto3-route53domains
+  mypy-boto3-route53resolver
+  mypy-boto3-rum
+  mypy-boto3-s3
+  mypy-boto3-s3control
+  mypy-boto3-s3outposts
+  mypy-boto3-sagemaker
+  mypy-boto3-sagemaker-a2i-runtime
+  mypy-boto3-sagemaker-edge
+  mypy-boto3-sagemaker-featurestore-runtime
+  mypy-boto3-sagemaker-geospatial
+  mypy-boto3-sagemaker-metrics
+  mypy-boto3-sagemaker-runtime
+  mypy-boto3-savingsplans
+  mypy-boto3-scheduler
+  mypy-boto3-schemas
+  mypy-boto3-sdb
+  mypy-boto3-secretsmanager
+  mypy-boto3-securityhub
+  mypy-boto3-securitylake
+  mypy-boto3-serverlessrepo
+  mypy-boto3-service-quotas
+  mypy-boto3-servicecatalog
+  mypy-boto3-servicecatalog-appregistry
+  mypy-boto3-servicediscovery
+  mypy-boto3-ses
+  mypy-boto3-sesv2
+  mypy-boto3-shield
+  mypy-boto3-signer
+  mypy-boto3-simspaceweaver
+  mypy-boto3-sms
+  mypy-boto3-sms-voice
+  mypy-boto3-snow-device-management
+  mypy-boto3-snowball
+  mypy-boto3-sns
+  mypy-boto3-sqs
+  mypy-boto3-ssm
+  mypy-boto3-ssm-contacts
+  mypy-boto3-ssm-incidents
+  mypy-boto3-ssm-sap
+  mypy-boto3-sso
+  mypy-boto3-sso-admin
+  mypy-boto3-sso-oidc
+  mypy-boto3-stepfunctions
+  mypy-boto3-storagegateway
+  mypy-boto3-sts
+  mypy-boto3-support
+  mypy-boto3-support-app
+  mypy-boto3-swf
+  mypy-boto3-synthetics
+  mypy-boto3-textract
+  mypy-boto3-timestream-query
+  mypy-boto3-timestream-write
+  mypy-boto3-tnb
+  mypy-boto3-transcribe
+  mypy-boto3-transfer
+  mypy-boto3-translate
+  mypy-boto3-verifiedpermissions
+  mypy-boto3-voice-id
+  mypy-boto3-vpc-lattice
+  mypy-boto3-waf
+  mypy-boto3-waf-regional
+  mypy-boto3-wafv2
+  mypy-boto3-wellarchitected
+  mypy-boto3-wisdom
+  mypy-boto3-workdocs
+  mypy-boto3-worklink
+  mypy-boto3-workmail
+  mypy-boto3-workmailmessageflow
+  mypy-boto3-workspaces
+  mypy-boto3-workspaces-web
+  mypy-boto3-xray)
+
+for package in "${packages[@]}"; do
+  echo "Updating ${package}"
+
+  url="https://pypi.io/packages/source/m/${package}/${package}-${version}.tar.gz"
+  hash=$(nix-prefetch-url --type sha256 $url)
+  sri_hash="$(nix hash to-sri --type sha256 $hash)"
+
+  awk -i inplace -v package="$package" -v new_version="$version" -v new_sha256="$sri_hash" '
+    $1 == package {
+      $5 = "\"" new_version "\"";
+      $6 = "\"" new_sha256 "\"";
+    }
+    {print}
+  ' $source_file
+
+done
diff --git a/pkgs/development/python-modules/open-clip-torch/default.nix b/pkgs/development/python-modules/open-clip-torch/default.nix
new file mode 100644
index 0000000000000..f1272e1e3640b
--- /dev/null
+++ b/pkgs/development/python-modules/open-clip-torch/default.nix
@@ -0,0 +1,86 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, braceexpand
+, ftfy
+, huggingface-hub
+, pandas
+, protobuf
+, pytestCheckHook
+, regex
+, sentencepiece
+, timm
+, torch
+, torchvision
+, tqdm
+, transformers
+, setuptools
+, webdataset
+, wheel
+, fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "open-clip-torch";
+  version = "2.23.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mlfoundations";
+    repo = "open_clip";
+    rev = "v${version}";
+    hash = "sha256-Txm47Tc4KMbz1i2mROT+IYbgS1Y0yHK80xY0YldgBFQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    ftfy
+    huggingface-hub
+    protobuf
+    regex
+    sentencepiece
+    timm
+    torch
+    torchvision
+    tqdm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    braceexpand
+    pandas
+    transformers
+    webdataset
+  ];
+
+  pythonImportsCheck = [ "open_clip" ];
+
+  disabledTestPaths = lib.optionals (stdenv.isAarch64 || stdenv.isDarwin) [
+    "tests/test_wds.py"
+  ];
+
+  disabledTests = [
+    # requires network
+    "test_download_pretrained_from_hfh"
+    "test_inference_simple"
+    "test_inference_with_data"
+    "test_pretrained_text_encoder"
+    "test_training_mt5"
+  ] ++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
+    "test_training"
+    "test_training_coca"
+    "test_training_unfreezing_vit"
+    "test_training_clip_with_jit"
+  ];
+
+  meta = with lib; {
+    description = "An open source implementation of CLIP";
+    homepage = "https://github.com/mlfoundations/open_clip";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ iynaix ];
+    mainProgram = "open-clip";
+  };
+}
diff --git a/pkgs/development/python-modules/opencensus-ext-azure/default.nix b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
index 7250a0841f249..534213c2dbc3f 100644
--- a/pkgs/development/python-modules/opencensus-ext-azure/default.nix
+++ b/pkgs/development/python-modules/opencensus-ext-azure/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "opencensus-ext-azure";
-  version = "1.1.11";
+  version = "1.1.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IdTU0FGdSCOdBBQskLalH17MBDaE64DPoKcBqiM0YHM=";
+    hash = "sha256-hrseR84dIKytlq08Efjvsvp6tensSJbzBj2F+JlJBGI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pixel-font-builder/default.nix b/pkgs/development/python-modules/pixel-font-builder/default.nix
new file mode 100644
index 0000000000000..d541cd00dc5ab
--- /dev/null
+++ b/pkgs/development/python-modules/pixel-font-builder/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, bdffont
+, brotli
+, fonttools
+, pypng
+}:
+
+buildPythonPackage rec {
+  pname = "pixel-font-builder";
+  version = "0.0.10";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "pixel_font_builder";
+    inherit version;
+    hash = "sha256-evLsNRSC9sPZfhNc8tYbZ/bIrBxSbLuiGRD3ld7Jkbo=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pypng
+  ];
+
+  propagatedBuildInputs = [
+    bdffont
+    brotli
+    fonttools
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/pixel-font-builder";
+    description = "A library that helps create pixel style fonts";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch b/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch
deleted file mode 100644
index 484ca4f9cbc8f..0000000000000
--- a/pkgs/development/python-modules/pomegranate/disable-failed-on-nextworkx-2.6.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Test started failing after upgrading networkx 2.5.1 -> 2.6.2:
-    https://github.com/jmschrei/pomegranate/issues/939
-
-Failures look benigh.
---- a/tests/test_bayesian_network.py
-+++ b/tests/test_bayesian_network.py
-@@ -1057,7 +1057,8 @@ def test_exact_structure_learning_exclude_edges():
-         assert_not_equal(model.structure[-2], (d-1,))
-         assert_equal(model.structure[-2], (1,))
- 
--def test_exact_dp_structure_learning_exclude_edges():
-+# disabled for https://github.com/jmschrei/pomegranate/issues/939
-+def disabled_exact_dp_structure_learning_exclude_edges():
-     for X in datasets:
-         X = X.copy()
-         X[:,1] = X[:,-1]
-@@ -1139,7 +1140,8 @@ def test_constrained_parents_structure_learning_exclude_edges():
-     assert_equal(model.structure[7], (2,))
-     assert_equal(model.structure[4], (0,))
- 
--def test_constrained_slap_structure_learning_exclude_edges():
-+# disabled for https://github.com/jmschrei/pomegranate/issues/939
-+def disabled_constrained_slap_structure_learning_exclude_edges():
-     for X in datasets:
-         X = X.copy()
-         X[:,1] = X[:,-1]
diff --git a/pkgs/development/python-modules/psycopg/ctypes.patch b/pkgs/development/python-modules/psycopg/ctypes.patch
index a76d38f85e801..d2b0842b44b4f 100644
--- a/pkgs/development/python-modules/psycopg/ctypes.patch
+++ b/pkgs/development/python-modules/psycopg/ctypes.patch
@@ -1,5 +1,5 @@
 diff --git a/psycopg/psycopg/pq/_pq_ctypes.py b/psycopg/psycopg/pq/_pq_ctypes.py
-index 4f9d00fb..24b90ef6 100644
+index 9ca1d129..02929ab6 100644
 --- a/psycopg/psycopg/pq/_pq_ctypes.py
 +++ b/psycopg/psycopg/pq/_pq_ctypes.py
 @@ -11,14 +11,10 @@ from ctypes import Structure, CFUNCTYPE, POINTER
@@ -30,17 +30,26 @@ index 4f9d00fb..24b90ef6 100644
      fdopen = libc.fdopen
      fdopen.argtypes = (c_int, c_char_p)
 diff --git a/tests/fix_pq.py b/tests/fix_pq.py
-index 6811a26c..c1829c82 100644
+index 917dfc91..505f2d65 100644
 --- a/tests/fix_pq.py
 +++ b/tests/fix_pq.py
-@@ -51,9 +51,7 @@ def libpq():
-         from psycopg.pq.misc import find_libpq_full_path
- 
-         # Not available when testing the binary package
+@@ -47,18 +47,7 @@ def pytest_runtest_setup(item):
+ @pytest.fixture
+ def libpq():
+     """Return a ctypes wrapper to access the libpq."""
+-    try:
+-        from psycopg.pq.misc import find_libpq_full_path
+-
+-        # Not available when testing the binary package
 -        libname = find_libpq_full_path()
 -        assert libname, "libpq libname not found"
--        return ctypes.pydll.LoadLibrary(libname)
-+        return ctypes.pydll.LoadLibrary("@libpq@")
-     except Exception as e:
-         if pq.__impl__ == "binary":
-             pytest.skip(f"can't load libpq for testing: {e}")
+-        return ctypes.cdll.LoadLibrary(libname)
+-    except Exception as e:
+-        if pq.__impl__ == "binary":
+-            pytest.skip(f"can't load libpq for testing: {e}")
+-        else:
+-            raise
++    return ctypes.cdll.LoadLibrary("@libpq@")
+ 
+ 
+ @pytest.fixture
diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix
index b73c74ca0ae36..d66f21ca26790 100644
--- a/pkgs/development/python-modules/psycopg/default.nix
+++ b/pkgs/development/python-modules/psycopg/default.nix
@@ -35,13 +35,13 @@
 
 let
   pname = "psycopg";
-  version = "3.1.13";
+  version = "3.1.14";
 
   src = fetchFromGitHub {
     owner = "psycopg";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-N+x8RErlId1uBgXZjBBjtPxqJXGuXZEl78DKVKjhy9w=";
+    hash = "sha256-zocRBnrQoJDWI4qhxDnxxIeiLdaWolvsujqfHBYQc/A=";
   };
 
   patches = [
@@ -52,11 +52,9 @@ let
     })
 
     (fetchpatch {
-      # fix environment variables leaking into test environment
-      # https://github.com/psycopg/psycopg/pull/683
-      # https://github.com/psycopg/psycopg/issues/681
-      url = "https://github.com/psycopg/psycopg/commit/f060855aa6126e811de243c7213d2caff9c88123.patch";
-      hash = "sha256-QsFxK8Qasw9kbNCUUCqbOHaf53kT5NONlr28vGoPda0=";
+      # add fixture to mark flaky ref count tests
+      url = "https://github.com/psycopg/psycopg/commit/70ef364324ba3448ef9ac0e29329c9d802380e4b.patch";
+      hash = "sha256-8PlrBcIumlxFjNXCAfm4NpSIxAnvLR8TopHzneJyzf0=";
     })
   ];
 
@@ -214,7 +212,7 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "-o" "cache_dir=$TMPDIR"
-    "-m" "'not timing'"
+    "-m" "'not refcount and not timing'"
   ];
 
   postCheck = ''
diff --git a/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch b/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch
deleted file mode 100644
index 56a5ff391194c..0000000000000
--- a/pkgs/development/python-modules/pydash/0001-Only-build-unit-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2fe7a445bafedee2c43050e40697d8b0fd7f7b30 Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Fri, 19 Mar 2021 19:37:34 +0100
-Subject: [PATCH] Only build unit-tests
-
----
- setup.cfg | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/setup.cfg b/setup.cfg
-index 2c2f49f..a5ec152 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -83,13 +83,6 @@ force_sort_within_sections = true
- junit_family = xunit2
- addopts =
-     --verbose
--    --doctest-modules
--    --no-cov-on-fail
--    --cov-fail-under=100
--    --cov-report=term-missing
--    --cov-report=xml:build/coverage/coverage.xml
--    --cov-report=html:build/coverage
--    --junitxml=build/testresults/junit.xml
- 
- [coverage:run]
- omit =
--- 
-2.29.3
-
diff --git a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
index 5e83dc793ca5c..8d3037baa4546 100644
--- a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
+++ b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
@@ -16,8 +16,8 @@
 
 buildPythonPackage rec {
   pname = "pyhanko-certvalidator";
-  version = "0.23.0";
-  format = "pyproject";
+  version = "0.26.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "MatthiasValvekens";
     repo = "certvalidator";
     rev = "refs/tags/v${version}";
-    hash = "sha256-q2YxncyMHmbRmcoLb68huK02CYiKqF2CFRl8vkUfxg4=";
+    hash = "sha256-yGFaRpAOTbuVfY5UefC1sdJS4FFkgkIZnHHG35p3n3E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
deleted file mode 100644
index 562dc6461ef93..0000000000000
--- a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 942d4fd37786941bae91b769ef6499a4b4da6843 Mon Sep 17 00:00:00 2001
-From: "P. R. d. O" <d.ol.rod@tutanota.com>
-Date: Sat, 9 Apr 2022 12:40:59 -0600
-Subject: [PATCH] Updating pytest-aiohttp version
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index fe33d9a..694fab4 100644
---- a/setup.py
-+++ b/setup.py
-@@ -85,7 +85,7 @@ setup(
-     tests_require=[
-         'pytest>=6.1.1', 'requests-mock>=1.8.0',
-         'freezegun>=1.1.0', 'certomancer~=0.8.1',
--        'aiohttp~=3.8.0', 'pytest-aiohttp~=0.3.0',
-+        'aiohttp~=3.8.0', 'pytest-aiohttp~=1.0.3',
-         'python-pae==0.1.0'
-     ],
-     keywords="signature pdf pades digital-signature pkcs11"
--- 
-2.35.1
-
diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix
index 8db7aef6d1926..89864ebd62618 100644
--- a/pkgs/development/python-modules/pyhanko/default.nix
+++ b/pkgs/development/python-modules/pyhanko/default.nix
@@ -27,20 +27,21 @@
 , tzlocal
 , uharfbuzz
 , wheel
+, xsdata
 }:
 
 buildPythonPackage rec {
   pname = "pyhanko";
-  version = "0.20.0";
-  format = "pyproject";
+  version = "0.21.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "MatthiasValvekens";
     repo = "pyHanko";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mWhkTVhq3bDkOlhUZIBBqwXUuQCXcFHW1haGOGMywzg=";
+    hash = "sha256-+RlrXuKMY89mO4iuFw7RLQABy+wLrAeHlEvTDCpBSqU=";
   };
 
   postPatch = ''
@@ -86,6 +87,9 @@ buildPythonPackage rec {
     async-http = [
       aiohttp
     ];
+    etsi = [
+      xsdata
+    ];
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/pymiele/default.nix b/pkgs/development/python-modules/pymiele/default.nix
new file mode 100644
index 0000000000000..db951d6d7a990
--- /dev/null
+++ b/pkgs/development/python-modules/pymiele/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pymiele";
+  version = "0.1.7";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-nlilHcBdWpCIknhE/RRvcmuz1waNdmcPt++Vi3amvHg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # No tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pymiele"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/astrandb/pymiele/releases/tag/v${version}";
+    description = "Lib for Miele integration with Home Assistant";
+    homepage = "https://github.com/astrandb/pymiele";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jamiemagee ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix
index 2ce6e83315a3f..829ec7d68b121 100644
--- a/pkgs/development/python-modules/pynvim/default.nix
+++ b/pkgs/development/python-modules/pynvim/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, setuptools
 , msgpack
 , greenlet
 , pythonOlder
@@ -9,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pynvim";
-  version = "0.4.3";
-  format = "setuptools";
+  version = "0.5.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-OnlTeL3l6AkvvrOhqZvpxhPSaFVC8dsOXG/UZ+7Vbf8=";
+  src = fetchFromGitHub {
+    owner = "neovim";
+    repo = "pynvim";
+    rev = "refs/tags/${version}";
+    hash = "sha256-3LqgKENFzdfCjMlD6Xzv5W23yvIkNMUYo2+LlzKZ3cc=";
   };
 
   postPatch = ''
@@ -24,6 +27,10 @@ buildPythonPackage rec {
       --replace " + pytest_runner" ""
   '';
 
+  buildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     msgpack
   ] ++ lib.optionals (!isPyPy) [
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index 9e0de7f3915d2..30f1a4115079a 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "6.6.2";
+  version = "6.7.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     repo = "pyomo";
     owner = "pyomo";
     rev = "refs/tags/${version}";
-    hash = "sha256-hh2sfWOUp3ac75NEuTrw3YkvS7hXpzJp39v6cfrhNiQ=";
+    hash = "sha256-HoTtvda97ghQ0SQBZFGkDAwD2WNtZpIum2m1khivEK4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch b/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch
deleted file mode 100644
index 43b2d7367e963..0000000000000
--- a/pkgs/development/python-modules/pyqt-builder/use-sip-distinfo-from-path.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/pyqtbuild/builder.py b/pyqtbuild/builder.py
-index 3f35a7f..58701dd 100644
---- a/pyqtbuild/builder.py
-+++ b/pyqtbuild/builder.py
-@@ -51,15 +51,6 @@ class QmakeBuilder(Builder):
-         """ Set default values for user options that haven't been set yet. """
- 
-         if tool in Option.BUILD_TOOLS:
--            # A PEP 517 frontend will set PATH so that sip-distinfo is found on
--            # it.  However for our own frontends we want to use the version
--            # corresponding to the frontend (and, anyway, the frontend may not
--            # be on PATH).
--            if tool != 'pep517':
--                self._sip_distinfo = os.path.join(
--                        os.path.abspath(os.path.dirname(sys.argv[0])),
--                        self._sip_distinfo)
--
-             # Check we have a qmake.
-             if self.qmake is None:
-                 self.qmake = self._find_exe('qmake')
diff --git a/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch b/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch
deleted file mode 100644
index 1ae911c14817b..0000000000000
--- a/pkgs/development/python-modules/pyqtwebengine/fix-build-with-qt-514.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip b/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-index 5fb508f..7a4654a 100644
---- a/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-+++ b/sip/QtWebEngineWidgets/qwebenginecertificateerror.sip
-@@ -48,7 +48,7 @@ public:
- %If (QtWebEngine_5_8_0 -)
-         CertificateTransparencyRequired,
- %End
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-         CertificateKnownInterceptionBlocked,
- %End
-     };
-diff --git a/sip/QtWebEngineWidgets/qwebenginepage.sip b/sip/QtWebEngineWidgets/qwebenginepage.sip
-index 0dcbed2..9aa3443 100644
---- a/sip/QtWebEngineWidgets/qwebenginepage.sip
-+++ b/sip/QtWebEngineWidgets/qwebenginepage.sip
-@@ -663,10 +663,10 @@ signals:
- %End
-
- public:
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-     qint64 renderProcessPid() const;
- %End
--%If (QtWebEngine_5_14_0 -)
-+%If (QtWebEngine_5_15_0 -)
-     void renderProcessPidChanged(qint64 pid);
- %End
- };
-
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 48ad5bb08e94d..f24534af0083a 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.7.9";
+  version = "0.7.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tp2C8UCwd0MX17pA9sX6HXVQmLo/PrYZmC0W51DcYxo=";
+    hash = "sha256-zC+QqtFRfLCzAQQfZ4zI08NCfCblPxXHjJPGeSjYmgI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
index 5eee8f59c39b5..4e08813921d8a 100644
--- a/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -126,6 +126,7 @@ buildPythonPackage rec {
     "test_raster_warping_does_not_overclip_source"
     "test_render_points"
     "test_render_with_scale_factor"
+    "test_style_level_comp_op"
     "test_style_level_image_filter"
     "test_that_coordinates_do_not_overflow_and_polygon_is_rendered_csv"
     "test_that_coordinates_do_not_overflow_and_polygon_is_rendered_memory"
@@ -135,6 +136,7 @@ buildPythonPackage rec {
     "test_wgs84_inverse_forward"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_passing_pycairo_context_pdf"
+    "test_passing_pycairo_context_svg"
   ];
 
   pythonImportsCheck = [ "mapnik" ];
diff --git a/pkgs/development/python-modules/python-osc/default.nix b/pkgs/development/python-modules/python-osc/default.nix
index 500e6beb0b0ef..86c5894d81789 100644
--- a/pkgs/development/python-modules/python-osc/default.nix
+++ b/pkgs/development/python-modules/python-osc/default.nix
@@ -1,22 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-osc";
   version = "1.8.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-pc4bpWyNgt9Ryz8pRrXdM6cFInkazEuFZOYtKyCtnKo=";
   };
 
-  pythonImportsCheck = [ "pythonosc" ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pythonosc"
+  ];
 
   meta = with lib; {
     description = "Open Sound Control server and client in pure python";
     homepage = "https://github.com/attwad/python-osc";
+    changelog = "https://github.com/attwad/python-osc/blob/v${version}/CHANGELOG.md";
     license = licenses.unlicense;
     maintainers = with maintainers; [ anirrudh ];
   };
diff --git a/pkgs/development/python-modules/renson-endura-delta/default.nix b/pkgs/development/python-modules/renson-endura-delta/default.nix
new file mode 100644
index 0000000000000..013678d5eeec9
--- /dev/null
+++ b/pkgs/development/python-modules/renson-endura-delta/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "renson-endura-delta";
+  version = "1.7.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jimmyd-be";
+    repo = "Renson-endura-delta-library";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ndk0qcRUWxUimNHg62UgeYK/MRKQd3e4JQDh9x8vFj8=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'" ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [
+    "renson_endura_delta"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Renson endura delta";
+    homepage = "https://github.com/jimmyd-be/Renson-endura-delta-library";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch b/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch
deleted file mode 100644
index 5c9d4404f97e6..0000000000000
--- a/pkgs/development/python-modules/reportlab/darwin-m1-compat.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 7625074..b3aa2fc 100644
---- a/setup.py
-+++ b/setup.py
-@@ -249,7 +249,7 @@ class inc_lib_dirs:
-             aDir(L, os.path.join("/usr/lib", "python%s" % sys.version[:3], "config"))
-         elif platform == "darwin":
-             machine = sysconfig_platform.split('-')[-1]
--            if machine=='arm64' or os.environ.get('ARCHFLAGS','')=='-arch arm64':
-+            if False and machine=='arm64' or os.environ.get('ARCHFLAGS','')=='-arch arm64':
-                 #print('!!!!! detected darwin arm64 build')
-                 #probably an M1
-                 target = pjoin(
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index bc4ea00f055c3..e1bcdda29268c 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2023.10.0";
+  version = "2023.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xA8jjMyf7/8/bQnUtXYqvWyRO6QuGjKJdrVNA4kBuDU=";
+    hash = "sha256-Y+Qpu2tegUVoys0/KoVR/DVJPoxBjd/LROb4aqhpbM0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/securesystemslib/default.nix b/pkgs/development/python-modules/securesystemslib/default.nix
index 4a0ce694866b4..17689019a4065 100644
--- a/pkgs/development/python-modules/securesystemslib/default.nix
+++ b/pkgs/development/python-modules/securesystemslib/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "securesystemslib";
-  version = "0.30.0";
+  version = "0.31.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "secure-systems-lab";
     repo = "securesystemslib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jqw65VTMLA/X7VQGxN0BlTzF/lxBYirDKBf+xI9cfhg=";
+    hash = "sha256-REi38rIVZmWawFGcrPl9QzSthW4jHZDr/0ug7kJRz3Y=";
   };
 
   nativeBuildInputs = [
@@ -88,7 +88,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Cryptographic and general-purpose routines";
     homepage = "https://github.com/secure-systems-lab/securesystemslib";
-    changelog = "https://github.com/secure-systems-lab/securesystemslib/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/secure-systems-lab/securesystemslib/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/signify/certificate-expiration-date.patch b/pkgs/development/python-modules/signify/certificate-expiration-date.patch
deleted file mode 100644
index 6554211a4bc71..0000000000000
--- a/pkgs/development/python-modules/signify/certificate-expiration-date.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/tests/test_authenticode.py b/tests/test_authenticode.py
-index 7e2c709..2f27e09 100644
---- a/tests/test_authenticode.py
-+++ b/tests/test_authenticode.py
-@@ -153,10 +153,12 @@ class AuthenticodeParserTestCase(unittest.TestCase):
-         """this certificate is revoked"""
-         with open(str(root_dir / "test_data" / "jameslth"), "rb") as f:
-             pefile = SignedPEFile(f)
--            pefile.verify()
-+            pefile.verify(verification_context_kwargs=
-+                          {'timestamp': datetime.datetime(2021, 1, 1, tzinfo=datetime.timezone.utc)})
-
-     def test_jameslth_revoked(self):
-         """this certificate is revoked"""
-+        # TODO: this certificate is now expired, so it will not show up as valid anyway
-         with open(str(root_dir / "test_data" / "jameslth"), "rb") as f:
-             pefile = SignedPEFile(f)
-             with self.assertRaises(VerificationError):
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index a015400616e3d..6f2305962d425 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.26.0";
+  version = "3.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jvLzZFlR2msyCc9C7WvYpXIGoKCDRxJI5lgNUtbGh/w=";
+    hash = "sha256-jg4mUVT1sB9hxRqhLOeZxQHTpBK/N76b2XUaFe/nBKY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index fa70e4cc4a305..1040023619262 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -22,7 +22,7 @@
 , tensorboard
 , config
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? {}
+, cudaPackagesGoogle
 , zlib
 , python
 , keras-applications
@@ -43,7 +43,7 @@ assert ! (stdenv.isDarwin && cudaSupport);
 
 let
   packages = import ./binary-hashes.nix;
-  inherit (cudaPackages) cudatoolkit cudnn;
+  inherit (cudaPackagesGoogle) cudatoolkit cudnn;
 in buildPythonPackage {
   pname = "tensorflow" + lib.optionalString cudaSupport "-gpu";
   inherit (packages) version;
@@ -200,7 +200,7 @@ in buildPythonPackage {
   ];
 
   passthru = {
-    inherit cudaPackages;
+    cudaPackages = cudaPackagesGoogle;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index c8e292e316744..d2f713082077b 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -19,8 +19,8 @@
 # https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
 , config
 , cudaSupport ? config.cudaSupport
-, cudaPackages ? { }
-, cudaCapabilities ? cudaPackages.cudaFlags.cudaCapabilities
+, cudaPackagesGoogle
+, cudaCapabilities ? cudaPackagesGoogle.cudaFlags.cudaCapabilities
 , mklSupport ? false, mkl
 , tensorboardSupport ? true
 # XLA without CUDA is broken
@@ -50,15 +50,15 @@ let
   # __ZN4llvm11SmallPtrSetIPKNS_10AllocaInstELj8EED1Ev in any of the
   # translation units, so the build fails at link time
   stdenv =
-    if cudaSupport then cudaPackages.backendStdenv
+    if cudaSupport then cudaPackagesGoogle.backendStdenv
     else if originalStdenv.isDarwin then llvmPackages_11.stdenv
     else originalStdenv;
-  inherit (cudaPackages) cudatoolkit nccl;
+  inherit (cudaPackagesGoogle) cudatoolkit nccl;
   # use compatible cuDNN (https://www.tensorflow.org/install/source#gpu)
   # cudaPackages.cudnn led to this:
   # https://github.com/tensorflow/tensorflow/issues/60398
   cudnnAttribute = "cudnn_8_6";
-  cudnn = cudaPackages.${cudnnAttribute};
+  cudnn = cudaPackagesGoogle.${cudnnAttribute};
   gentoo-patches = fetchzip {
     url = "https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-2.12.0.tar.bz2";
     hash = "sha256-SCRX/5/zML7LmKEPJkcM5Tebez9vv/gmE4xhT/jyqWs=";
@@ -420,7 +420,9 @@ let
       x86_64-linux = if cudaSupport
         then "sha256-5VFMNHeLrUxW5RTr6EhT3pay9nWJ5JkZTGirDds5QkU="
         else "sha256-KzgWV69Btr84FdwQ5JI2nQEsqiPg1/+TWdbw5bmxXOE=";
-      aarch64-linux = "sha256-9btXrNHqd720oXTPDhSmFidv5iaZRLjCVX8opmrMjXk=";
+      aarch64-linux = if cudaSupport
+        then "sha256-ty5+51BwHWE1xR4/0WcWTp608NzSAS/iiyN+9zx7/wI="
+        else "sha256-9btXrNHqd720oXTPDhSmFidv5iaZRLjCVX8opmrMjXk=";
       x86_64-darwin = "sha256-gqb03kB0z2pZQ6m1fyRp1/Nbt8AVVHWpOJSeZNCLc4w=";
       aarch64-darwin = "sha256-WdgAaFZU+ePwWkVBhLzjlNT7ELfGHOTaMdafcAMD5yo=";
       }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
@@ -486,8 +488,8 @@ let
       broken =
         stdenv.isDarwin
         || !(xlaSupport -> cudaSupport)
-        || !(cudaSupport -> builtins.hasAttr cudnnAttribute cudaPackages)
-        || !(cudaSupport -> cudaPackages ? cudatoolkit);
+        || !(cudaSupport -> builtins.hasAttr cudnnAttribute cudaPackagesGoogle)
+        || !(cudaSupport -> cudaPackagesGoogle ? cudatoolkit);
     } // lib.optionalAttrs stdenv.isDarwin {
       timeout = 86400; # 24 hours
       maxSilent = 14400; # 4h, double the default of 7200s
@@ -590,7 +592,7 @@ in buildPythonPackage {
   # Regression test for #77626 removed because not more `tensorflow.contrib`.
 
   passthru = {
-    inherit cudaPackages;
+    cudaPackages = cudaPackagesGoogle;
     deps = bazel-build.deps;
     libtensorflow = bazel-build.out;
   };
diff --git a/pkgs/development/python-modules/thermopro-ble/default.nix b/pkgs/development/python-modules/thermopro-ble/default.nix
index 1a07edc441d48..b03038c4aa5fd 100644
--- a/pkgs/development/python-modules/thermopro-ble/default.nix
+++ b/pkgs/development/python-modules/thermopro-ble/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "thermopro-ble";
-  version = "0.4.5";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bluetooth-devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-z3RrPOV7NGl3aNor+baeVivn+DKwYHcrdlM5sNMGVD0=";
+    hash = "sha256-4lk/K9XW9naPDRXmuqKFBdOwMtLlQE8etJFEbNgfIvA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index d18dd97df5b45..b648e2d7bf360 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -337,7 +337,8 @@ in buildPythonPackage rec {
   buildInputs = [ blas blas.provider ]
     ++ lib.optionals cudaSupport (with cudaPackages; [
       cuda_cccl.dev # <thrust/*>
-      cuda_cudart # cuda_runtime.h and libraries
+      cuda_cudart.dev # cuda_runtime.h and libraries
+      cuda_cudart.lib
       cuda_cupti.dev # For kineto
       cuda_cupti.lib # For kineto
       cuda_nvcc.dev # crt/host_config.h; even though we include this in nativeBuildinputs, it's needed here too
diff --git a/pkgs/development/python-modules/types-aiobotocore-packages/default.nix b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
index 7bc93024121e1..d0db763ad86fb 100644
--- a/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
@@ -44,709 +44,709 @@ let
     };
 in
 rec {
-  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.6.0" "sha256-Bit55lGYI8+VOEm+6NKlfxWldFWdiAFwRZjJsgwuv7Q=";
+  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.8.0" "sha256-7TmekyZVc2l2er1TIJURP7Qy0n7xRYnXt44FJr5XBWA=";
 
-  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.5.2.post3" "sha256-zuBKsuPD3Sjl8KWKIlMgKtzfmtVc8ZZyIMKyPC2QjmY=";
+  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.8.0" "sha256-rVwj3gN9+U5m6xXwytQpE8mSVPTlezzeNIwNH2vgR4Y=";
 
-  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.5.4" "sha256-B7SsW+FtSOMfFFdfmH9iv/i9R/qj6ImAr95gpPAf3G4=";
+  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.8.0" "sha256-VzV8viXJpHfI1aD1UtCX+GSSZKhRSTzMX5dnkGhm+9Y=";
 
-  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.6.0" "sha256-AO3CEqWkLBTkx4k8YamcUUCg2TwHODCMjz6ujubzLjA=";
+  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.8.0" "sha256-ib044RjF+1projrSoyiMdj9LkbT1BJrfObxs1ukSNHo=";
 
-  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.6.0" "sha256-Pjfm+q8Wq7BT3QfFcLuODteOZdvNXSegde1sc6z2UOk=";
+  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.8.0" "sha256-rLWMVLKsvuyhBzVg0aI4lcw4ASz/nzVXnzCEWS3/3tY=";
 
-  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.6.0" "sha256-EZ/wSfcWnT7DoSRegMZnzukVLlTFYP2UsR+rEiLwtnE=";
+  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.8.0" "sha256-rLx9YbbysJ61FxKJgNbqPPFjUB2oT1B98p8nGPByyQc=";
 
-  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.6.0" "sha256-IkvRE9xD0y8l48rWuV1cvnOQ7eHr0hYsrD3NusofgyI=";
+  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.8.0" "sha256-+hfKzZ21VBfv4zv8AWlKJIzw4k4mR8XjYUkmJW+dv+A=";
 
-  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.6.0" "sha256-4sSNDhmNuOnYPq0X/G8m0XDP08W+MUQ3xiWK9Yc8U6Q=";
+  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.8.0" "sha256-4FdDQnj7h/WfOZ9V3Xwg7vCMfohyOl3Gb+bhauyBYqU=";
 
-  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.6.0" "sha256-K1esoNUDYWzqK12X6o5c12XJQGGDNlCyUiVsNsUaQhI=";
+  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.8.0" "sha256-KfyG5FI+P/5zO7D/qOocipzk4p2DFtzx4cXtNYP23gA=";
 
-  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.6.0" "sha256-r4eDPDqkcQhApN/+4xjDuillQnDOqu2xqyACYHqXRpw=";
+  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.8.0" "sha256-NNgVburmRUEVgIAyGPUz+MX1vtS8fBuyen/jQiGKrKo=";
 
-  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.6.0" "sha256-sAJW4q/mUaRsiN7Yt/uBMbxDfKhTSdiZaDd7nvvM3og=";
+  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.8.0" "sha256-Xh7PmcAqF/JC8x+29ZO+OWj0gaC3nJJZIJycnWez00A=";
 
-  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.6.0" "sha256-cNNVvAX1o+ZieUaW59yp5ELFf2S96XdCOLeVe91oFI8=";
+  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.8.0" "sha256-u4074E+mZOxwGKkTDcWDEMooTYWpbqMoaRNRzOpFT5k=";
 
-  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.6.0" "sha256-qliKZTlmnPwRdhQs26M0PlCM91Mn7cHCmccCAhDtryU=";
+  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.8.0" "sha256-F75m9QZZ8msaFdXW3K/DL2r4WTxLtqQkMmVWgmnMa/A=";
 
-  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.6.0" "sha256-DcLOpKbUl/YOinXXtlo2su0uMh0Ja5cGrpbmKuQVGvw=";
+  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.8.0" "sha256-P0nhXebQhixtvCaky/8NRBJpEa0mGh3VTLgmBMTtzUc=";
 
-  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.6.0" "sha256-yQvNa3iBsoAD4oBVmt0ZNjziBEhzTUE6E6FFLluxTZw=";
+  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.8.0" "sha256-BqugOZAUVA4I3MXJ4JXKYvnHghL99rxnNlvdc4yilMk=";
 
-  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.6.0" "sha256-ILdWiqipfSnSjdToIq++JIu1WUmv+lMX72Ymo9KGZ9s=";
+  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.8.0" "sha256-Bl1RZc33s6ej5SWdpt1qAJkXzuuaYnSHN/VxnR9fU9I=";
 
-  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.6.0" "sha256-ZPNB2PUpeTttagX1rRmgINgahj3cNuBdKQMvdFNK15Y=";
+  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.8.0" "sha256-zetVe/ySSidCFpP+LSRoBEWjn/GAQIDjdgl+soYjAJY=";
 
-  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.6.0" "sha256-p5EgvysfhIHz4ZALV8tJz/7ZkRIu2BIZwENiiVho67w=";
+  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.8.0" "sha256-R1QCz40T9ZuVB7Hr4N1BpTtyRmkiTrXQIuE1QUPY3xQ=";
 
-  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.6.0" "sha256-PUDqMFJu2BG3WVCS6SYyltrSr64VblVAgrCYQ6FR2sk=";
+  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.8.0" "sha256-0etunSEPkT6kmVP/ZkV9Ok+nF0lpzXrFeuUnabaqtOk=";
 
-  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.6.0" "sha256-bGlbP0d38vFHkITC84N43Vt1Nrsf3+ByWSvvteDejBw=";
+  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.8.0" "sha256-EeAKZH/VNhmL5UZaJcM0euEXxaRr+tSxaIiNZDtmEtg=";
 
-  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.6.0" "sha256-Lcoc/IJ9o1glV8gNNA/t9B3J6K5Qz/50fqPMsF78WVI=";
+  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.8.0" "sha256-mKQU3vw2QtGWQhIcXGzaxzTpsIG1ejQkeXzWqR1EU8Q=";
 
-  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.6.0" "sha256-zyesnbNmSrQEsBVQJouP05zxhBTikGZVCR/VFdEkHNE=";
+  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.8.0" "sha256-76pk9XHOeSXbvbFKUwGQPcJb/Ut5b4O4+S3v7HT+SCI=";
 
-  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.6.0" "sha256-+4LWBHHwL1R4jBGHChSUOq9vFc+k7NmRXvo8ZjDIyXk=";
+  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.8.0" "sha256-bMy/4tAWUEj9AjJN7/Qu+iFw0dZjtt81t0a6Dy3oeOc=";
 
-  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.6.0" "sha256-JFrBy9Ck/Ni4lwHV47fkzt/YI5cX9FvTeaT0tNgzdqs=";
+  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.8.0" "sha256-5pGJ3ior1etS1JK2c7wv+VzYUoB8QgEms3z2lEJiJPk=";
 
-  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.6.0" "sha256-qTW58yyFwbBYyisuL4NkaEXqblJ3vevXI1lHZVX4mZY=";
+  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.8.0" "sha256-84sEwc0M779PRvYUgcT2/VS+p7RH5TFOLqFPywiBY1Y=";
 
-  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.6.0" "sha256-xmTKI8q82UohBE+Wh+j1xivsY8wmrcvOlDAlwTpJmxE=";
+  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.8.0" "sha256-4WiLJWVjKJE8FSmBuEg7YgytBRuWoSpXeE9csNBD+ow=";
 
-  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.6.0" "sha256-a+47CFM19RM3Y+9wLLe8D4II7rKeDQ93dy68jqJqBD4=";
+  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.8.0" "sha256-VztKu0+MvK5coK8SWs6FL/ciRlxls39WNtOwED9rvoI=";
 
-  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.6.0" "sha256-s0ClcRgYJcd5GZXYWMn2FieNXebdlS9206mLtKCSy44=";
+  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.8.0" "sha256-xqsgm/VIdGAXN4dqdsDWlCA0VzfAWXvzZzNhmiKab9Y=";
 
-  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.6.0" "sha256-ZhOokFIm5KHBc5X+Lp19z5N7BudTQHU5KjHGYCrW/aE=";
+  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.8.0" "sha256-tfpMpfTvloPaqWpoyEMNHfi6Ymkh7lA0y1mDFHAzx0Y=";
 
-  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.6.0" "sha256-rmm10kZXRkmj0TxqARf+57Nz8LapZF7TaH9GGwhIHys=";
+  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.8.0" "sha256-m7geIWHzhqxU1SWsMkYza0XaeNYI1vOZetow2s1LDjY=";
 
-  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.6.0" "sha256-/YH0nuyWaEVPlZFxJarGkWOnLcpiIvvf/GCmxMOaybI=";
+  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.8.0" "sha256-qMlqrncnxIEkdvZGN44Dh3BIFFHaSt3iylvQgn638PY=";
 
-  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.6.0" "sha256-OC1xWUT0BjBoelAxHkprhD54kF+YbK30H/42Q3XxdwY=";
+  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.8.0" "sha256-djpEYsrh5qrtNUbW+ikBzCa7OXIOXm4nzMCHnAPSy60=";
 
-  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.6.0" "sha256-/5yrgR7NbQ6GbkC9SsHaAhDa3juBjyRt705wHTu6Mr8=";
+  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.8.0" "sha256-0S48ou1U1ljMTBGSYGwqGa0aYHdN6PDSIsHNky5RbVY=";
 
-  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.6.0" "sha256-bDEICyyIUCRxbTWZFXHsj5yncQI+F+geC92vvsrKCxw=";
+  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.8.0" "sha256-SjMg8/b9Rv9XmjVqlWebjSAqnnNLJf/Il8fRyp9Uf5Q=";
 
-  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.6.0" "sha256-aobQZov192xNkN7cwIKLgJnhxltyLpWw1oKk2m1HkV8=";
+  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.8.0" "sha256-ZTuPhI3zOrNOknN5IWVYidDWfPC3q0M5qvJPMIubduo=";
 
-  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.6.0" "sha256-0tFKq0VomVAD9NRtlQzilQEZHFOZp40vtTKfoBqjpyU=";
+  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.8.0" "sha256-rr5RchXwvcf8ZQF8pjho/6BtFHzUMse/VAsFvy4z/lQ=";
 
-  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.6.0" "sha256-eKYNFMlDt9uUaqsK8PPTpt1wghN3nGgM+idQBVei8eY=";
+  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.8.0" "sha256-t26Am75QquCNPYdjKbSeXykEgkZRYKb7CRR6RBXJh3s=";
 
-  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.6.0" "sha256-5d9LUaSDvYI/Nrsmg4MnM0ucXmyzUQKV4DpX9pZst2s=";
+  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.8.0" "sha256-bBrjIOxySDuGFAMHyJKXorwmDMtfmJdUqCbG+LA2ZbI=";
 
-  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.6.0" "sha256-UXVS4iTbkv9/xmL5AFv3xlWtWk5qN/dam/ic4mg3+cI=";
+  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.8.0" "sha256-fMwbG2A5WZ/1mbqZvdMDD+perKLIWhNLWt+Tqzx2HoM=";
 
-  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.6.0" "sha256-+2AioI5B/K5QhDsaBSAFyNW0Fd49EA8ZBVrULd3u7qQ=";
+  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.8.0" "sha256-zNNSGbrlGnpx3yj1rOdXlyJ0lyBS5z/SjO/qHz00ElM=";
 
-  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.6.0" "sha256-oxlFkYpDoi7pidqzDOYdeTazVl/HjnuZmnjMGZa/WIE=";
+  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.8.0" "sha256-R7lyvOfJ0/IFxzNgzjDThviGqJ/YhKUdwI67dNchFQ4=";
 
-  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.6.0" "sha256-THOQl3ZUILwLRwYlBb7fQDgpYz7wkMyd+tSLEmHHBVY=";
+  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.8.0" "sha256-nMnZAW5ISP9GMlvJFbGSK07oSnTA13QqxMtkIK9gel0=";
 
-  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.6.0" "sha256-RwMXK2NrM4BDzeg5lcpxfVzxFzrqjZw+xhZnJL81Uqw=";
+  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.8.0" "sha256-tKTa/QHFVuxYI4k3CPfGLNJeaLj6zYtpZTrB94N53a8=";
 
-  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.6.0" "sha256-i2XmS1m6YO7dOaMZKb0WRQB2WpRue+OCLbdR59oWA1Q=";
+  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.8.0" "sha256-knD9hkqQkdLuFAIKH0S00ASAGMLocCY0n/vpd7+n0GE=";
 
-  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.6.0" "sha256-W3ni8q7n4l8+SP/RyxibCTptextx4Vd8bmiQ3lhgszQ=";
+  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.8.0" "sha256-Y6/YwykcKW3HbTjinru1qpzTAMlddIkFw7SvMpmNyCk=";
 
-  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.6.0" "sha256-qWbYfegOQ6QcEWA/gce9ZiIOBIVeWIj1qjfsksncDxY=";
+  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.8.0" "sha256-1C6spvemQ1WzHVQZuDbezfFMkJ6syAbFbLATQwyBZtc=";
 
-  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.6.0" "sha256-5TzDHj/t0tqxbRYfnGRP9LNq9pSFj7aidadVB03ZY1k=";
+  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.8.0" "sha256-aUOBhHnNUerjhIrSExrc4EIDPSHh/XxbUp/PFg7uvWc=";
 
-  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.6.0" "sha256-EyiQY0NCVa3XuRpBH7aXEA7cBx8BzyRP917f/Ogx0mw=";
+  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.8.0" "sha256-d+noaSxDVvJCPNfHtMi9atEAv89DQvqeE3XfpF9LOK8=";
 
-  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.6.0" "sha256-f9nqoXlg7sgY2QCkE1/+Q72N/8Besrl6gncmU+vNt/I=";
+  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.8.0" "sha256-bq2rlB1ZLNC6px5JLfNvUBcBW4RtCoVgoWxv3A2kvk8=";
 
-  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.6.0" "sha256-a3QRjQhW+cRJykNjhhJREGwuZxR0b+WxgRuS2yuGcTQ=";
+  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.8.0" "sha256-kwgziSxlWJv52iKNxfFLpvzS1gHoYxC7RUmlX1TVDy0=";
 
-  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.6.0" "sha256-FyktFlTQAbS6YnoXljvtn6CabJHGLkRv1jCgb9dbz+s=";
+  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.8.0" "sha256-zBXksiAWMns5Jnoa34FINjkpXwiwhjjRKYX1lpRtlN0=";
 
-  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.6.0" "sha256-eKLM+GYjbm3cweMtF/XI6k+P8t9gaJeRCeMHQbc832g=";
+  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.8.0" "sha256-N4GAfbF2PWvzEA0zrJTI3QbLiiFm24M+5FP3NjDcao0=";
 
-  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.6.0" "sha256-wn03HlgBaZIAkw8gxPehSKpcfQGOhYp0U1CF/84M/lg=";
+  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.8.0" "sha256-DW3ap0LIE1V8eD9ARJbgtYKYLvBIluULWNJ2+WcrpPU=";
 
-  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.6.0" "sha256-/vpOE8tU7SsjHmn/YyVfku05ZGBZIiVuFsG6aK47K28=";
+  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.8.0" "sha256-6/0xJRTqXDtE6MrYwtTE9QnuhK4fLi0oybDuPs/F+B8=";
 
-  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.6.0" "sha256-8W7TrB1EXp5JeBQ9xqkqFhf+Frflpd5bfVxpqju2ZPM=";
+  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.8.0" "sha256-2F/an3hVpMI85xGQyfLFWnyCyo0rKEpPeWBo6ILWF54=";
 
-  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.6.0" "sha256-ntQkDjM3I3wuMH5jsifODEwRna2ctRW1M9bzyEjIF7w=";
+  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.8.0" "sha256-qQrfYLcfX/0mRtBCOmAQHZwR3zbV7IsNDFV0ykJCuFw=";
 
-  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.6.0" "sha256-NuMqaomry4ezNNRKBLOJ0xNwGUO2Prl4nf/5O38oyqI=";
+  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.8.0" "sha256-7EJIKZ25ZA82bf8uU1kbxZEkzpyuaf79mDP40VdjWWM=";
 
-  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.6.0" "sha256-dYe3uLk0ssQPQPEo+3glh+ic6recgV5WPIN09lLuuA4=";
+  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.8.0" "sha256-YXSPRxsl863LS47LBsEmTqiaCAuY0ouhqfDyj5VOrv8=";
 
-  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.6.0" "sha256-7MKRVJ4fgberRmkHWHfvrfzU2+BYhMZxgb2ge7NAQp4=";
+  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.8.0" "sha256-tsz4qg8ssAsoLSHYRVOp0ghu4RMA/9h/o72bRUW/7Aw=";
 
-  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.6.0" "sha256-7StmPVxVNfFpqQmjyM4cn9NBrAsuUjxRkP0WgGCnuso=";
+  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.8.0" "sha256-n1VEViswcAUTFIAPDz2zWFYVPAG2NC46puBzP0zNv0E=";
 
-  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.6.0" "sha256-4TUcqf3kuRqsMjhfrUTX3/aOSl43NtwmbSgM6KtjAlk=";
+  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.8.0" "sha256-gSmJKijCivSIkgPZti5FleLVMiWqLnLJ7wauUosw+Cw=";
 
-  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.6.0" "sha256-qD42WySh9NpQBOveTRGP3hIp8zD1Y1DzSiM7kbbfR88=";
+  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.8.0" "sha256-VsajDkzOcj03DgkNjvQxN6YkDZvZ5gyNASOV5hHeq7o=";
 
-  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.6.0" "sha256-1qgsFoogu8MnWoCeKnqy4KIY7UdMeUPnaS1zVSVl2Mg=";
+  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.8.0" "sha256-Oim8bYEgvOZSMRDJ9P7uRiOcmTb3N6EiOGt8TmUgbpg=";
 
-  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.6.0" "sha256-7Nbb+l7y5ccrVGymZ46nKwnGoa5nThrIOZ1AG0ykPEw=";
+  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.8.0" "sha256-royRK5ELM8Z2fgoIYVtQVaNgDS8jE10cwRVRlP7llXA=";
 
-  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.6.0" "sha256-cIvM4g/CldgLuN10a3lNhISz08gT6VxZHMS5xo+B2IA=";
+  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.8.0" "sha256-zKCzBEpZcwwvjkdQl+fNIkkLBPz58LREriYGQ4eJmkA=";
 
-  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.6.0" "sha256-6b3QfRecmprhRU+loWafrcL1mWNLFmZXZOAhUMkpGqU=";
+  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.8.0" "sha256-NaRDyPKZewpsBZyZWohqxVZJ7MmzwS3691CcrAROeHY=";
 
-  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.6.0" "sha256-D/icEGVsuYSU7hCw2VEojLTkdaBcK6SoEZqpvD/NKV0=";
+  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.8.0" "sha256-pmqVB/DKGDbVjhXfdIeEbnKP8ypZZhIwE/7rim2OCss=";
 
-  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.6.0" "sha256-7vWHwrG7Z80Zb3ncGBqN4ItKAVWLR0XHITJxMmE8y8Y=";
+  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.8.0" "sha256-KURihIUc/9HOCoGlywltbujh3XOuBNCiaAVYsLsG0ls=";
 
-  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.6.0" "sha256-C1JRefgyuiKDOJMhShyDPDjfKp5S5OMCaHcnORLxnvY=";
+  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.8.0" "sha256-Owvm6zxUQe+MtrspLuSPxx3ie6ylG/ElXVLrdXJzP/4=";
 
-  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.6.0" "sha256-ks8MmuhrmdTS509vgxZ0raZqISMPaAItEjf93ppWhrU=";
+  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.8.0" "sha256-oKCtGQYbWtqMzSzx6FK3+jGwYfNXyztEBVowDOAOUfw=";
 
-  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.6.0" "sha256-pOLa8tDqPexDigPbRqTjnr7/ricz92/Ml79AyUXvXBg=";
+  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.8.0" "sha256-EcVaX6bv5yhxxJtKfZdAR8E91v02OIr8t27nQSQQ348=";
 
-  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.6.0" "sha256-qXIwjiNksQbQiTtwaKWNHaUCras/moRuFXN3sOEPYMc=";
+  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.8.0" "sha256-4mvabiQmzJ8AhHpwr81ypQIWDOaxYZczrwhnubFP0AM=";
 
-  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.6.0" "sha256-C98s7dkFRgj8m4M+MmjvCWwrdohkLJafgo9j2ACQ2l4=";
+  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.8.0" "sha256-KaNZF8MkD6/rD3d+ttULQEbx5XWTx4Jidd3PyRROoJM=";
 
-  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.6.0" "sha256-4MRGtyFWceAuspTW6Xqwjf2ta0VC1SIoK/U80QZw7UA=";
+  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.8.0" "sha256-tCSPh8w+Z6DtCdfDWUZZ4d5NU5gLnTz5vS8peOFo78s=";
 
-  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.6.0" "sha256-qW+R5X/fu784kjARjISaNxwzIJn74SXfUaPEuGqsM1M=";
+  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.8.0" "sha256-FHGQPr4ffAZOp4j2YMNtHlnDNNhPw6eUrgsZB26EfPg=";
 
-  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.6.0" "sha256-d+7VqW5H0hyINQVXoy6djyFmkGzlhLnEpzURuPQLyBc=";
+  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.8.0" "sha256-9hcI+d+jXFRT9b7Sz4hk0Dh3At/U8m8Fnp/kh9W8R58=";
 
-  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.6.0" "sha256-3d2WJQpohaiwdsKOS2u5kNhHVsgELMxgjunHAk6v7Y8=";
+  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.8.0" "sha256-4rbJt87KAKaQyNdB+4HjomtrHeF37orixFgM3ZliX40=";
 
-  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.6.0" "sha256-lsDs0yxFf4ForZ2bU719LFCDHzR9lOE211XuYGYKZCw=";
+  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.8.0" "sha256-VgNcK7WG8AwW/FeiMXIP426cuYgfYTuM83iKLMCdSao=";
 
-  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.6.0" "sha256-/MRl46K5h5mtboGhWDop0psxPyxhm3tKhzvMpr91d/w=";
+  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.8.0" "sha256-fG5K6MqRz0TkawqzSw5kG5dgg5/RQ+lwkbHHfodTL+0=";
 
-  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.6.0" "sha256-3E+8scTPCcNm8RDoxGWSm/u6drT12aiFqf3LbxWTy8w=";
+  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.8.0" "sha256-BBPPTCfXWzgeSX2Z0u/h4tPOvXa5h//D76nok8pYDsk=";
 
-  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.6.0" "sha256-Df25Lah8FBdCrbWMC+Y9ayQCO3ijG8cMdypA2+sE3oY=";
+  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.8.0" "sha256-QGwSsXsqVHByl6dZmJdsVo/Ox59hnnDWMWD7NbFNVmM=";
 
-  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.6.0" "sha256-i+n53Eejdz26WGsHBmLR3V0ZxOBHPtTTzoxH0mmKPig=";
+  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.8.0" "sha256-bdMw5CRpYlqdLM1wFckX0h6k7piWLxvxnoe1m7BJfAA=";
 
-  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.6.0" "sha256-i1mv2M3bboOF3+iIKYhp4raYb7mHiQTirlWsttB/dXY=";
+  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.8.0" "sha256-T97SWapbhIg1FRD54qnyAvLs0+0YX5ZVoWBO5zq7UG4=";
 
-  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.6.0" "sha256-WMVPGbQkdbKc2T+gR9P3oWUxl5VSVf4IdcLeuW9SNUo=";
+  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.8.0" "sha256-50wPMaGUGyDddUAa6IXmiHdtDD85ZEoQxsoGPachoyY=";
 
-  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.6.0" "sha256-okcgm0Lx5s2AM2mprVwNjeI1TTmlR73FgjWbYa9uRdE=";
+  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.8.0" "sha256-0S22iMkvJoHpvr40CepEEJUP5K9T2kPOB+JKzi0JktM=";
 
-  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.6.0" "sha256-k0tYIWqPEnETISThasPHa9AaWdAs0p+hfrUuCI7VTJk=";
+  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.8.0" "sha256-TiipaJX01wo41VEzgSxLhfgBZxVRAyrKhhhnevysJLo=";
 
-  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.6.0" "sha256-C138viPl57+Z79k1C0c4IjgdpMd4PhO352fUs6/YnE0=";
+  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.8.0" "sha256-LLr/S9JLpHT3FozgZjtzXwASv4GeccPbwNU65lzjaug=";
 
-  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.6.0" "sha256-1BtV4vajDTlmNhX4oh1h81+1MsIe63gxnkd1oWn0yeI=";
+  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.8.0" "sha256-7d+3z9joliSl7XDQ1FkHgqXYEI2kPn1M62E81D15j2g=";
 
-  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.6.0" "sha256-UP8rTuCwNq6Eu5gYrMj5c+JaNy9grOOL9RRi/QsDvzE=";
+  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.8.0" "sha256-+vwERLMPe5Ha+uygROSLoW+bsGi0hWDFPQTUqGx6Hko=";
 
-  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.6.0" "sha256-Mc4Kl4dZyn9y+9V44QilacOHN9+E1M79uNLATsoH2Ks=";
+  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.8.0" "sha256-URNJRlSUor/amET0qPFoulAIBXDJpDTFjG/6nAaUVpw=";
 
-  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.6.0" "sha256-pPn7O3oK75zRmOFMQmyzmRcjpRTswrVhdbkcqaI5Sj8=";
+  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.8.0" "sha256-CyEiHL+wiR5/cUR1ACocSSPbeCZCGaHGfTfTYrzWapE=";
 
-  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.6.0" "sha256-LwbqLf3BEwW/+f6vsddXt+FiyGkRKIPXfaqW5rtDrig=";
+  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.8.0" "sha256-7c3g+e3T7iTX6J0RzdsYJZjCfwTG0Apr35HYLF3O5mA=";
 
-  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.6.0" "sha256-mBruXgMAELLGyEg7ON8PFesERMf5og8As58U9pvIKRc=";
+  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.8.0" "sha256-blP+kDtXBRMrHr/ln6Y0bRmNrWiOxThjUeAcWAhTUNY=";
 
-  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.6.0" "sha256-JLOVu9OlJgrfTBlmzVNN5saYO8AFk8N54hRzDAjq7WI=";
+  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.8.0" "sha256-ZaBTDN+CU52H4bRnV1qczhLeIGyk7q2tKlq490s36Do=";
 
-  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.6.0" "sha256-cWGwdGBTgEag5SeRDLvAJtCS1dAxtt5R0uanPI6RjkY=";
+  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.8.0" "sha256-ml54TuAu+VXfROUokYvR9FRG8eYHhwvVtlJb5/4hQIQ=";
 
-  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.6.0" "sha256-yYm/H31gRIDV+r2H+8cTHkc5h40aFFUQ7zlX1wyLPAI=";
+  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.8.0" "sha256-/vT6Wkfw2iCgF3vAPgZ9HJP8vxMv90ONVVfLxkaVIIE=";
 
-  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.6.0" "sha256-ro0xv2HHzTXA6tRNnr3eQjCj5iaqc1wOcsKny8j/hoQ=";
+  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.8.0" "sha256-spD7EH0Q/vrdq1YEwtxRgioGrWWWAYoXGdS5qG73zgU=";
 
-  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.6.0" "sha256-4CeNeftLpPSZYqw09LcPRC+8yVp+84azRHQ8O0JFOOo=";
+  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.8.0" "sha256-f25S6KvWDeYoCBoJG/UfNk1igwnaMftlRoORw1rGJwY=";
 
-  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.6.0" "sha256-HZEA8fivN05Puxycyl+2z4kIJMbGtF0J7ohLOwx+IzM=";
+  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.8.0" "sha256-v0G12k/bIshmiOcyg7AuLNzytqpWGH5qFLFvcxhTNz4=";
 
-  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.6.0" "sha256-dFo/YsEQg7TXB5NENmFOv37R3B2GoN0TlIiULWEQr9I=";
+  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.8.0" "sha256-2lVSmrTDTaIaahOa/jp1vQcv7C7OU24Tse21u4LacCs=";
 
-  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.6.0" "sha256-8wsE774l7M8Qb3UiaxkAdN6sdnXs5oS4cFhncW0joBI=";
+  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.8.0" "sha256-gZmm8UUPiPyIZvCO6ffEy7Lq6Q5KeMs5E1bj2ohSORs=";
 
-  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.6.0" "sha256-95lUlfOjLVgHufSv3UvaKB1K0F2N0cvtCcKh96VBtqg=";
+  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.8.0" "sha256-yf6w8gbyo4y1XnFK8lLt8XUL45XSLoXA+MepuqvQHCg=";
 
-  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.6.0" "sha256-hSuwPcQEk9Qgkc/JtcZp2vqLXnMQN9gtzjkuC1Bv1C4=";
+  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.8.0" "sha256-U6vuxYzmWSr9tkh1kbRNYTmRtVbjGqHWqgFimJxH72E=";
 
-  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.6.0" "sha256-0Lwxob43TzJHNcriUEa3BAZE64iqS9Js4TtfL20YRj0=";
+  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.8.0" "sha256-TGfpfuEXcjhy1hrAh9fKH7B8XTdhBfQ4vlzDk/kssTs=";
 
-  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.6.0" "sha256-bMPp7QPa2f8GCRmX3y78XvZTUyYNfYxXDKj5lckBBvE=";
+  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.8.0" "sha256-VgyDlLTgaTTTt8l8Li/BWvdJYCtPtIpXoLDU7si0QAY=";
 
-  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.6.0" "sha256-O2RieTv4vyZ6/mR8BRltfbGcPUjAyIIqriskSlmNcb4=";
+  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.8.0" "sha256-GW7FwDUmsgqbI/H/lNnqgYUkN4X75hypdnyBfiJYISc=";
 
-  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.6.0" "sha256-C660Ync/6dV8c9i+N7bgV0TYaPScrJ40KPdG3LItGGs=";
+  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.8.0" "sha256-A16c14ccCvuy+PIMEKvmCyJxoKmZoIwHSyGFAe6jzHo=";
 
-  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.6.0" "sha256-jhIpP0cJEv2SqvmBJtxNVoWF4AOWci2sPj04dN3N+bo=";
+  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.8.0" "sha256-3DF/GvvCJetJyyJc7pQG9mMmqdfW+96UBwlBxOxP3XQ=";
 
-  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.6.0" "sha256-MXMbA1QAyRMhTqihwKztK3EoRp1iesCvPEz30Xc/in8=";
+  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.8.0" "sha256-eoUHLMl0o9ZeKdhlB0RYPanhfDXJcKarKfOcKLHex4I=";
 
-  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.6.0" "sha256-xjMVOk0fzyvDoSNb+kxVQT9emfvIG/6Ws3h3MfCCTOY=";
+  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.8.0" "sha256-kFmVPs5s/IpP2tdeZDrIZt/b9TU391eRjW0ZdzQtjFw=";
 
-  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.6.0" "sha256-7iUYuPOerdp1+fxI/KdC4sEWDOTJQAgYYheEmSvjBFo=";
+  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.8.0" "sha256-FPhZJgbXhpaTWf3Y3LBHIq34eUcjXpXC91hygddmdEs=";
 
-  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.6.0" "sha256-yCF9EHyTsf1hmoeSGrNiM2Dd8gtGlcX79zqF25btN04=";
+  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.8.0" "sha256-OOUnw+mdFa1NFd2y3ZyHnKpxDgbwyYkTKWd2RZU9zS4=";
 
-  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.6.0" "sha256-vRVH67/SbkncE4q3gssGce4NtTYgFM56RLzDKyvBCpc=";
+  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.8.0" "sha256-cf7wUcsGZqm4KU7v85AIvHpNM2cwwRfaPYRC8F977tc=";
 
-  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.6.0" "sha256-+mFIAOecS21QFsnB+V1EFyGLv6uW+oMzkRi051HvPGA=";
+  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.8.0" "sha256-qtLIXieOk9lhcZbfO5K2xVKYBx0HCXMvAfPpGIGAJ6c=";
 
-  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.6.0" "sha256-OIWzkp7AC2bK55bl3WvL2Zk7M0WRPc8jVHekPAGDtyw=";
+  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.8.0" "sha256-OWow8bdLey5/PtSpeOIj6h54bqoQfQ8JKVM16UW1AYg=";
 
-  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.6.0" "sha256-TWCgT2xBi3UajaF6L+m61Q27YV8RCm+e/jRVnZKjwrI=";
+  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.8.0" "sha256-Q8kSD8x3wt5IZ+24aT1zWfdxQ39AEjNOgUbQu16FhI0=";
 
-  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.6.0" "sha256-pBr9zVqEbP0na385scKW28d0qIB+7HQdYC5QTdhxHNA=";
+  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.8.0" "sha256-vsioxVeIVvz+tY5OLroU2soCkZyEd+FO5HKN9eoBtGA=";
 
-  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.6.0" "sha256-mdpuehCY0ki+sZSlNS0kIwijZphoyQixNWY4WKEcrMs=";
+  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.8.0" "sha256-5Q5cJjcKtGTDrdn8bgE+OjpyUJOdPDXHn8QF83f+ubA=";
 
-  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.6.0" "sha256-lFbcxmw7Le/rVVL70cOY/vEUShSRnsOdul+eI1jzX7Y=";
+  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.8.0" "sha256-+3Y4KbPdnbhArlXi307a0+v6heQKY8Ot+DrjiND2qvo=";
 
-  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.6.0" "sha256-A/1kM0X4bKrPIXBpir9FuEkuYmUb/K06gfut6faGN0A=";
+  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.8.0" "sha256-E7aB4eyePZZ2r4Ssm27q2joppoGMkRI8Wy7sL0bBDUQ=";
 
-  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.6.0" "sha256-X0r0VZ/ZWYrn2NdE5dJrcS74OyWIvWMDJGSNheIOm0A=";
+  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.8.0" "sha256-VCoKp5d+bl7+x2ytIrKaD12uO41qyDTS0GScuWff4MA=";
 
-  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.6.0" "sha256-ec9XPmiGjhH+MsW81JtH13KACasiWqtmxOC/O8ewbgE=";
+  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.8.0" "sha256-6Rh+9NzGRbFXF2ywE/q6SV6PwDgFgZvScoNkr9T3sZg=";
 
-  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.6.0" "sha256-fPG/13VJzvdfoADYZXTZ2ssdJrKQ/MEic6rhsNUE4tU=";
+  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.8.0" "sha256-EO38upjPJy7jonxOynE07eN04MDd+WfNkJoinrQZVgY=";
 
-  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.6.0" "sha256-2mAHrKw7Hur/nrVQpuRwGae5CumbjbQb4V9Z6NlsSmo=";
+  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.8.0" "sha256-28QBXGIuxWUGF5aiokxFRhEoHaK3XjeEjZJzA5luvMo=";
 
-  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.6.0" "sha256-viWUrt2F0O1jVhkxK5G776A4r7d4jJJVI/5UsUS+cao=";
+  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.8.0" "sha256-QGIMg0SfTpj1ScHsEsp9dMikNGRxbJ/8RmwuouQvGSs=";
 
-  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.6.0" "sha256-4T/EcdB+5TV8PnX1Z9c8Ato19kznO3yQPZohuWD1+J8=";
+  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.8.0" "sha256-ePYrb4K8gyuLNmYgUZvOHclFraK3sYSt+NwTyBjSt8A=";
 
-  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.6.0" "sha256-VIGEXyDyUEWshdYFUJ3VmCS1z/ZBOKq2PYCosalPZAw=";
+  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.8.0" "sha256-9TZhIEBwYO9442veI9rINUCVYbJvvdcBfYnlF6Wgt0w=";
 
-  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.6.0" "sha256-rMjrKtR8BWtAYoyBY52o/5wbZCHqX1aFMRsVCunZTeo=";
+  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.8.0" "sha256-cdVmSqqR9NhYEKBza+bWAmOuasCNbO3dG7zn4qgSdws=";
 
-  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.6.0" "sha256-rh53/1tmYyADrkUtQjrwrcEe78ji6II0yYnMQO38AOU=";
+  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.8.0" "sha256-la6LEpXrunQgsjCkKUuVKZgRFRAU0gC+GnLQ5iIsIkI=";
 
-  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.6.0" "sha256-ICRkb+GIWginbc2LvsJTzBaEXDlwg+JOqWQwNRzu+CI=";
+  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.8.0" "sha256-9GIxWYLp9CzyK8UUYIpVgDxF5iUCtd05+7mRYJYdjrk=";
 
-  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.6.0" "sha256-vZiK+Kat3RKN/OcKny5qLF+pYljoVlJGG9Kdlb75GWk=";
+  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.8.0" "sha256-TsHhIEv90847QEX6ZgipnQ2zaTkWgDXMGRL1m6U1VF0=";
 
-  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.6.0" "sha256-9qk0jvEAU6vh++k18ccjrZNLnYlOqiAGuVvBGS5QetQ=";
+  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.8.0" "sha256-abYWCco23+IPKmBsJxlhzu0x9jyAy/h4QwPM5Elifoc=";
 
   types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.6.0" "sha256-9iV7bpGMnzz9TH+g1YpPjbKBSKY3rcL/OJvMOzwLC1M=";
 
-  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.6.0" "sha256-shUgv/KntAP0kuD8pJFLEAp/aIukEsLhte6C5odtNJs=";
+  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.8.0" "sha256-GcNrtfUzhXefhTzbHa97UI/N7yaGLgMu0aJeo8WG1U8=";
 
-  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.6.0" "sha256-U/74XOX/pXh4JJ4n6Fu6quL6gQwz+zt9bOWj/QYOS+8=";
+  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.8.0" "sha256-b2GoHqcX7PPzo519rgvd628dgkRZWt+m8SLG3vS66Ag=";
 
-  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.6.0" "sha256-K2asnioD1r9BJCX2PaNaN+fKDyA+oQhvdM0h0LgxbEY=";
+  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.8.0" "sha256-BRUmyStCMakZGwu0HXZYk/cbJv0LuVmiUfFK/I0mwTQ=";
 
-  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.6.0" "sha256-acNr8U/E2Eq4wp68Td0k8xdORhT6ZOJBOi0enBnaacE=";
+  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.8.0" "sha256-ac/wgoPE5GW2EKvyHdlfpq7C8qEHsbZypeSzeztKeyw=";
 
-  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.6.0" "sha256-9mqnIWlLUoz28qp8AH8LiNdDgcJ04P0Z+jxNb/91jUg=";
+  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.8.0" "sha256-JTL/sa7d11x59/Rg08LWtir6qe3jFl+acyjR4qM3BVI=";
 
-  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.6.0" "sha256-+G6nPOY2Suxa8LPTG8SHOZfwaIJQIyVGTRcsAQYXZzY=";
+  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.8.0" "sha256-whuWWF0xWEyYLfhjL4gQIYVRoNH+KcJBpJ/9797skn8=";
 
-  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.6.0" "sha256-VGGDcARvtSeukjgVB9jwSamIrlrNCF+0pNszN6VkMC0=";
+  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.8.0" "sha256-WHsizbn5+L3Lk25bZf90G61ndJA4H34h4sZjhdJ0KHU=";
 
-  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.6.0" "sha256-3bScTMTc7PMrHvZpfPYENj55w2JjnK/pVuNLcxCjw5Q=";
+  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.8.0" "sha256-b/JbVyWLxmzfQP5RFwFcWxbvMxJL5EZZj/qDJIo/v6o=";
 
-  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.6.0" "sha256-WBxZlnWrZ6b0MIEomvgUDqiKNe9KIIgOrNrRhRw07EA=";
+  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.8.0" "sha256-WknloMADb2N8iIQgpre6pKL9I1Xnf0yLaqu+H1NltEk=";
 
-  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.6.0" "sha256-8ofimJ4eTxq8yQjCc23FQ2OktMCNwlIBCn+eC+HLqlc=";
+  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.8.0" "sha256-SIRHkOJnivOxTnyvFCIiYrOxgq1K4abAe6ug5E2xYGA=";
 
-  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.6.0" "sha256-dCjt22yHlShPdG6Jipy3m4Rx3G4OLPiuUi1gyubcQ/g=";
+  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.8.0" "sha256-IssoNzRVyHdc9SvBrzBnekUCpV9zG0Tsd2fd7NlMBDQ=";
 
-  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.6.0" "sha256-NPvYTwvZY5MjfdIlTMRZEQ1S9IvxvQjoi5K2LOlSrMM=";
+  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.8.0" "sha256-OG0989m7yAWgNDOk8L21p95ShJyfDH7ITGVIjYT8LNU=";
 
-  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.6.0" "sha256-u4d+/kVZ+qtLyueNSGy6a2VoB0jIYdKZqvCQQfarbx4=";
+  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.8.0" "sha256-Te5zV+wjrZAUvH/v0umOfs/L6h6bij8+a6cTQ/OavEw=";
 
-  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.6.0" "sha256-uhkFIVr68n0ShrpZY9qyghd0XgMb0ZT6fF9WdjtF7g0=";
+  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.8.0" "sha256-4ogMLE65UK7rUZME0Lw6Tr0YN12w49WpcMMILURIJmI=";
 
-  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.6.0" "sha256-m0fUuupB8Eb9pJQnuir4THb4TdDstKcxHQRgz8Ce2Zg=";
+  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.8.0" "sha256-27gETFJhrTm8XEP8Ox1EeUmoPRRvt9fL/xwvYkDp+0M=";
 
-  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.6.0" "sha256-dJQnb6AwtmScEIun0QB9CiiPkbdKti9+mc5LN3vf7e0=";
+  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.8.0" "sha256-nVboEaKNKDxVTeK6nbxWfIy3BwXZntX8Gvb+eA4S0JQ=";
 
-  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.6.0" "sha256-kAhdyymMdbrPoCFzKiVCFzBlfpmz4aGlZ1Ilkrc8EiQ=";
+  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.8.0" "sha256-lDSpabN4WiqSuHEpHwpAgOIDAWVK3gj7gnmMrOb5EN8=";
 
-  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.6.0" "sha256-3oJbkuU013LR7DUXvr8y0nbYh3caAF1c4GtgM1CizdU=";
+  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.8.0" "sha256-40MuIYHCKg2632yRA/vJg0eOv4cNHbzN4w2I9Qi3gms=";
 
-  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.6.0" "sha256-Rt6dsE/9aR5AZC47G3RayV56VVobDWEah64cNHsaYII=";
+  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.8.0" "sha256-/t5dRl3Kbri/Em6YiWhNRIDjS8KSQZNkx/X7yWTR6/c=";
 
-  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.6.0" "sha256-KpgEjoEsCSiC6aKyHy64it0k87XYICbxMhUFYUjCBuo=";
+  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.8.0" "sha256-nozk/q5hK94LImV+I80nlPm2Q7hVCzGU5ngOLrW8jVo=";
 
-  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.6.0" "sha256-IQRarMn1ZAh+kUG1I4Cyt/6WrIoby07g3qcSzpWUWWM=";
+  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.8.0" "sha256-iwkxJNDboNQVXnm5UVZ/n1+TtSZm0vVUZyQs+rGpFzE=";
 
-  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.6.0" "sha256-BFSV0lfXriD43UFXjdomHIQO60TjrYWmL6+htf9Z3mE=";
+  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.8.0" "sha256-SnDBBZqjP0n291gy8wl9xjDejQjEu7Xwp4wCN6R0qt0=";
 
-  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.6.0" "sha256-MRRil8KuR88NvjAOQHQSftplzk7+sdAJBb1Koxj1j8o=";
+  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.8.0" "sha256-+yfTXuyYUD9KHRmOEtYzDTbH9miJ+piI3EfT3eKhfPk=";
 
-  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.6.0" "sha256-6YRdsbNw685KvSLCPP6cpCVA5zqht9gF/SthHHtjxfI=";
+  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.8.0" "sha256-FlhYtD34tO5tQrcPmHNya+33abKEb88IRLnnXxwA+YQ=";
 
-  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.6.0" "sha256-uhxX742flhdDM7zoYm6yggc41NW7glGPijiql4XKJa4=";
+  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.8.0" "sha256-BnWehHwrmywOC7Dce0dvEBVSHxnm78Kh9oqciL3UdIo=";
 
-  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.6.0" "sha256-jrOVxsJHgpEvyLhreMrzttu3yQ4FXm4+MVDlNNIKWVU=";
+  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.8.0" "sha256-Oa7sjr6XaHm0xrkLErBUlN6x9hqLLT70e1jmlCngd/c=";
 
-  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.6.0" "sha256-M3wUbFFGsYQesy7ASen+b6yokGkjXY0P5wpGexO2CGg=";
+  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.8.0" "sha256-PQ6IRTBMrW+4/Lad7y+aIr73iTDKLgMQxSM5mLRHdMA=";
 
-  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.6.0" "sha256-ESm7ZCtEvHo/r9LXnBaIAVAb4bQkGjIlmUNlo/JuzjE=";
+  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.8.0" "sha256-gbVRHSyYwkD/Fahy0uFZJ71nZajc2ra04Vyptrm+12E=";
 
-  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.6.0" "sha256-0NMp62HDGZ0FHVtyHOvgfMUaedqZG9bY46d2OrpGK7E=";
+  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.8.0" "sha256-k0oLgKH4D6HUQOIdF1WBhcIPDe7bkE/8iEthVY3GxcE=";
 
-  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.6.0" "sha256-jbLoJOgFRNSPaFv/diM8L0mTGIB2IjAzHqx/QH7lriQ=";
+  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.8.0" "sha256-22LIZgrsNzGAjW9K+BJAgE/BcyY1SplQFVcRncx7FxI=";
 
-  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.6.0" "sha256-8zvG95bDvJWNRmw9sCdBfPxQPdb4TNAzqMcth+hliLI=";
+  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.8.0" "sha256-6Pec8uYl4diA7V6gNhUrrocMvRSfmbfL6UhJ1MM36DQ=";
 
-  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.6.0" "sha256-1i4Z4CE9PG7JByR9RpPazu7RmPIjNeDecnz5LH2ls2A=";
+  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.8.0" "sha256-+s2fRs6c/5/Q+72Eg7E9QmEk78o/Vg33WaQ/dA0ETAw=";
 
-  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.6.0" "sha256-6161RDBwnvqvBtJWs5bPieI6AdwKFCmiT6ixKRE9GuM=";
+  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.8.0" "sha256-cCD0v23PWxUEvTSonDz+B8a4a+EAwUP9J4IOnIVP4VQ=";
 
-  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.6.0" "sha256-/h85AoG+poq4t0EvpXdofWfbaEBD6CiCxhdaGKLi4C0=";
+  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.8.0" "sha256-L+MVCQ0RMa9v5/fRirAQFzPZwfNR4pCmycKuflYrdzE=";
 
-  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.6.0" "sha256-kuOboqDTHpdSW6vD/JGOdLL2U639wM+2V2KaSm1j0xo=";
+  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.8.0" "sha256-po1Hnh51v5d1Q3XVU0gu4ss9QPFai5NUfOVhRGYJnvo=";
 
-  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.6.0" "sha256-CiMKW2suhsU2dZsLQkL3hK2qKRJ56FS4Ix7Dt347bMA=";
+  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.8.0" "sha256-T68P1ccYgmixKvMSfFQ39G9gEXKs0MSdX5quyV8xbkY=";
 
-  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.6.0" "sha256-y4RRQdjaJS9GLW7HUNC9f3kWCOAGijlisrlB0MYQ1As=";
+  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.8.0" "sha256-MKFEunzwmhkDahqjPqXd/zTuFIMlcpjIeb0DEze/7YQ=";
 
-  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.6.0" "sha256-5ANdk601wY6vtjYbe8CxtY9lK4Fe6wbl5uB6Mq6uqII=";
+  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.8.0" "sha256-Bz57PqqBgRY6NEIDX3lAIeRg+Iqsv4eoeTZt1Us38m0=";
 
-  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.6.0" "sha256-cvmNob4pGa18W/2uh16zFJ58f0MHRDL2LwOKrsO16uI=";
+  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.8.0" "sha256-eNUSf2MjSraDN6CG9RdsmWQYmIybqHwXgMNspBrJrb8=";
 
-  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.6.0" "sha256-pOk51+FrlKDNPPDaa1mf3HjpCqlUskeRYITkFp91l6M=";
+  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.8.0" "sha256-iRGe/VeSY7WILNzo3acJgfetOW4k1qKRwM4zov1423k=";
 
-  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.6.0" "sha256-1WeJI++z4QiF0bZ4FyNgoNWY6X62ZCyq7PGNM9urFn4=";
+  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.8.0" "sha256-cg4SlEYrFH+b8nvDeSBARdIraQic9MKybJNexM/PRJ0=";
 
-  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.6.0" "sha256-uaeHdW8lew6jq2KQApkY76eWRkYVLffN0h71icP9viE=";
+  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.8.0" "sha256-vIDdXNmrmwu4+j+hQLFMZ4V3RRSIeA4/zW1rBieFb00=";
 
-  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.6.0" "sha256-vbWWkLbVnzfWHp3Yy3S6mh0+tHrkA/5Krw4GVSdILls=";
+  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.8.0" "sha256-PkaBaYS7QLLwKXBEOzGMH0ClkDp06lCF4Q5SAklNyaI=";
 
-  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.6.0" "sha256-n5u7dzAnZ7YRGIC2qyynlsALR7tONulc0ZmimW+xotk=";
+  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.8.0" "sha256-/Xm+yspnTA1zcBRJpteFa+nv958XLiM54lqzPqLy6LY=";
 
-  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.6.0" "sha256-mjY7GbQ20pzL38tQMoluJISpaxk/IreluvmX7XsLfTg=";
+  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.8.0" "sha256-kNq2F4BiLqCFaPWPRP/yMfVtUmeTOnv3zdglW/r/UxE=";
 
-  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.6.0" "sha256-8kK4JurIaid4k0BkpoZkaosn7cOIyMTt0RXnoJZUtSc=";
+  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.8.0" "sha256-Ir5qnsd8n3fuEbSkFu+iMb+r1qASHZD2JcQdMvXlQO4=";
 
-  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.6.0" "sha256-nUOb5NwCsz/7Z0bUMUsxysn2bgNi+yTvyGGCkwzCU1o=";
+  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.8.0" "sha256-5hhNHELrmQnGnNDaBkeuYNMx9vljiDNLPuOOeHloHXU=";
 
-  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.6.0" "sha256-Tw+ozecMKAw56x47Wqq3wwwcmDT+5LvoUDAZSX0z2I4=";
+  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.8.0" "sha256-qobp+/oElcwlYNIxsrI0S8GGV++CnvO4O1So2acyYto=";
 
-  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.6.0" "sha256-QY5tN7QVP2WC7P/se6wNrnLp3sJVIr/rTEs9ePpADPE=";
+  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.8.0" "sha256-JFz1l+iA9eMQGdvJYNdz2NvqpWggzRoOEFTUexhVH9o=";
 
-  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.6.0" "sha256-aedmxGOuU70uX/+bQL8coUWBpk9IQHAL7VqusH8zPbs=";
+  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.8.0" "sha256-66Mv1d/h1TFKHbA2wclYvlLNgdhaxM01OTghPPQErLI=";
 
-  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.6.0" "sha256-wyT6YahL3sRGHQcBTAyLd7l75wVWRp2waS+Q46Me/ok=";
+  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.8.0" "sha256-+tPbtG2X8deDjC23e/64CZ8mEbGzmS5ThDVjt1RrFtE=";
 
-  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.6.0" "sha256-mY26ICYSENAruEn4986zxi5R9ong4nyuRAHgMZDliqo=";
+  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.8.0" "sha256-PMKkT6vIs/Qix8N2HqgoM9F7oH5GX5bZnVC2TtJQjgA=";
 
-  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.6.0" "sha256-CR3Uopf6izBTlR16yIA3CUikWrS3OzkFZFpbJNDhBVs=";
+  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.8.0" "sha256-dtm2xetYQ/9lUKGOgunTvNQDLoqu8q7YIhkf2GKWVyo=";
 
-  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.6.0" "sha256-pkZMQu5himEPO7z/AF7INb7H7jjmkyQV1ql2epF4yYA=";
+  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.8.0" "sha256-SMEIIrua1lma7uMlFjlU6lRj34cy1tAe8J5QTqr8ffA=";
 
-  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.6.0" "sha256-sIQ85LzkQgMvVfAKEc5HxIXx85Tckx4HVXcex2hxZ6I=";
+  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.8.0" "sha256-Rdd6zRTmn0rciGg9OrkGRbwLzN/qI+JjgylbtWy8/gU=";
 
-  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.6.0" "sha256-IZvLF0Wg7od/LqC2bcCxtvNun0n9JViuXE/CQMoBdMc=";
+  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.8.0" "sha256-suwMfcgffGOGDUaeZgGklDyE7S2FK4ft/hwYlb2GkSY=";
 
-  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.6.0" "sha256-9eebhFQqnsParfZ1poJJX/ehx1lNHIynFwXEzAo10JM=";
+  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.8.0" "sha256-wKNauKxrrR/Vx76RedpTH1wwJv+vS3avb7x5IkqFiuc=";
 
-  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.6.0" "sha256-ot+oM2a+CA/92d+tY54tqdOlsZWReknv+Pt3Aw8V1GU=";
+  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.8.0" "sha256-SHOMEY1sS50PCAn9tHKSd1Xu2Fk8v1XW3n9OH/z+WCk=";
 
-  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.6.0" "sha256-iNlzgcjg3VrIZJEi2f+7msFqrfWsUS24k7OERB28uRo=";
+  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.8.0" "sha256-agkuc41utwpZG5CdKt6wzLXWo/rlho4wvnRJQlyBEEQ=";
 
-  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.6.0" "sha256-1exWgnbG5ikd1pHWClPGq3Luku5qyTtG6pwvqL/zWdk=";
+  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.8.0" "sha256-I50/A3TUWjf4fzATA1E3TOlSLt8fjUTNJNwGZyRTvN4=";
 
-  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.6.0" "sha256-0fLwCr5eDRxcGZdw3sqExh8awX1qu5XmEYMD63xhD3w=";
+  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.8.0" "sha256-CreNvz6ympQ5J2FO61pDGzQn+3fm+PkmgNWu0VVcPlk=";
 
-  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.6.0" "sha256-eiibXP8S+xvn+PTX8cd3WiN6yL2JmjK9EG9BryexFjY=";
+  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.8.0" "sha256-Yl+HggZfJUh+zpb6TCTX7iDZXLlepiDgn23Gg7VO+mA=";
 
-  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.6.0" "sha256-3zQZyDgaMuj5SAQ7Nc+XzF5dUi1E9bAjv9mIscJxfqM=";
+  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.8.0" "sha256-1gim+G8UlGjVTk/UWFdjqCTZqVFXTXNQXottnNG6Ixs=";
 
-  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.6.0" "sha256-qyA1uCrAFGZHMlfL8Dou1YkM6rb9xwcrDQmteSqOadM=";
+  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.8.0" "sha256-OtEwyQN3NqMKorgfiSNs/HD8ojcpsqCqhgkLz4YIrwE=";
 
-  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.6.0" "sha256-ilPodAPj7J6xVCPEjsBQcQ4I5dNMEM2/hM1j8PJMUto=";
+  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.8.0" "sha256-b/vxkp9iou75uyuDtbK59L3L6gUsHe3aeK1d7NW9LfA=";
 
-  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.6.0" "sha256-m/13nELWqdPNkZXmA3FhArlOKhB1CcbTaAsI9Iqzrik=";
+  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.8.0" "sha256-3KLXy6uN58VNE6x5ZbX+LFhTJz6Vwmp14d33dRCLVjM=";
 
-  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.6.0" "sha256-gW+GFoQhI1Mj412Gh3MXfoSMKpNscUB4AqC9WMF4ACI=";
+  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.8.0" "sha256-M5B+jYeD12lcfwo7wMQcQhC5IIY0dDgUGI+c5cH/IZ4=";
 
-  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.6.0" "sha256-DoFG4FxvJFnN54G5F2LZY5M0aYlCU9H5wwnAsiHaRmc=";
+  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.8.0" "sha256-ICdR9U35k/RKjqnzHC6Gnyg0xAwGK5049apIjR6JkmE=";
 
-  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.6.0" "sha256-VZajCqSzofQLUBrXbMzdaPmbIDNp5YuUUk1wberVcFs=";
+  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.8.0" "sha256-kqg2ElTdAnxKZmNWVQxBDSW4OABiETVa2CPiv89Z8S0=";
 
   types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.6.0" "sha256-gbl7jEgjk4twoxGM+WRg4MZ/nkGg7btiPOsPptR7yfw=";
 
-  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.6.0" "sha256-IX2KY/guFLJ6jL4gRdTS6cQbNuFJuz8xa4QzqZ8j5h8=";
+  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.8.0" "sha256-VFjPIdUbWmzbQLowlv9/R6RejjXIlI4odOc90xFIddQ=";
 
-  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.6.0" "sha256-k/J7hBJDfGXMFR9jn7Tiec8bClrXIz6XyLMqLJad6oU=";
+  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.8.0" "sha256-QWrhzab5MFOOWrlhkwlXyyFx4yRPKQbbW8KxqLAxU7E=";
 
-  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.6.0" "sha256-swmAlpVrP1eSvJatWaJL6QDfgZ0xzBttrpHt1aNULUk=";
+  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.8.0" "sha256-F88BhmFRiU/wYHSgk0+iupLdI5nrD/hhp+fDgyfwilM=";
 
-  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.6.0" "sha256-9yD3FIFrRDMAckbztjrKeUEyXCUOggF5UfsPe5hcQ1Q=";
+  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.8.0" "sha256-1HOSZnvboIvb5ApQnADgSwJac3mQi16xtXuU5JGMudQ=";
 
-  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.6.0" "sha256-Q6S9pTfquW+Hv4uB9tbS/TEsC/i7iDfA+LyZCHq3cRI=";
+  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.8.0" "sha256-63r5ZWbQIqf52VnF2R7o0PQoZlpr8Qq1YCW+UDFATjs=";
 
-  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.6.0" "sha256-iyHFWN8tWgQoShTO6bJQB89K+4JVWjMihzjMr2Lssvw=";
+  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.8.0" "sha256-a88m9GasfGk/NEyc3rdD4hkroqcJ3aDBXZBjifJqMPI=";
 
-  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.6.0" "sha256-hEwlISpSm6r+a1MXxSH3UrBOiNu+Cx9d1T2RsFfrcyA=";
+  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.8.0" "sha256-8VATnN1PtxWs/yJokcJcmAxa4gFroiH7gfCwMWfwrp4=";
 
-  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.6.0" "sha256-VdxG2yvN6g9UAn54OP6uafHGN+iHjNrfO4H5f5h6w18=";
+  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.8.0" "sha256-6ho22HIqC2kB53psJYJwuFpyenpfr0aVlozOdFEW19w=";
 
-  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.6.0" "sha256-hrfqkhKWIcP+fjDaeFjvk6c6GBTgsY3yxPodx9fFpxk=";
+  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.8.0" "sha256-RCjrki2KQASXIpd4i6XKPKWLVSzUCTFKN/o8wAwnOMA=";
 
-  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.6.0" "sha256-c7XLKvwiQL6e0tWH0DmOyauTz3q5b0hOVpjVzR1rmH8=";
+  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.8.0" "sha256-evq8LtTmpIsSU/gW6/PYMGw96aqy/Bfo42b538Gtd4U=";
 
-  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.6.0" "sha256-zw2mJFQgX9xqjsvldssfMeulgCEY0kqaNg+nUe9PpCc=";
+  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.8.0" "sha256-9YSYyjyCocfjrah3hTrUEpEjZYuiwt8GaDyvc/ogius=";
 
-  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.6.0" "sha256-fdZn+f03iIzzkpSCdTh2uUY4WcU1DcyRxozP7SSkGyo=";
+  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.8.0" "sha256-hT62oK9VXVcOzTXD6cVk8e1PKOdo60yM92hGBCFLz98=";
 
-  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.6.0" "sha256-KoZKeJPlIWhgifauIOSSLZaSJWn3E0lSNUOhKPfI0Go=";
+  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.8.0" "sha256-HPJnlV6RlewLpJ/Wg4oaOxJVMw2jrVRVxVwtdKrXzNA=";
 
-  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.6.0" "sha256-HT/Kvi15YJLEno70ayEXQLPi9Y6NlRD8134IRJ7gdRY=";
+  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.8.0" "sha256-uuB9ysAebww5JDftftIU75l3c1b5R1FCk159UcoyH0Q=";
 
-  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.6.0" "sha256-3F1Gpd2kOU1rS7iSyDr0pkRECqYsyeeEQKDH2OO9H/A=";
+  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.8.0" "sha256-gV53OmupgM6JD0V3KbK8e3NaVf2viUdxFj+6pWNd9gw=";
 
-  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.6.0" "sha256-zUXGqquEveHHDqA8XeJX++Yc42rnyW9Vzt5A7LOImfk=";
+  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.8.0" "sha256-nr1BcwhbQPLJQeHrL9QmYBC4tyl16CaMVUIodtAs368=";
 
-  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.6.0" "sha256-FJ9aeZRCY+bhot3cU3qX4EuFAowPCc7kT2D0FGVTpys=";
+  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.8.0" "sha256-cXMDqWSiRWkehXQlmzL/3tCC0OYMmTqK7CAc45bXrO4=";
 
-  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.6.0" "sha256-WsWw1y5XueMQnRTWYQP73GawsSzEsliPzu9Xlij3UAo=";
+  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.8.0" "sha256-Kz7huJpsAyNTLaBjNNYRXnnLG1W9yXUcmH06cf6yvAg=";
 
-  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.6.0" "sha256-7wvX7X/NdB+GlWDogT2benTSC7ZCdVv97Zi6r+s5B2E=";
+  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.8.0" "sha256-854ZymXpthw99nHiE9CmYeW8T7rD7rFsdN4hrcrh7P4=";
 
-  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.6.0" "sha256-e6TTldFkZXf8A8bV7RKkIl6AD/lCC9elB6mT3WeWEiM=";
+  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.8.0" "sha256-6PS+wvH3lFGSK6JgNt6bjQyyain/ISRb8ojU6FasNCM=";
 
-  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.6.0" "sha256-HVoia2UZMrjgH6aUQGit+MueUk0qW3KjWKYJy2pHlp0=";
+  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.8.0" "sha256-+LTl446lEgVxS+W1O9fhYAN9oGsxQ5H3pCOkTuVBX8I=";
 
-  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.6.0" "sha256-hXju28oSNGlQ0qCwFD+qoyWFpKMbFkGWEXteOVOKiII=";
+  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.8.0" "sha256-XzDASRMfmnSKzNiGfCF4vI6ppACUwqwe7a7FH2yNS3g=";
 
-  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.6.0" "sha256-mo4vH/xsbRf1UViSRu4P2YzI+7LFkkzXsHeZZLdXg+U=";
+  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.8.0" "sha256-Rghip34bceNr7OsCI0BaNmlGoJEU2DtloMtTqzQrOqo=";
 
-  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.6.0" "sha256-eU4j+9z++Kgp2TaUX214XGuIXPxCriKu9w+XW8mZp+c=";
+  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.8.0" "sha256-jcEK5kmgvFPXExUmgebZ089X4OZO4rRFmCsAe9lIP4Y=";
 
-  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.6.0" "sha256-HKolI0fcGWye3Xow73qXOJRQ/Wb23ZXWLYyfA94zZT0=";
+  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.8.0" "sha256-Qe/gzlCT51Tz0HrmhIon5ZjFPEPh+GV18/+0A4zGGCM=";
 
-  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.6.0" "sha256-61iFbkOYLF6y1QUGePVAVEFqGgTmPbLYS7VDbvzmInA=";
+  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.8.0" "sha256-dCrFTzU0a7t7dAMWHklUe3m6/6O2FhvSMU/YRkhvk4M=";
 
-  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.6.0" "sha256-pdRp9XjLVLCHeMSMV+NycKNt9kbH93/ZJKbiwNlb+A4=";
+  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.8.0" "sha256-GyHtUoLyBMelhpeecXA760o2kMOjoUmdZNcQyxRzfPM=";
 
-  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.6.0" "sha256-3/LXxvsVmKHpZPr1BISTndLFPmF3LF75kihknSt2cMk=";
+  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.8.0" "sha256-TBTyn6VaHthO5ytB9dtsWB/Un1uON7iWT/YGkWFB5pI=";
 
-  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.6.0" "sha256-2EIBP4NhRy+/OeFuPP/SIf1q6BhlKU9CFH7AM+y3558=";
+  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.8.0" "sha256-FdhFyfJm78jITAxc0b4S9/Pfhqo29ElRG09s+dEOmvM=";
 
-  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.6.0" "sha256-3bVNQSzaMhkpiN1mhS9Lz2EfeEJpkSIcPCKPC6s02Uo=";
+  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.8.0" "sha256-/0p6ogWaWHF5U3ZnFKAjmFZHu0TyZbr2q5/Ts18E0tI=";
 
-  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.6.0" "sha256-Pwmgi4ybpOtLWlY62+QcBHT0iF/6B4Hxbv4CQPA+7/o=";
+  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.8.0" "sha256-nr/6VzCy8n1/wSgTTVJuB2DRa+Hm8wwsnnLM97gq2Wk=";
 
-  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.6.0" "sha256-x+wmTG6jeK8KpSDdhOZkbkRZ7ai7N4xaU4cEmHhO5xA=";
+  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.8.0" "sha256-vuER3haEKEX1Dorw5FGvYr2gSHqrTPjZ8PDuMtD0A3E=";
 
-  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.6.0" "sha256-Q/msYeaXs9MxXj6X0p8Gw08/Y4FvvV2xAbEXU6iqi2g=";
+  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.8.0" "sha256-GfgKHugRZPyPhkzyZibRBodDvxYlHKW735sC7JOOSnU=";
 
-  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.6.0" "sha256-UB0y0l2fb58yNJr36WpCeTDETAcdQkYd2ueETFEQSTo=";
+  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.8.0" "sha256-XhoBrVmqs39kFPykKvha4MX+jHrYM0eoArCASR9Pj3U=";
 
-  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.6.0" "sha256-ynRq7qRVNgpsP4lp6pbZqTv3zrF5Zu1v+STvv/yPgKw=";
+  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.8.0" "sha256-XMdFJ81JK2dkwwb8nKgqaDFQhHoako5IFt1iygZcWUs=";
 
-  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.6.0" "sha256-M2tvTKjIg8aEP3KZvrMTCgiJqb6oWL9T5ylkj+Fr184=";
+  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.8.0" "sha256-uCd7c/vALl2DCXayCLlrvQzwANOMhKVKfSSDgkhWITE=";
 
-  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.6.0" "sha256-XY9DqNQUjFaumcOd2dvX/kV2sWt67Ni26H5SzCarr2E=";
+  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.8.0" "sha256-AI7r1EUOW9gmEgjxwLpeUvD4TsIFsZJXNx2nSrREZRU=";
 
-  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.6.0" "sha256-k1QO54TXJJG5jAvPcoEyZEdEXSmLzHdSPDyF60Zmf78=";
+  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.8.0" "sha256-MrOpFV1Rvr9pqipkDAk0YfNn9W87GTARQWZTdTafM2U=";
 
-  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.6.0" "sha256-kDxDdLaWlaNLfSCOc5Kho73cbk33FnK9c12PYKhdbFQ=";
+  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.8.0" "sha256-lXb5rXS9gNMdalbX3Bqkq/MZwnkQXjVqnBWMAacTVNo=";
 
-  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.6.0" "sha256-Q8EIdCvT0Zjj9udUNpWZzgNClVjNBWTW3V7emhdf+yg=";
+  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.8.0" "sha256-IJiZ6PYC2wgqHdqZ5+d2IWmfqTWzNiMouUyScv7+AeI=";
 
-  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.6.0" "sha256-tXAQ+tNeZUF1snrB+76Ku+j1Wdslah38s0YMBOINrlo=";
+  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.8.0" "sha256-gRaXVGJuzBpwKBP+PuHeBhBwPi7ADaMqO3yXSiwAwZI=";
 
-  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.6.0" "sha256-/XJsZV5Yhp5BMSheF9zVf+MSJsH2zUrpnrkSwo+4PfI=";
+  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.8.0" "sha256-6pKdo0HePlZ8vdDagIKcAEz9FQWxdD0DCxeJGCqV1Yc=";
 
-  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.6.0" "sha256-x6uUO578BIDl1kFdyKXSPnegKLAX3FG4U5rDjsQpVQQ=";
+  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.8.0" "sha256-FrA3aGo9VoZknc8B8dQVuvgPLutxr/sUwqXKv5GfvVU=";
 
-  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.6.0" "sha256-+eHgcPA+egPBR06Mddw0RXuivpiprPMnBhPfCmh0sS4=";
+  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.8.0" "sha256-XnHVJ/FSjP4xk9Won9uBKZn50wgJgNUrNIKWUrey1UI=";
 
-  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.6.0" "sha256-5s0KmOdQyPtcFtb+XkR/zHEiEdZcDwZwldwUy+dvC4s=";
+  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.8.0" "sha256-+Gsp9WbKQY+xxmrVQzlBTYXNmio4rLrEFYiaAg4lU7s=";
 
-  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.6.0" "sha256-+9wtXNgXQhACa8NYfcjbZcJj0j9PlOavxs+c4NXy0kE=";
+  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.8.0" "sha256-rbL+0tgTnhfx4wNCMqV/Bzs29MiVadiFVCuTR9vYNDQ=";
 
-  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.6.0" "sha256-tvLfXhaFpdivIBtFYp0G4/QihOMSGXK1nVDFKuMJCto=";
+  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.8.0" "sha256-87UjieqBzXgTWAFEtnNrxXAOT/0mbCtMIb77iKuGxLM=";
 
-  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.6.0" "sha256-j0ngXkDGIhSh/b1RPn+NY6V2BAUZJdvuT18iALwRkAY=";
+  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.8.0" "sha256-3mU5YeNavmdeRLEhqXNklmkpNh/DEIzywgcSXoH5Vxg=";
 
-  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.6.0" "sha256-Txme0jlgoF9IYywdKqv71kcEqBfF1juTJcagi/2wQ20=";
+  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.8.0" "sha256-55EeFiHspJRWJbYcjZGZpRhKirAzvvyTxVW+/Z8OiyA=";
 
-  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.6.0" "sha256-c6tqmW7i5AXrH2PFyVPCpBkDaiMdTu2fmbHeuc3SzPg=";
+  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.8.0" "sha256-hVrQQcYyqq05XlSVmZfgNVhxDpWnkAyzSjzWUP1A998=";
 
-  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.6.0" "sha256-qvVYusxMw+ZrMJAKXqk1HzEDYHsvaUthnYMDF6b0xbQ=";
+  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.8.0" "sha256-CGWyKB7lGLpYPHShXShC+OVTbm9eZiQEScLd2QL4Y5s=";
 
-  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.6.0" "sha256-ErqAFQYtKfsNABPm+KpOKm88Mh5MmXou6bqJfsqXdt0=";
+  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.8.0" "sha256-xeS5Z23qOQpO2OnXH8trhr6b6BR0cEYpNFA+t+yJW7k=";
 
-  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.6.0" "sha256-vOszu7z/DiZwXrdqoiLUlpLQLNNuRbskI59BBippizI=";
+  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.8.0" "sha256-z2eeckCHLYTLF60XG1ybVJNTuyAUr98VlXP7SZneqfU=";
 
-  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.6.0" "sha256-AKP23N3xMzdOti6J7vONDM/cwdqTHYkiM6c/njspSXI=";
+  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.8.0" "sha256-GwCP8lukUapXQ05O6QJg3Y3MobUdFiky2Gv4auhT6ug=";
 
-  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.6.0" "sha256-PccslOI6F2k50g03j22AYN3xtTsTW3ie4W4pEaT2XwY=";
+  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.8.0" "sha256-BSDgRuzvJXwyaF0CGHa3A+Q6sg/dAZDkEL8OG+7k4Pw=";
 
-  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.6.0" "sha256-3e6/IA6QYgGhipt5XP/b4h3soko1tLntMieXOmeWjlI=";
+  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.8.0" "sha256-7DeAE5HloRZ/kTi5LteeMIl0/iesoL1miemdgYW7sHI=";
 
-  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.6.0" "sha256-rtJ+idGSdRVZafFNppQgIQUobKzClCKHf4RqlBtppBw=";
+  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.8.0" "sha256-EbGoeT3eIUK1axbtsc+jxgN9Qw1CNC/Ak5vD8kmPnU0=";
 
-  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.6.0" "sha256-AqV8yAUYTT8nc3jQkq0qDzZRKxewsrxIR/kVJiX3fwI=";
+  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.8.0" "sha256-vPOarQWZaf+5147n3pHM0zSwVRWBTxX7eE6JCpTASeg=";
 
-  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.6.0" "sha256-N4YntFIEyhhryAaIFY8Gu4Uehw6D/VcTeIlBxx7ej4c=";
+  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.8.0" "sha256-hOPua7NJQHoA/m3j9/doMLZJKV6rfQbGdkd3fo+aKpk=";
 
-  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.6.0" "sha256-DOum/vx6URynxImQN9SRhAr5rFgZdSJMdtAMom5YHe8=";
+  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.8.0" "sha256-SYoyW04NxJsNP7uS3KxZpxi/PRTIS9uSVJA/sVTD/20=";
 
-  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.6.0" "sha256-pZ/h8/1njNNp9+nhpbU/VhGevrZkSrWnhWm3weHAxWQ=";
+  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.8.0" "sha256-QhMDbdjH/bCDLKHEFpMb41YaPf59TSEs2bu151W8IlA=";
 
-  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.6.0" "sha256-TOI2FQdO71XT1NESXGrZN+UI6c7CGRmsBbp4ipuQwhg=";
+  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.8.0" "sha256-sdBDhiq8lLHUWQ6QPQdNAOulN8mbN/ClA6M6epNoMtM=";
 
-  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.6.0" "sha256-M0IDOMbqGdLl0WSipPirjDn3Fr4AQ06+j3m0Ci3jyBE=";
+  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.8.0" "sha256-jPsnB5nI2bgEASmjUGZF+68maAn2xhRzJRiML/DeGqw=";
 
-  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.6.0" "sha256-GYddRqZeBP5f6chzZON9y59KcBiss9eWa8rVGo53C0g=";
+  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.8.0" "sha256-hR0sIaIyBFlbzg/M7CsHMFy0K6xqVSkEA9UL2bM0B9g=";
 
-  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.6.0" "sha256-6znZQUxNKE7SB6G+9l4iQSP9hZt+plKFA8VkE1scxrU=";
+  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.8.0" "sha256-4t6A4Lf9uRlM8RwU+kLXHzj4mqg6K9N9P6EwqQZaCfA=";
 
-  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.6.0" "sha256-FRJeBjA5dfnnZ586VShmPt0CBgi5+ZYbldOUZIGR2L0=";
+  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.8.0" "sha256-KsWZO1WJcQmeFjrIgFVWKWv1A3J1QIyyV/eyNd7wVOA=";
 
-  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.6.0" "sha256-lMNUId8z4h/m0FmusvEjYoQj+PUSLaiOREd27vF3qxI=";
+  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.8.0" "sha256-jOiSQFXLHFTIqRLICkrnO52PY6OjbxC1itz7nvUC+Hw=";
 
-  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.6.0" "sha256-8luG3yWj82hmMq5KYjNG58pbiDBMk+D6ykgzqE752T8=";
+  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.8.0" "sha256-4pIfKFKErbYgifG2EzImfI0bq2l18j/S4LMNkFppAEg=";
 
-  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.6.0" "sha256-nXZ7ZrpEOSdXdcuGVMNI7hjx6oisnnej18vALIEEzGQ=";
+  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.8.0" "sha256-m2VZ6PUAlwv1J3sTu1b0JjvVCStJUhmmPA0OStUBkQU=";
 
-  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.6.0" "sha256-cjBd3Ns1ckr7DT9gpaeb8CbXOrmwU3gENN5Is5BwrZI=";
+  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.8.0" "sha256-qIOrsQb5b99tKyh4sLxl10M8lPHGfNGFDY0LQO0HSes=";
 
-  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.6.0" "sha256-GcbI21WVdMmwMcpbBkma4VrLsLVRP24/Uk43+4vE864=";
+  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.8.0" "sha256-XuP4BReFtJeG2RxWkLcSY0sA66qad/XPYfXnkRTu1hY=";
 
-  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.6.0" "sha256-pW8/wn2Qk1jf1d2kYZ84yEaNUcl6xgHw+yuT0bHnsBE=";
+  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.8.0" "sha256-FSySNIUKn3zXXQ22Bs123tdUd638XNaIbr9SDwenuF0=";
 
-  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.6.0" "sha256-aKO/fGT4UANiYkZOUuOQ4ungKpW8p+yAT5+42WHgp3M=";
+  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.8.0" "sha256-ZFg/a0f4jd9FRTs3VtjXqLrnaSATnx3RyAvo1yE4OQw=";
 
-  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.6.0" "sha256-jTAe8nMwbXwb+1uf9ITVIKtKyOLIwFH6yi+2IYYVIyU=";
+  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.8.0" "sha256-gDxYlHHVpMi1Tij7WjZ19I7h1ds5n15+Nv10nvQMpRo=";
 
-  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.6.0" "sha256-RMIrcFD+1RbA3AcRw3TSjENBzmHQL1zHX7FoOFA+UP0=";
+  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.8.0" "sha256-2IFoKB/F8si+6t8NJhTLnkTfmrxUuawvmTPL/xjpisc=";
 
-  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.6.0" "sha256-mBwT11n8moLt/j46AayYES6rjVo3Tpa5UWJ4Klb1N0g=";
+  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.8.0" "sha256-YZMIJRsydm7OXN4U9odFPcpTSolErDg1w/APTfitns8=";
 
-  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.6.0" "sha256-qYYT1FRpqxtR9LPGMOH+p0+kbeGvfrlIE6rp5Nupioc=";
+  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.8.0" "sha256-Z9MO4KbvY8KmNI/P5xfHxZXg4UDlPOPNAQmDUaqB6x8=";
 
-  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.6.0" "sha256-66kGFeDv4PkKYd4UEL4Feqw5LnygBMGvHqctC4EWnNU=";
+  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.8.0" "sha256-HT4WZXmPxB3RusYeyZez6edNiMx/D1R1z2ltdnzadVA=";
 
-  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.6.0" "sha256-TQ7aNPrky6O+xQefuSkHyFN0XJC5u3xMaT0yrjwYv3E=";
+  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.8.0" "sha256-rgAqcvNylkiF1QqMcQ5mERQzH2BRwOog2GukJRy4hDE=";
 
-  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.6.0" "sha256-55qUjFm6ryLjGAmxGLFkl9dPHXjDWyIINZQRQXe4bnk=";
+  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.8.0" "sha256-nBdBFNLndUyWTAHI9IoOOCqfNnfKDYtIpF/8+j25WE8=";
 
-  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.6.0" "sha256-e8LzXHMfEgkcJKx5a/I//L4/oCz1l7N487wNoTtBP1Y=";
+  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.8.0" "sha256-RpL6fTjQ0Nem0WzzMZU17RlYyWhTBEEPSsZsnvr3vGY=";
 
-  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.6.0" "sha256-MIp/lGwJah2Jj/2KFfoeW2uQlV1DZbP8TYcdsNvEMU8=";
+  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.8.0" "sha256-bXxNPmXNmTp/J+QmKAluRM0D39C0ypDgmBPZsWQzmgc=";
 
-  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.6.0" "sha256-eyiAFFT5KOtTDT2EZNah1KRdcWw1v1titjHwG3DnRj4=";
+  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.8.0" "sha256-y/RVSdtFwjt1WIYJi+CqI0Up2v+T8h0+SwG34jgnyjs=";
 
-  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.6.0" "sha256-g4wAsVc3gqiovsXZtEey4XKmLp/UkIeKD1pEjiey5DE=";
+  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.8.0" "sha256-HbRv5VHTRKJgZKqZVROwC6zqyuQgP+JLFZPYoq2Bc6o=";
 
-  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.6.0" "sha256-GUcRyWviI+JCG7XTGBQcUljxAdjBzso76d5A3ql5lbA=";
+  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.8.0" "sha256-5zeuzcfNiyMzvc9vR04WJtEZMkIELrPsKnstYPwZfKg=";
 
-  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.6.0" "sha256-7znJt8gJGnBbTndTPeFOpN6iytOPTJPgvA/tHeYQVoo=";
+  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.8.0" "sha256-c5a8uIoR0GNfH2Q35S6BdrXEWq3tKQA1yhV3TUYM1K8=";
 
-  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.6.0" "sha256-O3oCXuvREHW7lcwDzbJRogb9Qa2Wfb8C5/rbpjhVm8A=";
+  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.8.0" "sha256-AIh2DZXWuMFjX8opA08MXWLN5K5CVWyjLo8yYmsJRaE=";
 
-  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.6.0" "sha256-mcU7ZGAGzbV7i8H1qMWFI9vm/8APRfmaAncxKBJL+NU=";
+  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.8.0" "sha256-MzAYMFEpZZtLS59bBSOLwLkwpU8H9kOseEPcxj6Eonw=";
 
-  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.6.0" "sha256-uKvgKNZHFZIYsE0hMWjuHN+QzI/eQcCn4HD2C8H+d2I=";
+  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.8.0" "sha256-nesFHgQyGtzmUfdOItfMlbWvBFHU+v7VNz4foE7SX2o=";
 
-  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.6.0" "sha256-Hnq9JAdPiqfhb/uLQhMk7JWZ8xHko06KqHXh9f6al/8=";
+  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.8.0" "sha256-hJYVJObV7tT9jV3h5oykjI0cRI9VlnEa4tLyWc9Htek=";
 
-  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.6.0" "sha256-/7Zzo383eWFjEHxZST1QKzTNHunhR8mjSE2uEHUw9IE=";
+  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.8.0" "sha256-FjrthSpe9zRvmg+nS2E+ZoXKt7kdR13F1mwMzya7Dsw=";
 
-  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.6.0" "sha256-6sIHmILzIg1aOskXnjbDDzbkygXDwFcnd9mfuuhRFZQ=";
+  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.8.0" "sha256-OWIx0v5n89afasRAkrPxfFWZvUm0k2ItHIOyQcVsX3I=";
 
-  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.6.0" "sha256-2BnFCPgaAWxBsc+79oQT+DDj6IM7cV7F+LjqsFG6BBc=";
+  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.8.0" "sha256-uMtA82NpANN591t6RyunEDtguv5CVPMtF+XoFc8DTao=";
 
-  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.6.0" "sha256-TW57DJw0QgnPrIWlOlAvESYSEPUD/UKbXVs+NYW+7r0=";
+  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.8.0" "sha256-pONqi41QAjLUsiX/iI1SFc8BEMCKSdXvhZsE/P/GnSw=";
 
-  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.6.0" "sha256-cLciwg4d5EZKYquNitl3yD+8eJnemEiF27LcXfxy0Zs=";
+  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.8.0" "sha256-iy9m+iioGBhUSTTL48TCEmlxSPac31Nyh5OOShQ6SN8=";
 
-  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.6.0" "sha256-dvte4Yjl+a/UqL5v7xJ9626igVjx/ZPdM2SsLGsVdDk=";
+  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.8.0" "sha256-tHlwGQTuoY6WVMlwunucy/IoPQ4d8fbj8iJN/Rwd3sE=";
 
-  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.6.0" "sha256-36BIOCHnkFyEp3MPa5NfjNJNBeqVMCmx9C907Bw3YWQ=";
+  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.8.0" "sha256-ghW0dULuXuj3ZBpFNe30W8Wr8e/19rXlHbE/7B7thKU=";
 
-  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.6.0" "sha256-DKmk2ddd7b0g6mnt0d37Y1ofb6dgN/6XFBCElqdQ9+A=";
+  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.8.0" "sha256-vrtlZBYIMx+G66E1B/setODz2Ebw8oEZAr7MwgeWYpk=";
 
-  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.6.0" "sha256-PRzh/JFCHUqXTSAR4IoftxvkRBsVq4XEX7ihC9FzqSI=";
+  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.8.0" "sha256-i55VJJ1lB4TDF+aMpBBlAicP015G5C6HfbmkRneKRj0=";
 
-  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.6.0" "sha256-GcDl3LIy+urPEzXINmU4g7xgk8IIIJ6fBFFXhv18eSA=";
+  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.8.0" "sha256-wBn9opW2nBTJ8AlSkQb3Vudn5M0MoujBJJQv3wpzd/U=";
 
-  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.6.0" "sha256-5IoQuLh6bh3mlzInR+Aci6yIRCSYJXfbvv49FEs2tPA=";
+  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.8.0" "sha256-FJbynDHyf1Rzz68l6m2Nx3Z/gbz1xKvyti+Y+TKToCs=";
 
-  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.6.0" "sha256-l0xrQXkDYmB3+RFtwJ70l6GgKeA0z1V107HG8Ddvb8U=";
+  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.8.0" "sha256-fOJzjEmaDu61tPKSk3+AqRB5YML/t0E4Pph/vYBCbqI=";
 
-  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.6.0" "sha256-KLdOmaO6x7AmQInP1RRAf8s5rlpD0PpDHeBnor5gl2A=";
+  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.8.0" "sha256-NG8amAmPBM9zxeBjFOjHjJWv0n02kmkQ3t2p2a8ueDs=";
 
-  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.6.0" "sha256-QNjpM0m1PKSQx2f1eNkOeNP7pHN0PfHZlMFVQbGOgGU=";
+  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.8.0" "sha256-2lXqLkIdTHQnt81eQ8gMY3rTqEdrAIr0sLdbSpDqsBk=";
 
-  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.6.0" "sha256-5g1LUvS324evqH+Rv+pUKlePnE3QqMqpiLCrknxjQX8=";
+  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.8.0" "sha256-ZA0GffcyOufLp7eL2nXJ/I9J2d4nPMSO6oGnINu1r3c=";
 
-  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.6.0" "sha256-5NbnrGPo9jTCIxq7ubNX/OuKZOXU0PoSwgTjfuMvnKY=";
+  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.8.0" "sha256-t7TLwIPwyvE8kdehytLbDm833wv5/VHkq2fMXS8GTYY=";
 
-  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.6.0" "sha256-AZRsUZpKhzPiHoUcboBeX5zYlVD9kY6F4n6/ifRTpr8=";
+  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.8.0" "sha256-ZgHWKACxm1LFxS9W+lEktaQI5ZEupWxLre+aET497kg=";
 
-  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.6.0" "sha256-WrkKQxXI7eIaX4GimyDyBqDWVjw0eF3jJTA40JScvG0=";
+  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.8.0" "sha256-RmZn+M23w5LeEN94GL++5G3KqPxHdK7yS45HrexO254=";
 
-  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.6.0" "sha256-I//ZK5HolYkCfpTCPYhEDALfcn9AYcLk7x7vfRjTDlo=";
+  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.8.0" "sha256-0suDa/XD5mmYIa+xLLS1ctmJNvUSkXKb1JM9ypUImgo=";
 
-  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.6.0" "sha256-Qz+ZXVBSe3kHgGlqQjgxWoQhnguqauxmPKaISQbAG/8=";
+  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.8.0" "sha256-aYf/FX2jFSiJCbOD4DgNV2wtPUaQIFFVJMwYa43+SH0=";
 
-  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.6.0" "sha256-Fh35RpHExkL/PeqEnWNR2pJYWERDJzOF9oE3SvIxxQ4=";
+  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.8.0" "sha256-43zwyMqYz/tIeFSD8sFrnUhy0GgfIV57eP5TebUfa7g=";
 
-  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.6.0" "sha256-Wia4Xc/Kt8j6X5rZ9vvxupr6tCv1XQQQFOwRnugL0lE=";
+  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.8.0" "sha256-+wGCOB7OMw8ocImLAKTrbLAMk7Svy9IrV43d88++iNM=";
 
-  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.6.0" "sha256-hDPU7e14iYcpt8dXzjx7PgT4TQloAn2ZYrq6cMtMncc=";
+  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.8.0" "sha256-nHXh6Pn01PrBP1pfPIYEFDJHVBcMyCHrbugzFitFNlI=";
 
-  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.6.0" "sha256-J5QSpJQjhO6T2uGpDstHdEVJTLuTIxilmYmKdtB7u6g=";
+  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.8.0" "sha256-/HXBFrcsKbFP23+sbYIhDAMKCTvC8RcY0Yd7LjDw+0Y=";
 
-  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.6.0" "sha256-NxTwgcrDNOHZ8PReIgfTOGLTl7bL1948NKAyjJ0QYKc=";
+  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.8.0" "sha256-8WqU8zVfd4ks3v2taDDb9a/SIhbbNQ9nvN5RtwUiFtQ=";
 
-  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.6.0" "sha256-fWnCKnG6ikXzDx40HFxlh9DyLVlX9pBB4CMcJxUt+Ps=";
+  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.8.0" "sha256-geKe1U86jmBHNmMoxtzk+s+la44cJTmdxNt+eIRNPrk=";
 
-  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.6.0" "sha256-6wkvuRGT91a0Ggxt13amMzjWd6Pj62w4nrvWQNQ0GxI=";
+  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.8.0" "sha256-pI0awh2ykT+1piQXVEVWtM95hzo9T2i3afBudGBKKDI=";
 
-  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.6.0" "sha256-7NkEDcuph8xxjlDjuEiSuhvM5srAeY4QfAKLwFLhCsU=";
+  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.8.0" "sha256-eTQq35NWsj0XFmX60i9f1zMftUQy16zAMHjL4rMF/+0=";
 
-  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.6.0" "sha256-pM6yxg0MxTXjSWZ/CLsatlIMx4tO0p9ZKRzOhyJYXWc=";
+  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.8.0" "sha256-crnFBiGAgZ69htxJ1p8sTX5NGnbc3qEsdFHL4LiLsig=";
 
-  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.6.0" "sha256-idc5d/Kvjhd7RkTHuErSoP/f64/Q1+jg0TE3UMiL4pQ=";
+  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.8.0" "sha256-XmBDoWgfEkVT2u8Ms1ag3JtUCpencUoX0EfB7/VsSmM=";
 
-  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.6.0" "sha256-3eJaNx/Tzy9XQtHSPGKlkMG7klB2KDgL60knGghWAn8=";
+  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.8.0" "sha256-U5Ll1edEe3eNbLqGWd7O9uNef0b32JXwEfu+M8Kg2uI=";
 
-  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.6.0" "sha256-7y8SiLa09lDqnMZtlG0Qw5tvAvQMvTNqMuCpRecOpXc=";
+  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.8.0" "sha256-A9if+EGhVRR9PpXb7Ai1u2XcWS/HlHNgFPI+oy4Xf3Q=";
 
-  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.6.0" "sha256-Umq4Slts9RHPJRJCWRAIAizLxB9Clcz8GomLsUr5gNE=";
+  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.8.0" "sha256-xZYge7wyTJA6TDkiMqIgESv/xEb3e/4WFxTMD9hedG0=";
 
-  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.6.0" "sha256-iRwalkojzQCUiAQcxl8hEYFFbnIxhuaJfrATnK18ltI=";
+  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.8.0" "sha256-TWDc+OQ1ZQH4hs2yyKGzJWxImRsTiSHsNT64eBSg9+E=";
 
-  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.6.0" "sha256-+4rnAV2Qr29bvWRO6TnSaRZkUVCoefB3SDXc2Ye9kpE=";
+  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.8.0" "sha256-6rTtWFb0W7A6kK9vn+OmLW8eaMmeYcUgC3u71HBEk78=";
 
-  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.6.0" "sha256-CXYfdtO1TdmEz39v2AEeCTJmgiA/EF1gmaBBYGRgYV0=";
+  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.8.0" "sha256-CA6oHF9JMvOx+hayuBoQ6y/FlZEoZTtfmej6sW25UY0=";
 
-  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.6.0" "sha256-x9cBjUe4LC9uSsFpPciZP1QlUEqfNo3xZFKUqPuVV6E=";
+  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.8.0" "sha256-M21DsVjEP2foyd8DMJjnlalM7vwAPLorSBU7P3Bt1vg=";
 
-  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.6.0" "sha256-Wew0A2xIYOGXzfZf3sBpHnRW/dZD1s6wHveNMwYj1s4=";
+  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.8.0" "sha256-bJH/5ltKeojYXOuiaDSWE5LUv2dqE78CROzeRXOqV84=";
 
-  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.6.0" "sha256-vWUMopzR+1095nN6POsHShvCKZIcUwfW11oMOJ9R94c=";
+  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.8.0" "sha256-AudV7RCbIPYvy1IgYrSC1I8PPT9lLCVR28RCtJ1Fd8o=";
 
-  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.6.0" "sha256-4QpCK14NogeYR9DB877zh760GEXYieiyOgepB9DZd+8=";
+  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.8.0" "sha256-QMZKTjNdfz2Oxjdtnc3tICe823R4Vp1ETJfupXMX2lE=";
 
-  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.6.0" "sha256-bBcMTJOVFq1mJQZtc9M/EMT45Xxxk2DqDgVHfM3qt3A=";
+  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.8.0" "sha256-QiNnwX+NCknSAlsrMDTBFBaDoD1iXcJBA19VEVFh8CY=";
 
-  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.6.0" "sha256-c4Y5kilT50Ips16/YhwduNbm89gB4iLHFv8eN8T4NDM=";
+  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.8.0" "sha256-9uQX3ssLhPM2ErTvyXpC+346+BCkyB19DRhGVyLeDRw=";
 
-  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.6.0" "sha256-HB1CKe9mkD0+0TdFXmdiphDUqc+4xbwBIXSu0PulBE4=";
+  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.8.0" "sha256-LuLHmUEyOCimS4xUhE6zizTfn4MQBj27T2obwnsSK/w=";
 
-  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.6.0" "sha256-59SvnKQ+WpAKUZNYunFywLLah1aBnF0maZrFbALXcIM=";
+  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.8.0" "sha256-vq0nimWY3nho1u2lgl8f0CDMFc5aFYzI/TmE3XAqXXg=";
 
-  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.6.0" "sha256-cgxE6GYG9c4234RAiyFfF22NPHJ29oytOvLpETnjdS4=";
+  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.8.0" "sha256-ir/tmp8wb5+dZ8ldydMAtm4kWJ5/g4NeZVG0Aly2lOk=";
 
-  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.6.0" "sha256-yg4zDBjgSB7JuuS2DXIUe3PFQq9stIfEJSMF1IP2BWI=";
+  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.8.0" "sha256-825T4k/GtzClkQRFf0JtiHz7BkrSuN2ZLTm/Gg8VIzU=";
 
-  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.6.0" "sha256-Pnn3CGL5rr3MtzaakjDXmReVKXnyB76IxSnAPnKU45I=";
+  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.8.0" "sha256-TIBXAir9uhnBw+XUC+uF0PxX2YqSy++0lzmrZA7dNrQ=";
 
-  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.6.0" "sha256-kxniFLA2e7aDKulF5z1Ap3z6wbE3eY3QVqhK+CVhrcE=";
+  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.8.0" "sha256-MQZdWFYWOgFQwcoPa7XjV+W6CU0B4TGsYlWPAX3wP7o=";
 
-  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.6.0" "sha256-adKf+AbPmeN57r93T36IewoiLZ+05CbpuS7NxCkQgMw=";
+  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.8.0" "sha256-ZV/Niqalk80HEjLmhSKMMrckRqbgMfa5SR/ld9HOkGs=";
 
-  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.6.0" "sha256-56SIq8Q6B405aqKU8UMddGHyrJeFaVKZSG4ImBWBZLU=";
+  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.8.0" "sha256-rHA7mkFCAs8vlxD37aqpmDQTEt9glaCkDNdNZF+Zkao=";
 
-  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.6.0" "sha256-nAGK0tN42UhDUmpztGeAPRS5FuuTt+LugQmcgkR0oLA=";
+  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.8.0" "sha256-yJ5OgSx/7OhwA5IrzTwFJqJjOWsy4Z5muJNqOckrvqo=";
 
-  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.6.0" "sha256-p/2uqdRwKgsS2EUCr8ZLds6WHUjVQz8mEv35qcyMTYA=";
+  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.8.0" "sha256-pdBZddHeWEJF0Va3ylwqNlCixcNCucqhJS4E6MOlstk=";
 
-  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.6.0" "sha256-EInqI5EqriiI2L/tdQiy3/jY8tnZ6+QOk9PdEyDuSj4=";
+  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.8.0" "sha256-8pAUOTT8QHEyT0EvQCT9B0YL9k7hYIblPKCbWqaL7rI=";
 
-  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.6.0" "sha256-cNegCM7a4QlI+NLzIRIoGHYzQqbFkNRKqDKLOqE3OUY=";
+  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.8.0" "sha256-WJU83Td6vRgmKyfhYlRU4miHJHb2h7tg/12IJClHGrY=";
 
-  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.6.0" "sha256-hMPU0wmTi0BQ+AWo4T6DIOl6FrAQbzdal8rcPoY3wP0=";
+  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.8.0" "sha256-AfXk/UyL5feDePCN4+pgSH3eCfpyeEimn8T/+JsD/tw=";
 
-  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.6.0" "sha256-W/kHZMLFQ7kv8i/3urxbjdXc7RorMyy5joJNtFPAhVU=";
+  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.8.0" "sha256-DAigC9aIAEXYcIPCNihBI89LRZ5WAdWdlTPwzMmAwqE=";
 
-  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.6.0" "sha256-Mc3h0CSmJRoV+ncwhtd4Tu5LSoasWqK8V9hXK5+XYfs=";
+  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.8.0" "sha256-esJylPZPnj2zGsoKikbckg4/3cXXCdLe/x8PiLtDveQ=";
 
-  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.6.0" "sha256-xtsxrIzhjJSoGqd1fEgXP55bRtDsJTtdoWn8eooHCmY=";
+  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.8.0" "sha256-c023BH5DuggzCOWjPAmG1luA+d2PKJzU/wKMyy5wUp4=";
 
-  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.6.0" "sha256-J3lsLnwcttamV4NroDuXz9EupXrsoN/SumKrykQkwVU=";
+  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.8.0" "sha256-7ZbI/QXl4N8OFFviPSsWWx0rX4Lpr9zIV/dQTSLLnMQ=";
 
-  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.6.0" "sha256-DPirH1s636ZW6VKyD4wMiJEfM+u9NknH0ODLQagaLrs=";
+  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.8.0" "sha256-dlrCaCiX4Sc/jClstj/pZLyeTNpLJEpGJHVIkpWQsQA=";
 }
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index 81be449f7f0c0..13cfe48209a00 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,12 +364,12 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.7.0";
+  version = "2.8.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JVtG3t6rkZ5nrttMlryqdcU35DSblNe3MfvlqLqHJp0=";
+    hash = "sha256-s6F2fipCzJKd4jn2flSircKuDBn2OsEEi0nX8aSxbnY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch b/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
deleted file mode 100644
index 56aba78b5b31a..0000000000000
--- a/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From eb63747509b2c18793b95eb12cc0141277520798 Mon Sep 17 00:00:00 2001
-From: Simon Cozens <simon@simon-cozens.org>
-Date: Thu, 11 Feb 2021 09:43:41 +0000
-Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu
-
----
- Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++--
- Lib/ufo2ft/preProcessor.py             | 4 ++--
- setup.py                               | 1 -
- tests/outlineCompiler_test.py          | 2 +-
- tests/preProcessor_test.py             | 2 +-
- 5 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
-index 87d81b1..4b77144 100644
---- a/Lib/ufo2ft/filters/cubicToQuadratic.py
-+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
-@@ -1,7 +1,7 @@
- import logging
- 
--from cu2qu.pens import Cu2QuPointPen
--from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
-+from fontTools.pens.cu2quPen import Cu2QuPointPen
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
- 
- from ufo2ft.filters import BaseFilter
- from ufo2ft.fontInfoData import getAttrWithFallback
-diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py
-index e239152..9463aea 100644
---- a/Lib/ufo2ft/preProcessor.py
-+++ b/Lib/ufo2ft/preProcessor.py
-@@ -267,7 +267,7 @@ class TTFInterpolatablePreProcessor:
-         skipExportGlyphs=None,
-         filters=None,
-     ):
--        from cu2qu.ufo import DEFAULT_MAX_ERR
-+        from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR
- 
-         self.ufos = ufos
-         self.inplace = inplace
-@@ -304,7 +304,7 @@ class TTFInterpolatablePreProcessor:
-         self.postFilters = [[f for f in filters if not f.pre] for filters in filterses]
- 
-     def process(self):
--        from cu2qu.ufo import fonts_to_quadratic
-+        from fontTools.cu2qu.ufo import fonts_to_quadratic
- 
-         needs_decomposition = set()
- 
-diff --git a/setup.py b/setup.py
-index d8d9982..a165ab1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -30,7 +30,6 @@ setup(
-     tests_require=["pytest>=2.8"],
-     install_requires=[
-         "fonttools[ufo]>=4.34.0",
--        "cu2qu>=1.6.7",
-         "cffsubr>=0.2.8",
-         "booleanOperations>=0.9.0",
-     ],
-diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py
-index b31319c..ee51920 100644
---- a/tests/outlineCompiler_test.py
-+++ b/tests/outlineCompiler_test.py
-@@ -2,7 +2,7 @@ import logging
- import os
- 
- import pytest
--from cu2qu.ufo import font_to_quadratic
-+from fontTools.cu2qu.ufo import font_to_quadratic
- from fontTools.ttLib import TTFont
- from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS
- 
-diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
-index 11196f8..bc32d55 100644
---- a/tests/preProcessor_test.py
-+++ b/tests/preProcessor_test.py
-@@ -2,7 +2,7 @@ import logging
- import os
- 
- import pytest
--from cu2qu.ufo import CURVE_TYPE_LIB_KEY
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- from fontTools import designspaceLib
- 
- import ufo2ft
--- 
-2.36.1
-
-From 58f3ab5e5db8090aba10fefd58ad8df4b507e7c3 Mon Sep 17 00:00:00 2001
-From: Simon Cozens <simon@simon-cozens.org>
-Date: Thu, 11 Feb 2021 09:49:28 +0000
-Subject: [PATCH 2/2] Sort the imports
-
----
- Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +-
- tests/preProcessor_test.py             | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py
-index 4b77144..5f28ea4 100644
---- a/Lib/ufo2ft/filters/cubicToQuadratic.py
-+++ b/Lib/ufo2ft/filters/cubicToQuadratic.py
-@@ -1,7 +1,7 @@
- import logging
- 
--from fontTools.pens.cu2quPen import Cu2QuPointPen
- from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR
-+from fontTools.pens.cu2quPen import Cu2QuPointPen
- 
- from ufo2ft.filters import BaseFilter
- from ufo2ft.fontInfoData import getAttrWithFallback
-diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py
-index bc32d55..41c579c 100644
---- a/tests/preProcessor_test.py
-+++ b/tests/preProcessor_test.py
-@@ -2,8 +2,8 @@ import logging
- import os
- 
- import pytest
--from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- from fontTools import designspaceLib
-+from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY
- 
- import ufo2ft
- from ufo2ft.constants import (
--- 
-2.36.1
-
diff --git a/pkgs/development/python-modules/unidata-blocks/default.nix b/pkgs/development/python-modules/unidata-blocks/default.nix
new file mode 100644
index 0000000000000..cded041c46b84
--- /dev/null
+++ b/pkgs/development/python-modules/unidata-blocks/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, nix-update-script
+, hatch-vcs
+, hatchling
+, langcodes
+}:
+
+buildPythonPackage rec {
+  pname = "unidata-blocks";
+  version = "0.0.8";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchPypi {
+    pname = "unidata_blocks";
+    inherit version;
+    hash = "sha256-Y7OSFuPHgzNc/KtmBWwdVqH7Xy4v4w2UGHBUF9pIuSU=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  propagatedBuildInputs = [ langcodes ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://github.com/TakWolf/unidata-blocks";
+    description = "A library that helps query unicode blocks by Blocks.txt";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ h7x4 ];
+  };
+}
diff --git a/pkgs/development/python-modules/uritemplate/default.nix b/pkgs/development/python-modules/uritemplate/default.nix
index 363313163d6b2..400d7d54e3265 100644
--- a/pkgs/development/python-modules/uritemplate/default.nix
+++ b/pkgs/development/python-modules/uritemplate/default.nix
@@ -1,15 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, simplejson
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "uritemplate";
   version = "4.1.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
@@ -18,8 +18,8 @@ buildPythonPackage rec {
     hash = "sha256-Q0bt/Fw7efaUvM1tYJmjIrvrYo2/LNhu6lWkVs5RJPA=";
   };
 
-  propagatedBuildInputs = [
-    simplejson
+  nativeBuildInputs = [
+    setuptools
   ];
 
   nativeCheckInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Implementation of RFC 6570 URI templates";
     homepage = "https://github.com/python-hyper/uritemplate";
+    changelog = "https://github.com/python-hyper/uritemplate/blob/${version}/HISTORY.rst";
     license = with licenses; [ asl20 bsd3 ];
     maintainers = with maintainers; [ matthiasbeyer ];
   };
diff --git a/pkgs/development/python-modules/webdataset/default.nix b/pkgs/development/python-modules/webdataset/default.nix
new file mode 100644
index 0000000000000..7a29f5e5786fb
--- /dev/null
+++ b/pkgs/development/python-modules/webdataset/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, braceexpand
+, imageio
+, lmdb
+, msgpack
+, numpy
+, pytestCheckHook
+, pyyaml
+, setuptools
+, torch
+, torchvision
+, wheel
+, fetchFromGitHub
+}:
+buildPythonPackage rec {
+  pname = "webdataset";
+  version = "0.2.79";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "webdataset";
+    repo = "webdataset";
+    rev = version;
+    hash = "sha256-EfQoHlJ+1spQWZkjS1hwERVUHfjGHDFxE0D+VLujJW8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    braceexpand
+    numpy
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    imageio
+    torch
+    torchvision
+    msgpack
+    lmdb
+  ];
+
+  pythonImportsCheck = [ "webdataset" ];
+
+  disabledTests = [
+    # requires network
+    "test_batched"
+    "test_dataloader"
+    "test_decode_handlers"
+    "test_decoder"
+    "test_decoder"
+    "test_download"
+    "test_handlers"
+    "test_pipe"
+    "test_shard_syntax"
+    "test_torchvision"
+    "test_torchvision"
+    "test_unbatched"
+    "test_yaml3"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # pickling error
+    "test_background_download"
+  ] ++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
+    # segfaults on aarch64-linux
+    "test_webloader"
+    "test_webloader2"
+    "test_webloader_repeat"
+    "test_webloader_unbatched"
+  ];
+
+  meta = with lib; {
+    description = "A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch";
+    homepage = "https://github.com/webdataset/webdataset";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ iynaix ];
+  };
+}
diff --git a/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch b/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch
deleted file mode 100644
index 1f3ab927f8405..0000000000000
--- a/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Xlib/xauth.py b/Xlib/xauth.py
-index 2ed7dd5..303bd49 100644
---- a/Xlib/xauth.py
-+++ b/Xlib/xauth.py
-@@ -120,6 +120,8 @@ class Xauthority(object):
-         matches = {}
- 
-         for efam, eaddr, enum, ename, edata in self.entries:
-+            if enum == b'' and ename not in matches:
-+                enum = num
-             if efam == family and eaddr == address and num == enum:
-                 matches[ename] = edata
- 
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index 500dbcefb1e51..69b193c5b1f4d 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.32";
+  version = "0.2.33";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-sEEYi2qp3LcgBxN0tlbmOaCpkjiDO80lFIaY0qdbuoo=";
+    hash = "sha256-dj5ZGmvroUCK43q7cykwdJLQBWlpsN1FpKGcJrman+I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yolink-api/default.nix b/pkgs/development/python-modules/yolink-api/default.nix
index 8b27812166a06..4b7bec230bbb4 100644
--- a/pkgs/development/python-modules/yolink-api/default.nix
+++ b/pkgs/development/python-modules/yolink-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yolink-api";
-  version = "0.3.1";
+  version = "0.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "YoSmart-Inc";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-bxaxjUKmhScku9mBjtuwiaT4TLTsRlro3y/XatyAfs0=";
+    hash = "sha256-Kg7EvMoFMNm7+Upxo1RIyzrOFsz9dQu1YYiEuetlXBk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 59e761aa44d30..6d8588aa8ef26 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.21";
+  version = "3.1.26";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-R0O0C8IElTjAF+0QRWII6V1Zj/9df7pCxSzfKCKZ0OQ=";
+    hash = "sha256-EUfrIrn8vRAKN0RShiWDYd5L9/7cgmNJZT9lM/ee5/s=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
deleted file mode 100644
index d4a69067705c0..0000000000000
--- a/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ fetchurl, lib, stdenv, coreutils, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "ant";
-  version = "1.9.16";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  src = fetchurl {
-    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
-    sha256 = "0rif9kj6njajy951w3aapk27y1mbaxb08whs126v533h96rb1kjp";
-  };
-
-  contrib = fetchurl {
-    url = "mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2";
-    sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
-  };
-
-  installPhase =
-    ''
-      mkdir -p $out/bin $out/lib/ant
-      mv * $out/lib/ant/
-
-      # Get rid of the manual (35 MiB).  Maybe we should put this in a
-      # separate output.  Keep the antRun script since it's vanilla sh
-      # and needed for the <exec/> task (but since we set ANT_HOME to
-      # a weird value, we have to move antRun to a weird location).
-      # Get rid of the other Ant scripts since we provide our own.
-      mv $out/lib/ant/bin/antRun $out/bin/
-      rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
-      mkdir $out/lib/ant/bin
-      mv $out/bin/antRun $out/lib/ant/bin/
-
-      # Install ant-contrib.
-      unpackFile $contrib
-      cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
-
-      cat >> $out/bin/ant <<EOF
-      #! ${stdenv.shell} -e
-
-      ANT_HOME=$out/lib/ant
-
-      # Find the JDK by looking for javac.  As a fall-back, find the
-      # JRE by looking for java.  The latter allows just the JRE to be
-      # used with (say) ECJ as the compiler.  Finally, allow the GNU
-      # JVM.
-      if [ -z "\''${JAVA_HOME-}" ]; then
-          for i in javac java gij; do
-              if p="\$(type -p \$i)"; then
-                  export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
-                  break
-              fi
-          done
-          if [ -z "\''${JAVA_HOME-}" ]; then
-              echo "\$0: cannot find the JDK or JRE" >&2
-              exit 1
-          fi
-      fi
-
-      if [ -z \$NIX_JVM ]; then
-          if [ -e \$JAVA_HOME/bin/java ]; then
-              NIX_JVM=\$JAVA_HOME/bin/java
-          elif [ -e \$JAVA_HOME/bin/gij ]; then
-              NIX_JVM=\$JAVA_HOME/bin/gij
-          else
-              NIX_JVM=java
-          fi
-      fi
-
-      LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
-
-      exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
-          -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
-          org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
-          -cp "\$CLASSPATH" "\$@"
-      EOF
-
-      chmod +x $out/bin/ant
-    ''; # */
-
-  meta = {
-    homepage = "https://ant.apache.org/";
-    description = "A Java-based build tool";
-
-    longDescription = ''
-      Apache Ant is a Java-based build tool.  In theory, it is kind of like
-      Make, but without Make's wrinkles.
-
-      Why another build tool when there is already make, gnumake, nmake, jam,
-      and others? Because all those tools have limitations that Ant's
-      original author couldn't live with when developing software across
-      multiple platforms.  Make-like tools are inherently shell-based -- they
-      evaluate a set of dependencies, then execute commands not unlike what
-      you would issue in a shell.  This means that you can easily extend
-      these tools by using or writing any program for the OS that you are
-      working on.  However, this also means that you limit yourself to the
-      OS, or at least the OS type such as Unix, that you are working on.
-
-      Ant is different.  Instead of a model where it is extended with
-      shell-based commands, Ant is extended using Java classes.  Instead of
-      writing shell commands, the configuration files are XML-based, calling
-      out a target tree where various tasks get executed.  Each task is run
-      by an object that implements a particular Task interface.
-    '';
-
-    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
-    license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch b/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch
deleted file mode 100644
index 67df8f559a208..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/disable_build_file_generation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 3f5abd591b93ebdbc1ae82e5c29cf26024222f5f Mon Sep 17 00:00:00 2001
-From: Uri Baghin <uri@canva.com>
-Date: Thu, 30 Jan 2020 16:47:36 +1100
-Subject: [PATCH] Disable build file generation for remote apis.
-
----
- WORKSPACE | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/WORKSPACE b/WORKSPACE
-index f9ebafa..52e4e0b 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -208,6 +208,7 @@ http_archive(
- 
- go_repository(
-     name = "com_github_bazelbuild_remote_apis",
-+    build_file_generation = "off",
-     importpath = "github.com/bazelbuild/remote-apis",
-     sum = "h1:OPH+hf+ICw8WEp2CV2ncfdyWPC30Cmw8b5NKun0n5IQ=",
-     version = "v0.0.0-20191119143007-b5123b1bb285",
--- 
-2.25.0
-
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 5aac94c837035..809fa1f2ce189 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.5.11";
+  version = "1.5.12";
 
   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-T07t0CTSkCPQfjhg/L0NhyZgMobXL7DCKZZefPxdBJk="
-      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-3GiMFRikru+8J+eDkba9bNNrpmtuAdH9qEjnH55beiQ="
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-TkHZ47tG7p7AJ4JHKPoe4FFYL48VzoSBPVvtrsmWjx0="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-k5ruQkfJdths/de83J3yLB+Xk5F0ptfdBTWQXt9auy4="
       else throw "unsupported platform";
   };
 
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index b768021035cbf..2d39fd93559d2 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.32.0";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-t4//83DD3hCnxsuuw7nB06SWCY4/GcRcIk8Cr3C4bDw=";
+    hash = "sha256-U3dSGTn9dV0Iiu0DtLCWF/BFHYhRGxirA5T067riA0w=";
   };
 
   vendorHash = "sha256-42CrWLwBcv2GE+hEgJJOd7hFQu7rjYrXkPhhUykqIQw=";
diff --git a/pkgs/development/tools/compass/Gemfile b/pkgs/development/tools/compass/Gemfile
index 66a29975e7dd9..de8c23e303df9 100644
--- a/pkgs/development/tools/compass/Gemfile
+++ b/pkgs/development/tools/compass/Gemfile
@@ -1,3 +1,2 @@
-source "https://rubygems.org" do
-  gem 'compass'
-end
+source 'https://rubygems.org'
+gem 'compass'
diff --git a/pkgs/development/tools/compass/Gemfile.lock b/pkgs/development/tools/compass/Gemfile.lock
index f0bf7699df0d8..cc4969e234bbf 100644
--- a/pkgs/development/tools/compass/Gemfile.lock
+++ b/pkgs/development/tools/compass/Gemfile.lock
@@ -25,7 +25,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  compass!
+  compass
 
 BUNDLED WITH
-   2.2.24
+   2.4.22
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index f8a2aad14f45e..8b8752d1c0d8c 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -1,9 +1,11 @@
-{ lib, bundlerApp, bundlerUpdateScript }:
+{ lib, bundlerEnv, bundlerUpdateScript, ruby }:
 
-bundlerApp {
+bundlerEnv {
   pname = "compass";
+  version = "1.0.3";
+
+  inherit ruby;
   gemdir = ./.;
-  exes = [ "compass" ];
 
   passthru.updateScript = bundlerUpdateScript "compass";
 
@@ -12,6 +14,7 @@ bundlerApp {
     homepage    = "https://github.com/Compass/compass";
     license     = with licenses; mit;
     maintainers = with maintainers; [ offline manveru nicknovitski ];
+    mainProgram = "compass";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index 4195a8453033f..aa507496478e5 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -32,6 +32,10 @@
 , git
 , openssh
 , setuptools
+, croniter
+, importlib-resources
+, packaging
+, unidiff
 , pythonRelaxDepsHook
 , glibcLocales
 , nixosTests
@@ -67,14 +71,14 @@ let
 
   package = buildPythonApplication rec {
     pname = "buildbot";
-    version = "3.9.2";
+    version = "3.10.0";
     format = "pyproject";
 
-    disabled = pythonOlder "3.7";
+    disabled = pythonOlder "3.8";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-7QhIMUpzmxbh8qjz0hgqzibLkWADhTV523neo1wpGSA=";
+      hash = "sha256-Jlppe6LgDQKQgywINkOX9zKWTomzIz28M5scrj3H94Y=";
     };
 
     propagatedBuildInputs = [
@@ -91,6 +95,10 @@ let
       pyjwt
       pyyaml
       setuptools
+      croniter
+      importlib-resources
+      packaging
+      unidiff
     ]
       # tls
       ++ twisted.optional-dependencies.tls;
diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
index 2af7289000e2c..33a42c01707df 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HmkJHN81AcQdKrA/XnH3REURCssXnzmoKjcmvinfzFo=";
+    hash = "sha256-ZGkM2/1/qiVkzpJ7FZNbIEwgCrpxPGyBjREqeqwDD0k=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
index 429c19ecfceeb..82c1f364cfc61 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
@@ -8,7 +8,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-fwWzgIf0/+UiKRyiFUKPN4WUbmxQE5sU/ChAOqqLHE4=";
+      hash = "sha256-ycjmkzKBYdCmJe5Ofjn4q1tg66oVXC2Oaq2qBaZbmwg=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -32,23 +32,15 @@
   www-react = buildPythonPackage rec {
     pname = "buildbot-www-react";
     inherit (buildbot-pkg) version;
-    format = "wheel";
 
-    # fetchpypy returns a 404 for the wheel?
-    # normal source release doesn't have any assets
-    src = fetchurl {
-      url = "https://github.com/buildbot/buildbot/releases/download/v${version}/buildbot_www_react-${version}-py3-none-any.whl";
-      hash = "sha256-pEzuMiDhGQtIWQm80lgKIcTjnS7Z8UJhH9plJup5O84=";
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-2fMqgM83ANHx7+MWUF0eALOaliwVkCSumnw+bLZR+tw=";
     };
 
-    # Remove unneccessary circular dependency on buildbot
+    # Remove unnecessary circular dependency on buildbot
     postPatch = ''
-      pushd dist
-      unzip buildbot_www_react-${version}-py3-none-any.whl
-      sed -i "s/Requires-Dist: buildbot//" buildbot_www_react-${version}.dist-info/METADATA
-      chmod -R u+w buildbot_www_react-${version}-py3-none-any.whl
-      zip -r buildbot_www_react-${version}-py3-none-any.whl buildbot_www_react-${version}.dist-info
-      popd
+      sed -i "s/'buildbot'//" setup.py
     '';
 
     buildInputs = [ buildbot-pkg ];
@@ -71,7 +63,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-ghCmbUw/Gj23J5X3fDn/FGkVvXUE9QWrPFTRXSsxEZ4=";
+      hash = "sha256-0VW7tRT9yvVvh9x+2bG3b4q0yqgq9g2OyI0MELPxo4M=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -93,7 +85,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-B+xUsZBQWt4TwiBqukHO6o0R0XbjLxbCxQKLaWW0/Fw=";
+      hash = "sha256-92CNfBIGciv1mx948ha1YgvFGhx5hJsbn1n/BIXmPT8=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -115,7 +107,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-LFZ3VquRHAHkRcQbw9apOlGlWCK42WT1tPGhW8zSXyo=";
+      hash = "sha256-hdF1KopG4nqzHWLpTcYGnhEM6tfYc5WjYaz5xadL3ow=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -137,7 +129,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-NGI4T0eVV4MxYpD7+BTKbi3r6USt28lXXInrgSd4ASU=";
+      hash = "sha256-X1gPrwkHVdOdOpu/rVnAn5aZPbhye27udkfzI3aY+WI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -159,7 +151,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-BtKA8zuJEyg3q3GnHS4XSGBLBk3IqCR8NOKui2rIn6Q=";
+      hash = "sha256-OXzgS+duQaDR8+lUzSnR85PIIIe9om/lvP9czRE1Ih0=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
index 29d0bcf7fb739..38a0bdb7d4531 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
@@ -27,7 +27,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jI38ZhCcHbjah6lST6YtSZAwaeZPBWsgY3VTUf6s2x8=";
+    hash = "sha256-aAwrIYJRNbvZEV3kkCWnfyuZAMeyynZkOkxQ0wDatxU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/electron/binary/generic.nix b/pkgs/development/tools/electron/binary/generic.nix
index 6e1493528e2b5..bf845eed8d86f 100644
--- a/pkgs/development/tools/electron/binary/generic.nix
+++ b/pkgs/development/tools/electron/binary/generic.nix
@@ -40,7 +40,7 @@ let
       ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ]
       ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    knownVulnerabilities = optional (versionOlder version "25.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "26.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index 19725cc8f148a..497a321c3f140 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -42,12 +42,16 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
 
   src = null;
 
-  patches = base.patches ++ lib.optional (lib.versionOlder info.version "28")
+  patches = base.patches ++ lib.optional (lib.versionOlder info.version "27")
     (substituteAll {
       name = "version.patch";
-      src = if lib.versionAtLeast info.version "27" then ./version.patch else ./version-old.patch;
+      src = ./version.patch;
       inherit (info) version;
     })
+
+  # we remove the web_tests directory in the chromium src FOD to reduce the output size, but this backported patch includes patches on web_tests
+  ++ lib.optional (lib.versions.major info.version == "26")
+    ./electron-26-remove-web_tests-patch.patch
   ;
 
   unpackPhase = ''
@@ -165,9 +169,7 @@ in (chromium.override { upstream-info = info.chromium; }).mkDerivation (base: {
     enable_widevine = false;
     use_perfetto_client_library = false;
     enable_check_raw_ptr_fields = false;
-  } // lib.optionalAttrs (lib.versionOlder info.version "26")  {
-    use_gnome_keyring = false;
-  } // lib.optionalAttrs (lib.versionAtLeast info.version "28")  {
+  } // lib.optionalAttrs (lib.versionAtLeast info.version "27")  {
     override_electron_version = info.version;
   };
 
diff --git a/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch b/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch
new file mode 100644
index 0000000000000..f3dfce6f41448
--- /dev/null
+++ b/pkgs/development/tools/electron/electron-26-remove-web_tests-patch.patch
@@ -0,0 +1,73 @@
+diff --git a/electron/patches/chromium/cherry-pick-80106e31c7ea.patch b/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
+index 3f8ae7d1b2..af8859a1a5 100644
+--- a/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
++++ b/electron/patches/chromium/cherry-pick-80106e31c7ea.patch
+@@ -361,68 +361,3 @@ index 3d562fa22bd84dc438abfe9fa883eff6f5846b1b..c64c7fb1b15f7f523b37671abca2ab50
+    auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(
+        script_state, exception_state.GetContext());
+    ScriptPromise promise = resolver->Promise();
+-diff --git a/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js b/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-index b1b0c133ce160a314ea392514ac5b38e4cac136d..804af2afb9db3a0d5fafbeb26aed64f89badb1b3 100644
+---- a/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-+++ b/third_party/blink/web_tests/external/wpt/webusb/usbDevice.https.any.js
+-@@ -1247,3 +1247,60 @@ usb_test((t) => {
+-         .then(() => promise_rejects_dom(t, 'NotFoundError', device.reset()));
+-   });
+- }, 'resetDevice rejects when called on a disconnected device');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 4;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_COUNT * PACKET_LENGTH);
+-+  const packetLengths = new Array(PACKET_COUNT).fill(PACKET_LENGTH);
+-+  packetLengths[0] = PACKET_LENGTH - 1;
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when buffer size exceeds packet lengths');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 4;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_COUNT * PACKET_LENGTH);
+-+  const packetLengths = new Array(PACKET_COUNT).fill(PACKET_LENGTH);
+-+  packetLengths[0] = PACKET_LENGTH + 1;
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when packet lengths exceed buffer size');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 2;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const packetLengths = [0xffffffff, 1];
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferIn(1, packetLengths));
+-+}, 'isochronousTransferIn rejects when packet lengths exceed maximum size');
+-+
+-+usb_test(async (t) => {
+-+  const PACKET_COUNT = 2;
+-+  const PACKET_LENGTH = 8;
+-+  const {device, fakeDevice} = await getFakeDevice();
+-+  await device.open();
+-+  await device.selectConfiguration(2);
+-+  await device.claimInterface(0);
+-+  await device.selectAlternateInterface(0, 1);
+-+  const buffer = new Uint8Array(PACKET_LENGTH * PACKET_COUNT);
+-+  const packetLengths = [0xffffffff, 1];
+-+  await promise_rejects_dom(
+-+      t, 'DataError', device.isochronousTransferOut(1, buffer, packetLengths));
+-+}, 'isochronousTransferOut rejects when packet lengths exceed maximum size');
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index a3b470f78d7b7..88b446fe42555 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -3,16 +3,16 @@
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-TOsL+5sF65sOCSLx0yamXWC5olYbDUO/Np9HK5sT5DI=",
+                "hash": "sha256-c3crd1hOiRYQAIEApVmE2gGsfW30rbQrr61Hmdryftk=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v28.0.0-alpha.3"
+                "rev": "v28.0.0"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5lIe6mjAee6DUOPDvPM43QJ7VKRQ960w7UqxbXPRPIA=",
+                "hash": "sha256-umUgGlclsdK6EDucwQXqL5/ExXuzAE6SYZcdlV0WHg0=",
                 "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "119.0.6045.21",
+                "rev": "120.0.6099.56",
                 "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
             },
             "src/third_party/clang-format/script": {
@@ -23,21 +23,21 @@
             },
             "src/third_party/libc++/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6kuGJCCRgOwrV85e2i+UTyzt40u2pTET6cs0/MtI9Hk=",
+                "hash": "sha256-DVO15xGxatRbUp13EoNslGEZ2QSHn97VbEBHyfMvKfQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "7cf98622abaf832e2d4784889ebc69d5b6fde4d8"
+                "rev": "a429c26ae25c26a569ff12390d5f9be70c5e286b"
             },
             "src/third_party/libc++abi/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iFIXi4kq/LhNhFPJG4UJfO08MCxvthpiZ0WT9jg0lHE=",
+                "hash": "sha256-QjCPRgFU34wZ8GG/dl+6wi2gflje3fG/x+eokb9W02c=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "e8e4eb8f1c413ea4365256b2b83a6093c95d2d86"
+                "rev": "2ca9f38714b1465b9f55b5fbd0da5e4342811e2b"
             },
             "src/third_party/libunwind/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ytY/QvFzbqkGbsB+um1Rxo+O5DEOFUxUzRIuKMrC8YE=",
+                "hash": "sha256-bQHo8CKDpqvJcVv6OzVO7LOGTqL9qHqD4n9TtRK0v5g=",
                 "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "43e5a34c5b7066a7ee15c74f09dc37b4b9b5630e"
+                "rev": "7686b5d38c69d14932abfb1c1a66ba56c78791ad"
             },
             "src/chrome/test/data/perf/canvas_bench": {
                 "fetcher": "fetchFromGitiles",
@@ -59,9 +59,9 @@
             },
             "src/docs/website": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aYgan6NIIIWDzCplczvU57TZQ6GAluejBoWjfx5FPs4=",
+                "hash": "sha256-+UawYfW5FAMpv0TbzSR8qITPGUQulLIZ0mUh6ZdnmMI=",
                 "url": "https://chromium.googlesource.com/website.git",
-                "rev": "98972e05cf600ceefe641ac5d83b661e2792fcb4"
+                "rev": "07714da3c28b942dc8522affed4487403e971545"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
@@ -71,15 +71,15 @@
             },
             "src/net/third_party/quiche/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dziuBpghbxrXXH6on6WxYvfHInSaUWyNrWbYwAJeMuA=",
+                "hash": "sha256-JXWGEsJrXRXs2BrkWIC8cUBD6uvt8ftb9V5Dy2yLc/w=",
                 "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "0c75f987990bfb2fe27eeaa8f3cc78f98f3ef42d"
+                "rev": "a01a131ca6df63e774809d623f47e8cf28c574cc"
             },
             "src/third_party/angle": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2JvDcfRiwFDjiGWlzwsTq6HP/I6lq+NaI6S57ZrCLGY=",
+                "hash": "sha256-AMwWqLnRSb4FdOsiMB9Q2znX+FPCrS94FXYAc6dCdLg=",
                 "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "5cff2421ef225d14d3a4253b81073389fc840024"
+                "rev": "76ead87021b954ab670d0c1e682f4828cb6adf25"
             },
             "src/third_party/angle/third_party/glmark2/src": {
                 "fetcher": "fetchFromGitiles",
@@ -95,15 +95,15 @@
             },
             "src/third_party/angle/third_party/VK-GL-CTS/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yXo4h4SgMdmHxtT5IeFDzBa5hq/7RZtMRrktaLJkvfs=",
+                "hash": "sha256-+g1yjF1yETrL1X6Cxu5mhPWXukWygg1dnawU8S9cGkA=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "a55b0930e9db612b25cc67701569931200bc2ee0"
+                "rev": "7d738783bf286e82937e431c295d4682f3767267"
             },
             "src/third_party/anonymous_tokens/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/AuMmFWKOaYCsd9cHbZBYUqJUHXJ0xxOuIWe/+lEZ1c=",
+                "hash": "sha256-2B0j9vNF8nMhmedk+ghz4JJJiDKN6jnVfdqsa4zRWeU=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git",
-                "rev": "79562f0175dba82f671046b5bdea0853323445b7"
+                "rev": "47d423347823088a21b26262ca553eadb8e5b220"
             },
             "src/third_party/content_analysis_sdk/src": {
                 "fetcher": "fetchFromGitiles",
@@ -113,15 +113,15 @@
             },
             "src/third_party/dav1d/libdav1d": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-KSo2s3M3S13gY84NlAdnPsjoKfJZy7ipTlWSvUHD9Ak=",
+                "hash": "sha256-9SrbxiOqXKTFf4qZ4Wqg9aoOMY8zv7NczTqN2+lXwCI=",
                 "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "f8ae94eca0f53502a2cddd29a263c1edea4822a0"
+                "rev": "47107e384bd1dc25674acf04d000a8cdc6195234"
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-PE1LHtfdL9grVxBKaSVoc/kc6eHLaP7LKJFWxx+BByE=",
+                "hash": "sha256-onIVQBs8fIAhIEnjbwW8nrwAF5KJ2JjEMSK9b0HAheM=",
                 "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "e1f1c0135a5eca328a320d4f14d21b24576eea9b"
+                "rev": "acee31423468efdb650be9dc9172b30cc2015a4e"
             },
             "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
@@ -131,9 +131,9 @@
             },
             "src/third_party/dawn/third_party/dxc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uCSypev3Jvy6vfzF0AG3w9DIewV7u4w7TNtw1WVVrXM=",
+                "hash": "sha256-EAfTm0QZcihcU6ufBHE1QsYRggNWNKHjVZXcrUp/T+c=",
                 "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler",
-                "rev": "6b4b0eb5f2ca9b9039a7dbf7b324a9478fbd6f03"
+                "rev": "64030a4e01e27c608b6c5f1ab5add43575e086f9"
             },
             "src/third_party/dawn/third_party/dxheaders": {
                 "fetcher": "fetchFromGitiles",
@@ -155,9 +155,9 @@
             },
             "src/third_party/dawn/third_party/webgpu-cts": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+pKnhSC7qQf8P5YL7ei1IPJ0ur89IJAiItnXhw6HKLo=",
+                "hash": "sha256-DqQIyZU6kYYRoouIiJnJBit8l38wPu08zbJhM2BQbs4=",
                 "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "be1210e145e89e7a2943947d983f9592495e0f52"
+                "rev": "2ef3f322027bec1bb5572f5083d478148d355d79"
             },
             "src/third_party/highway/src": {
                 "fetcher": "fetchFromGitiles",
@@ -173,9 +173,9 @@
             },
             "src/third_party/boringssl/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FBQ7y4N2rCM/Cyd6LBnDUXpSa2O3osUXukECTBjZL6s=",
+                "hash": "sha256-hxPNJzWS2f4iUsNYwRvxiTL9vRrcZzZT5KpIx3+WuGM=",
                 "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "d24a38200fef19150eef00cad35b138936c08767"
+                "rev": "c38dc29860a72540eb2c4fdb8a8bfb27ef94ddf3"
             },
             "src/third_party/breakpad/breakpad": {
                 "fetcher": "fetchFromGitiles",
@@ -191,9 +191,9 @@
             },
             "src/third_party/catapult": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-j5NFdjcsv3CaAOrUmNkuxodQyudxqWCNPTd6ovW83sg=",
+                "hash": "sha256-jueHC5YC+WmGRtGZ8yD6QT2pVj21n1THpIz/vI9M334=",
                 "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "4f81c1e295978227d83f1b42ceff40b4f9b5b08c"
+                "rev": "47efdb4b1428e549c58a6d6c2fa79c4a8ceaf9b4"
             },
             "src/third_party/ced/src": {
                 "fetcher": "fetchFromGitiles",
@@ -203,9 +203,9 @@
             },
             "src/third_party/chromium-variations": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-mWnpJb5yV30slOvqc543uqxN1t6TEGP2H3MKl7x6mbw=",
+                "hash": "sha256-cRFzDmGoyrxwPDVvatGm3EutOXtWqqlI7v7BeX5d43s=",
                 "url": "https://chromium.googlesource.com/chromium-variations.git",
-                "rev": "990efdd6cf54f2124621d065e2de629856c395e4"
+                "rev": "cb7fe7e32de8b885ccdd6293444d8e4028b03eca"
             },
             "src/third_party/cld_3/src": {
                 "fetcher": "fetchFromGitiles",
@@ -227,9 +227,9 @@
             },
             "src/third_party/cpuinfo/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-nOSaLZGqmt+8W5Ut9QHDKznh1cekl1jL2ghCM4mgbgc=",
+                "hash": "sha256-BcSG/1aa/cyT8CCd1Qdsm/yXa5bCrmrtaRxnYjwkspY=",
                 "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "959002f82d7962a473d8bf301845f2af720e0aa4"
+                "rev": "76d5e8f5b563daa65340a60fce0e9aec73a936df"
             },
             "src/third_party/crc32c/src": {
                 "fetcher": "fetchFromGitiles",
@@ -239,9 +239,9 @@
             },
             "src/third_party/cros_system_api": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uTeouExil2es07n1a4oVa/r6CUraZ0+iu8Q+A1n4kgA=",
+                "hash": "sha256-wI4rx+oQ6i8yIB8NBp/O471O4pVJL3l+ez0t8I5oD/w=",
                 "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "b7b78587c03de1cd478f31f734498430773adeb3"
+                "rev": "00c21541508ea2c6863f1cda24ef88ef30309ae8"
             },
             "src/third_party/crossbench": {
                 "fetcher": "fetchFromGitiles",
@@ -251,15 +251,15 @@
             },
             "src/third_party/depot_tools": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zx8VtOMxysriVmcPb9YkdS84WXV6NsSkfnCSV8OBwbc=",
+                "hash": "sha256-WtosDcMOV9eh0PhTbB5w3x3AYQs3Ui4h3mV0Ib0CBlc=",
                 "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "90a30a5b5357636fa05bb315c393275be7ca705c"
+                "rev": "9f3b33a275e7a5b19d8ce4aba7960d2a38858681"
             },
             "src/third_party/devtools-frontend/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-OUmCxucDd8jXbEqqNyt9j0j+9zp2G9s3aaFliFkg45A=",
+                "hash": "sha256-jLsdRAQF7UxetAIU0bb+KK4cbXRlaQpg2B8T6+ba7uE=",
                 "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "fa727c5e31709a4447a79a2270157b7ba86414c4"
+                "rev": "099860eb0f995fef1d97ecdbe3c354f0558bec3b"
             },
             "src/third_party/dom_distiller_js/dist": {
                 "fetcher": "fetchFromGitiles",
@@ -269,9 +269,9 @@
             },
             "src/third_party/eigen3/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-a7TnzR57VmIBUqAEKmxncgV/22g3z7b1lEHsYnNZjKo=",
+                "hash": "sha256-mfS/l+V0If3fmXvA1p5gtyrNCU6IqWYrBbzm4jkXC3I=",
                 "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "18018ed013029ca3f28f52a62360999b5a659eac"
+                "rev": "aa6964bf3a34fd607837dd8123bc42465185c4f8"
             },
             "src/third_party/farmhash/src": {
                 "fetcher": "fetchFromGitiles",
@@ -281,9 +281,9 @@
             },
             "src/third_party/ffmpeg": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uRgHTVaCAEaoqY20SmePQbApPmjimgggm5922KKfnbc=",
+                "hash": "sha256-lomUDmbbYW95BHEuYmm0pVqf++nYEa2XxeW4ag36tgc=",
                 "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "0ba37733400593b162e5ae9ff26b384cff49c250"
+                "rev": "e1ca3f06adec15150a171bc38f550058b4bbb23b"
             },
             "src/third_party/flac": {
                 "fetcher": "fetchFromGitiles",
@@ -293,9 +293,9 @@
             },
             "src/third_party/flatbuffers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yu+bMwlTqT5I+BbJhemGMvs/Yw9TusNnFsHgERXYb2M=",
+                "hash": "sha256-LecJwLDG6szZZ/UOCFD+MDqH3NKawn0sdEwgnMt8wMM=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "0343396e49d1c0bf4ca1058130efd9585ecb3c8f"
+                "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5"
             },
             "src/third_party/fontconfig/src": {
                 "fetcher": "fetchFromGitiles",
@@ -323,9 +323,9 @@
             },
             "src/third_party/freetype/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+n7BwWerzg8bMIgZYBOtCibfNkECijNVJKNk7qOQVhU=",
+                "hash": "sha256-wyaCNPPL2CTZYY6YUUuGnN3TjHxgKeHAYsw+r88ijMI=",
                 "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "7b308a29dd105074eea9c8d5953a182d325f74f1"
+                "rev": "55d0287cfc31115760cb13caa346b407ef0c0ceb"
             },
             "src/third_party/freetype-testing/src": {
                 "fetcher": "fetchFromGitiles",
@@ -341,9 +341,9 @@
             },
             "src/third_party/harfbuzz-ng/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+fClyD9Rsge9qdGF8WCv8taLTWNL8iManpXZUzDL2LM=",
+                "hash": "sha256-xCsfgbsWVSiuII5zFspssrqX4NrRuhzufYSq6fdnjKQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "db700b5670d9475cc8ed4880cc9447b232c5e432"
+                "rev": "f26fd69d858642d76413b8f4068eaf9b57c40a5f"
             },
             "src/third_party/emoji-segmenter/src": {
                 "fetcher": "fetchFromGitiles",
@@ -377,9 +377,9 @@
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6do7X9xUCMe2mFQoffazdC5W9UJdHp424QEThqX6P48=",
+                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
                 "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "985b9a6f70e13f3db741fed121e4dcc3046ad494"
+                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
@@ -401,9 +401,9 @@
             },
             "src/third_party/fuzztest/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-53SzbbDlzLl1MTeHxBhLpVGMKICd3ka6qfGcru9AVog=",
+                "hash": "sha256-wuB/lbkVCbisZvVFuLdE8XNDuiLQcI47/Y0EqvOCytc=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git",
-                "rev": "ce460dd7cae252b8505ce0009121bcac17939e3a"
+                "rev": "b5dbc33890d9586e4f6a213f1bf163ad287e6aa4"
             },
             "src/third_party/libaddressinput/src": {
                 "fetcher": "fetchFromGitiles",
@@ -413,15 +413,15 @@
             },
             "src/third_party/libaom/source/libaom": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-76duDNvaq8o7RdswZglifr+gml86fSTdXAEx0nOTybI=",
+                "hash": "sha256-6oZWYXRTZ1IC5yGvfPI19PwPU9O7mKBsW2wVxBGwU/I=",
                 "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "0d59418942412c4176805198f2ab7ff446637c3b"
+                "rev": "1dbe1c7fae2456f91ccc79fecb919e9ffea0727a"
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZAsOy32MHx3YPvEnbBGGT4+iYhFyFPik0+9cLRoVDP4=",
+                "hash": "sha256-mSIrPqJebYSyLyTJmuLuwNoeJ6YJk3gSgFRLap7kSpA=",
                 "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "0d4747af5b3f7b150c3838e6148c49a0bf0e0064"
+                "rev": "466d5e5f8889053115d445637ab8f6e0b3c70ed3"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
@@ -431,9 +431,9 @@
             },
             "src/third_party/nearby/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0tTpC11sFIPq+FPlkGFrDNaAK93isQV/Fd2x1lHmtQ8=",
+                "hash": "sha256-9PT/tuxjREGsvSnYT2wyaL5sB52CcYPpKVKN0ZGldWU=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "d477a2d174fc0e31f6dd06264ff3f47ff8da5378"
+                "rev": "629e7ba7c964a62c97f6a882bffaec3c8490bb1e"
             },
             "src/third_party/beto-core/src": {
                 "fetcher": "fetchFromGitiles",
@@ -461,9 +461,9 @@
             },
             "src/third_party/cros-components/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-grvqHNesTNc3pUkM5YH4P+LaeSWXEKBM8Kw/eRMaB4E=",
+                "hash": "sha256-ZjLMlNDDN08v9SUFAuroPsu/6ADLHZAAFpv+bmaJA2Y=",
                 "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "10d2e376519e88221117e38cd901054b0153501c"
+                "rev": "25159cae8d540780cbeb994692ce4a3ea14cc094"
             },
             "src/third_party/libdrm/src": {
                 "fetcher": "fetchFromGitiles",
@@ -485,9 +485,9 @@
             },
             "src/third_party/libjpeg_turbo": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bcmp8RqQYp4lRI9NfdfYgrAJsDLecJEhgRu9oosB9lQ=",
+                "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=",
                 "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "30bdb85e302ecfc52593636b2f44af438e05e784"
+                "rev": "9b894306ec3b28cea46e84c32b56773a98c483da"
             },
             "src/third_party/liblouis/src": {
                 "fetcher": "fetchFromGitiles",
@@ -521,9 +521,9 @@
             },
             "src/third_party/libvpx/source/libvpx": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5x0Sk8/DXaTCIydK79vWZgIx3IHeQbLUxoNyE7E+Sdo=",
+                "hash": "sha256-UA/pf35eWFArRM+QdN6i6LK0ePWzXEsviHlf3WUgMoM=",
                 "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "38a707faef72eeff89d669c553e7bfe9e08dba8f"
+                "rev": "424723dc025ce451dab9568239a46b18d0919b4d"
             },
             "src/third_party/libwebm/source": {
                 "fetcher": "fetchFromGitiles",
@@ -533,9 +533,9 @@
             },
             "src/third_party/libwebp/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-79peh0y3eeiW5cVQqVq0mUgDcGZ9BlY+OXkPZylKARY=",
+                "hash": "sha256-Wa33opOFgcmYtycezDUt2f6PqZBse6xYB5kLuSaw95o=",
                 "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "2af26267cdfcb63a88e5c74a85927a12d6ca1d76"
+                "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760"
             },
             "src/third_party/libyuv": {
                 "fetcher": "fetchFromGitiles",
@@ -581,9 +581,9 @@
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rxNhfd/ujWtLWDjEbx/ZIo9tdILB1gD5q4cwxQ6DPnw=",
+                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
                 "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "934f2462ad01c407a596641dbc611df49e2017b4"
+                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
@@ -593,15 +593,15 @@
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iVOmMH0h0mbHy9m0vy86SzS5Oeyhgd4CC26LgPws9P4=",
+                "hash": "sha256-U1cScrfKN0F+cy307RT2iwB6RYKeCNDRnkYxzamezoY=",
                 "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "2e2cfb0399db35fbe2e3ef0be62559fe01837ec5"
+                "rev": "a3895af47f600e3f9677f31fa39e15bd01c18457"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qv1fTy/0xUauutP0PFaCwPvr1qptfeB3iqNjHXPDKyc=",
+                "hash": "sha256-xLx+dnUysm+HS1esu2hAqBKg/GgTJK4SQu1ZINr2aYc=",
                 "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "a3d4c1de9bcf2a0471ab183c45cf111efd29571e"
+                "rev": "7ce535ddfc62d30166f35a8ed0f121da5eb0437c"
             },
             "src/third_party/pthreadpool/src": {
                 "fetcher": "fetchFromGitiles",
@@ -629,9 +629,9 @@
             },
             "src/third_party/re2/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-zrVjt229SfVipS05zF5glhd7/D1zpojDyiSnYZpGok4=",
+                "hash": "sha256-m3bJlSyyhmj/7jvy7ExNX/gol7yeu1mnmyAc8u8Pr8s=",
                 "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "26f7d889e1f7e75e95e65490086538edf9f5275c"
+                "rev": "3d9bdbd0e208d3274a1cb1275c94d8b7626ddde2"
             },
             "src/third_party/ruy/src": {
                 "fetcher": "fetchFromGitiles",
@@ -641,9 +641,9 @@
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qHJujO+LYJ41zmoP2xSYRd9K8vLp4bCztYcMO8MI9Lo=",
+                "hash": "sha256-CvoJxsBN1Nyh+RPgU+aptZW5WsfGB4hmSlhyma1wO+E=",
                 "url": "https://skia.googlesource.com/skia.git",
-                "rev": "ab212df482c8fd5b1c1fb302717876d542549624"
+                "rev": "349c1179c43ef46f2804404952b9460dc007d76a"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
@@ -659,15 +659,15 @@
             },
             "src/third_party/sqlite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-35rSG+ptFMC62FsprLvAqfXZknKu40Ee6H2qpAcA3wI=",
+                "hash": "sha256-A3GAYf2hVZqQtEQdbVqP0I0Wh29DPHPf+JhxNLnTQh8=",
                 "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "b7e480172bb2411f9afedefdcc69a57a12f18b7b"
+                "rev": "ca75d938c18c99dc33b769fbdac8fc4c71befa33"
             },
             "src/third_party/swiftshader": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-r7u2WjgPvoVY9Oj2RVqfI/G6PFh/2gWNDVQ5R2qhtLU=",
+                "hash": "sha256-Im4sdDo4b96YQIKDcAmqUk8PiJzejZgSDPur3hqPPRk=",
                 "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "7f4d495c89c200c1945cce5995d348dd41dadb5a"
+                "rev": "d9ec9befba05a8dfca09c1e88f3f7be0e4b153c6"
             },
             "src/third_party/text-fragments-polyfill/src": {
                 "fetcher": "fetchFromGitiles",
@@ -677,75 +677,75 @@
             },
             "src/third_party/tflite/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Mpofo5P6WrkA3hN+sjAhHG4GBQ71vEFnuxfdLRf5epw=",
+                "hash": "sha256-119/isDtopnj6MBRr3bzBvIppXw8M/ejcPx0CmIjXZU=",
                 "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "edf7215123c67d76199d099779137b974b6e1293"
+                "rev": "21e56c30e480ac67bed48335a5d122c59a6a6805"
             },
             "src/third_party/vulkan-deps": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uJFrlLEjFJJSR0+eCtx7bpIC0z8NaHuk/uLeaFBLKKw=",
+                "hash": "sha256-lqCUx70IeHZ7YfE9DXia7dFok/JsFu/HSIv2AGi37YI=",
                 "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "7413048934e28b97ae00c37c419e576db8add866"
+                "rev": "2b783ed328d3a46e6a7a21218ced6b4dd1684114"
             },
             "src/third_party/vulkan-deps/glslang/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CBA9LlD+Ttki3nc693MSmud0feafxi2/PC2YSn3BX2A=",
+                "hash": "sha256-+Qs+Q3p11y9oUKyWEbuaQ0vx6hppFZSFbFuU0ve6rRo=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "b0ed4788858157e271779a7726cccc1149a05407"
+                "rev": "ebb0a8b28e5ea7a13146a24b3ad87b1966dbdfa3"
             },
             "src/third_party/vulkan-deps/spirv-cross/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Wgpdjmes05dMeBr7mrv9UvpabdzJ9lTZ38eO/6Ps60E=",
+                "hash": "sha256-UIk5hihUPjXNzEeO2laS4dUef/rEExxXAZjMcftx+3A=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "37fee00a71b5a47247c1cf20256a3f794537c6c0"
+                "rev": "2de1265fca722929785d9acdec4ab728c47a0254"
             },
             "src/third_party/vulkan-deps/spirv-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yAzbZHLtx+XP34Umkp0CuP/vn7JrW4VPVgVOFi50KHM=",
+                "hash": "sha256-JLFVzFNdXqxyKmg3NymIqqZmf2GAb7tYetQ6HJPsUIQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "79743b899fde5c954897b2694291002626358fac"
+                "rev": "88bc5e321c2839707df8b1ab534e243e00744177"
             },
             "src/third_party/vulkan-deps/spirv-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-/J1eb6ZYSoYZDE8AR/CeRc5GoQEyIlYiHC+JKvi5I5w=",
+                "hash": "sha256-+HUDsp0COKlPtKidOVvUk7lN1AiFw01i5ANc3MO+qjs=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "1bc0e6f59abc3c9cd75f93baef47e9612a448045"
+                "rev": "5084f58e5d187b16f84d2af936ff94ea2f46a00c"
             },
             "src/third_party/vulkan-deps/vulkan-headers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GAl5xC7PCGsVHHUhLkIuwj2zlTCgyNWaBjk6I0qDkhQ=",
+                "hash": "sha256-UlaNc1NxTYulrF4Ol0rLysbLwbFR46Evq7WkWncPB8k=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "7e691380166fb1cd9b193ac9db896bc23a4ea9ad"
+                "rev": "f4bfcd885214675a6a0d7d4df07f52b511e6ea16"
             },
             "src/third_party/vulkan-deps/vulkan-loader/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6iJxI1SwOjN26dyVs6JSYWODZbA25G/M2ZabGLCGRIo=",
+                "hash": "sha256-GbVr8LmwC6r7a13++5cYJXAq+H4P07quEHpTUV1qfqA=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "9e33cfc66f88c863e9a13492b8045ca28118ebbf"
+                "rev": "7b7d15bc9f1d782e4d6ea34e61fd9a36a7952208"
             },
             "src/third_party/vulkan-deps/vulkan-tools/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-r2VdG1o2JXbtN14nGjeZ+Ru4Cn1Za/eQd3NU2O6CnkA=",
+                "hash": "sha256-vnrhYM7tcDTcXH4A+2leio5Wc1+b5H+7CQISEI+SPV8=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "3a19c1973f0e4732b8f3746593aee2ac425ecb78"
+                "rev": "f7017f23337b90a2b2ceb65a4e1050e8ad89e065"
             },
             "src/third_party/vulkan-deps/vulkan-utility-libraries/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zz8r7zHe3MaEzMIyVx6Walsd5QicQ3MxEAunmgWHZcI=",
+                "hash": "sha256-buxOdupK/w1sFGGHrEI+On2/mR0q5whvQNKUI8dxJ60=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries",
-                "rev": "2169a0849e3df4e2133b728dec67d3b16bd30263"
+                "rev": "dcfce25b439a2785f2c90b184e1964898070b4f1"
             },
             "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AUeSb7/sgTZGg/VEkdvGDnj88gqjE1t6qGY0oTAcYsY=",
+                "hash": "sha256-LJd7pkcFd8k4npEv8mJy+47xo/5CXMN75ZAtDp+v6FI=",
                 "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "d82e3c2f34dcf3b849fd7ed6d932ff61dcd838c5"
+                "rev": "281e1c1c6b51bb6b33f88c18ed4da58ac3024311"
             },
             "src/third_party/vulkan_memory_allocator": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FdRPPdLZHj3RX3YzcmF58JJuIqeWQV3TDiiXPEW2lsc=",
+                "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=",
                 "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "e87036508bb156f9986ea959323de1869e328f58"
+                "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21"
             },
             "src/third_party/wayland/src": {
                 "fetcher": "fetchFromGitiles",
@@ -785,15 +785,15 @@
             },
             "src/third_party/webgpu-cts/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vkwuibUzHacAh5x/g05cGR+UohZmcATysnnFfldM2zA=",
+                "hash": "sha256-E39f0wy72TwQ9IM4QquqWxwDiHZOUI8hWkx2QDFcRog=",
                 "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "609645eb5b272668cbfb120d1aa9549eee86e02d"
+                "rev": "3dbe4ce12983ccc1ad42e228057c7d8adc17cb78"
             },
             "src/third_party/webrtc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-uRRtsEVMn85RfFgo1qzYnwA1eN6LvXRme+FUntvCuYA=",
+                "hash": "sha256-lhZ6m00IJ7YEhZ2/nyO70aByVk7RBHUpDsKDVOMoVA8=",
                 "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "71e3fbf5d750e84d181315a663eb5dbc29a5330c"
+                "rev": "b0cc68e61205fd11a7256a6e85307ec17ad95790"
             },
             "src/third_party/wuffs/src": {
                 "fetcher": "fetchFromGitiles",
@@ -809,9 +809,9 @@
             },
             "src/third_party/xdg-utils": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t3uV9JkkQQIwmezzSoEdTMLSizZdLQB7eLKTRQGH4kQ=",
+                "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=",
                 "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "d80274d5869b17b8c9067a1022e4416ee7ed5e0d"
+                "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44"
             },
             "src/third_party/xnnpack/src": {
                 "fetcher": "fetchFromGitiles",
@@ -833,9 +833,9 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qP5gRxEEKV+I3Q6wk0H94OTnKVAieo9SJZGLB9Ti5qw=",
+                "hash": "sha256-HoatrWRElaZ47jtenPz0PzMh0ixBAwbMzL3vj0sw+HE=",
                 "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "f6ebdead2b58e457b923c8121a9267a5d80f59cf"
+                "rev": "5eefc590c868d8dfb411e53053c963fe42dcda74"
             },
             "src/third_party/nan": {
                 "fetcher": "fetchFromGitHub",
@@ -846,10 +846,10 @@
             },
             "src/third_party/electron_node": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-feGhB6o14/qgSQvhJ5eMD74KqWrlOoTpaGAlCs486IU=",
+                "hash": "sha256-yvMU6dXRzHP7l6axo3g4svJ1H2edtFvX2MVMm3K1bEc=",
                 "owner": "nodejs",
                 "repo": "node",
-                "rev": "v18.18.0"
+                "rev": "v18.18.2"
             },
             "src/third_party/squirrel.mac": {
                 "fetcher": "fetchFromGitHub",
@@ -873,38 +873,38 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "28.0.0-alpha.3",
+        "version": "28.0.0",
         "modules": "119",
-        "chrome": "119.0.6045.21",
-        "node": "18.18.0",
+        "chrome": "120.0.6099.56",
+        "node": "18.18.2",
         "chromium": {
-            "version": "119.0.6045.21",
+            "version": "120.0.6099.56",
             "deps": {
                 "gn": {
-                    "version": "2023-09-12",
+                    "version": "2023-10-23",
                     "url": "https://gn.googlesource.com/gn",
-                    "rev": "991530ce394efb58fcd848195469022fa17ae126",
-                    "hash": "sha256-4jWqtsOBh96xbYk1m06G9hj2eQwW6buUXsxWsa5W6/4="
+                    "rev": "e4702d7409069c4f12d45ea7b7f0890717ca3f4b",
+                    "hash": "sha256-dwluGOfq05swtBM5gg4a6gY3IpFHaKKkD0TV1XW7c7k="
                 }
             }
         },
-        "electron_yarn_hash": "1akq5cxcy7fpn4m5qk5kx94vy30z0ybx6ka5qp8an0p33yx9wg8z",
-        "chromium_npm_hash": "sha256-10OGEsA0BDrkbTeIbdXLYRyKNwVsb/tP2ryBBuhi+m8="
+        "electron_yarn_hash": "0n64fi2s97ly7kl0f8922sgavdm6qh24ms3qwf21663a1igdd4jn",
+        "chromium_npm_hash": "sha256-zexxXAAJDnhMmh7HfBO1V1z1Yds06C3gSpXacsbjUb4="
     },
     "27": {
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-UIOHCvqMXuCCrduDo6tnxc6qJuHw2LX4Kgmiu/geiR8=",
+                "hash": "sha256-L43N0jGO8fREAAgSlLuwphq+pyI3Ozpan0phqTMCb58=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v27.0.0"
+                "rev": "v27.1.3"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dT23fhZ9RDY2j7YChaK/hUePkHULTXoXyHNpldmh4Gw=",
+                "hash": "sha256-3yFHjd3LMXVbF4LX6Bi3yJF0CDVug0cDpGFbP8Ibvk4=",
                 "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "118.0.5993.54",
+                "rev": "118.0.5993.159",
                 "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
             },
             "src/third_party/clang-format/script": {
@@ -1011,9 +1011,9 @@
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iCCvQVwf+MLZR6Zz/ML7H9uQ0FiSSCw1gZZeGC6zRLo=",
+                "hash": "sha256-7iCJ1h51S/8pxQRMoDtGXzyuP6Dzxnc/1Cu4ALU8NYg=",
                 "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "ec2cc40563739fa6e6ff0e12c58ac0fdbe0a132f"
+                "rev": "deb3b674b26854204c8082ed93926207e42d3cf2"
             },
             "src/third_party/dawn/third_party/glfw": {
                 "fetcher": "fetchFromGitiles",
@@ -1269,9 +1269,9 @@
             },
             "src/third_party/icu": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6do7X9xUCMe2mFQoffazdC5W9UJdHp424QEThqX6P48=",
+                "hash": "sha256-9yFRBrHdWcYgrZAaigS8XnxNsqJNklGdFkAAgVdHXFU=",
                 "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "985b9a6f70e13f3db741fed121e4dcc3046ad494"
+                "rev": "a622de35ac311c5ad390a7af80724634e5dc61ed"
             },
             "src/third_party/jsoncpp/source": {
                 "fetcher": "fetchFromGitiles",
@@ -1311,9 +1311,9 @@
             },
             "src/third_party/libavif/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3zNhKl8REWsRlblXIFD7zn7qvrc/pa4wHZI0oEc3pKE=",
+                "hash": "sha256-KfRRGTS8kBwi9Z9wafpSwL29RU38THG2xBCvNBXtZtg=",
                 "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "d1c26facaf5a8a97919ceee06814d05d10e25622"
+                "rev": "b2d36b1c3bfc806694cd4ff0cb188270823fe6d8"
             },
             "src/third_party/libavifinfo/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1473,9 +1473,9 @@
             },
             "src/third_party/openscreen/src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-CtCGOoKbbyUGUHfqd7n3uPlv9GEExuYgMTCIaU+ypOA=",
+                "hash": "sha256-TyZ/sZ0gnesWjKUnO2RVM2TTdpVIxsBWueHDgix0/wg=",
                 "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "fd0e81e558086c30fa91a4af89361cef8d1327e4"
+                "rev": "971d6055e7b78c474e2e734e55a2991fbb7ab665"
             },
             "src/third_party/openscreen/src/third_party/tinycbor/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1485,9 +1485,9 @@
             },
             "src/third_party/pdfium": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9qxj8TgFVf64aFTx/DwkUVa41682OSfVnBj9eubMafs=",
+                "hash": "sha256-u+El2jEnvlcQs5j5TthpKj8s255n2AhJPW+Q/s0Ljm0=",
                 "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "d7470394271b6a6856e28ec905b19a12100f2797"
+                "rev": "6e55da0c45788fdc22fa3aab7ead414fc42b74c1"
             },
             "src/third_party/perfetto": {
                 "fetcher": "fetchFromGitiles",
@@ -1533,9 +1533,9 @@
             },
             "src/third_party/skia": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6JN+orZM77HNPDQ9VlZws1Zq8GuwDI83eXXauKknOTc=",
+                "hash": "sha256-Ck15ddYoo8pVLHcwW5P8Ei1sBQf23EGd/ySGOVSWAFQ=",
                 "url": "https://skia.googlesource.com/skia.git",
-                "rev": "bd56a010b6941116cd1900276bf5201f9a9c73da"
+                "rev": "b4f0c1163c955e42489f62d842585720cf0df0ea"
             },
             "src/third_party/smhasher/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1725,9 +1725,9 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+y24A6/c4tl4zu1GcxsiEWvAMMCsat7X0jl2XCmBX6g=",
+                "hash": "sha256-Fn4HoS7O2J3nGXFyq7r7AheRQzKy80USTQnNnC4rWqM=",
                 "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "6b05d242aae3392bef6b86fbe44428126607b3d0"
+                "rev": "36e4828ab658b8ad72f80974883c4c94f6e7012c"
             },
             "src/third_party/nan": {
                 "fetcher": "fetchFromGitHub",
@@ -1765,12 +1765,12 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "27.0.0",
+        "version": "27.1.3",
         "modules": "118",
-        "chrome": "118.0.5993.54",
+        "chrome": "118.0.5993.159",
         "node": "18.17.1",
         "chromium": {
-            "version": "118.0.5993.54",
+            "version": "118.0.5993.159",
             "deps": {
                 "gn": {
                     "version": "2023-08-10",
@@ -1780,17 +1780,17 @@
                 }
             }
         },
-        "electron_yarn_hash": "039zdwb38982h6qinhipja8abza33ihihb4i5fadpsgh0cl7ldsy",
-        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ="
+        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
+        "electron_yarn_hash": "1rxijv3fspjfan7mmw4cmxcb231ny7gn72yzsdnqs0225alrjac0"
     },
     "26": {
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-sEhO5qSm4etyWEurTGSKtJcheG+JJkC78Fhl3c5WBOE=",
+                "hash": "sha256-jvNttIRouxQAfH4n+0xxj57Bc3LCo36B66SGwEfz0jM=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v26.4.0"
+                "rev": "v26.6.2"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
@@ -2609,7 +2609,7 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "26.4.0",
+        "version": "26.6.2",
         "modules": "116",
         "chrome": "116.0.5845.228",
         "node": "18.16.1",
@@ -2624,827 +2624,7 @@
                 }
             }
         },
-        "electron_yarn_hash": "05wkb1m0yjbai4153y49kwr1v2lj14fg75aqlvmmrhf3bxp9lg5g",
-        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ="
-    },
-    "25": {
-        "deps": {
-            "src/electron": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-Yo/ZvOLOPIktV5gzZK80LKVZb3xMXrzGkdQw9u4djoI=",
-                "owner": "electron",
-                "repo": "electron",
-                "rev": "v25.9.1"
-            },
-            "src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-nh8LrBKsfW6K/scG1GPUyp/tYiXOxZkmjtuTyAXC4zI=",
-                "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "114.0.5735.289",
-                "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
-            },
-            "src/buildtools/clang_format/script": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-IL6ReGM6+urkXfGYe1BBOv+0XgCZv5i3Lib1q9COhig=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git",
-                "rev": "f97059df7f8b205064625cdb5f97b56668a125ef"
-            },
-            "src/buildtools/third_party/libc++/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-i/FGU9F7HlGJJuwoFMV4V05pf4pvsqNxrPBN223YjZQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git",
-                "rev": "bff81b702ff4b7f74b1c0ed02a4bcf6c2744a90b"
-            },
-            "src/buildtools/third_party/libc++abi/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Zka8AHFtHA4AC/Pbzc3pVqz/k2GYZYc8CeP1IXxGBUM=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git",
-                "rev": "307bd163607c315d46103ebe1d68aab44bf93986"
-            },
-            "src/buildtools/third_party/libunwind/trunk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u6FMD83JBBusQuWU7Hx5HREvLIFWUA4iN4If8poaHbE=",
-                "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git",
-                "rev": "2795322d57001de8125cfdf18cef804acff69e35"
-            },
-            "src/chrome/test/data/perf/canvas_bench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=",
-                "url": "https://chromium.googlesource.com/chromium/canvas_bench.git",
-                "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732"
-            },
-            "src/chrome/test/data/perf/frame_rate/content": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=",
-                "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git",
-                "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9"
-            },
-            "src/chrome/test/data/xr/webvr_info": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=",
-                "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git",
-                "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248"
-            },
-            "src/docs/website": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0rI5HUWxfNU0mrWJ4ndzL1gnn4E67UVPFpqkEpQjgW0=",
-                "url": "https://chromium.googlesource.com/website.git",
-                "rev": "40cfbbdee67c7010ae103011fe5797858e692a79"
-            },
-            "src/media/cdm/api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=",
-                "url": "https://chromium.googlesource.com/chromium/cdm.git",
-                "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28"
-            },
-            "src/net/third_party/quiche/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-dUSUlZR7svBw35TX/ywZaa1Ko/yTeV/gE+GudhX981E=",
-                "url": "https://quiche.googlesource.com/quiche.git",
-                "rev": "02c69dd28eef7ef2618782e8d54d53c14ae64382"
-            },
-            "src/third_party/angle": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EpR25A5wDGnhK9EI2eSx8OsLtA4YvtDREi6x8ZfIVsM=",
-                "url": "https://chromium.googlesource.com/angle/angle.git",
-                "rev": "ce590bee825a18785f86d096f2c7be06428ccf88"
-            },
-            "src/third_party/angle/third_party/glmark2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=",
-                "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
-                "rev": "ca8de51fedb70bace5351c6b002eb952c747e889"
-            },
-            "src/third_party/angle/third_party/rapidjson/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=",
-                "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson",
-                "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f"
-            },
-            "src/third_party/angle/third_party/VK-GL-CTS/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-XcaAnz36QOg+A5XcyGg0Z9dLFjsDSUa0GzZpEuQYMTg=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS",
-                "rev": "e3b9db9ad121f46b7943d0152a25d5ee9afaa13c"
-            },
-            "src/third_party/content_analysis_sdk/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-p4N3zAUoM/ApBlYvLsCcH9QLArz7T4+miDGVuTbrZEc=",
-                "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git",
-                "rev": "b8744f00646d175057f0be7443c7c72a311b5381"
-            },
-            "src/third_party/dav1d/libdav1d": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FivzwqCvlY89q2znGvfNks+hje/iUFHcKPb19FyAZhM=",
-                "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git",
-                "rev": "d426d1c91075b9c552b12dd052af1cd0368f05a2"
-            },
-            "src/third_party/dawn": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HoLI1IlG+ThNERz6xr1doIzNhPWNcZabiyPEn15kvoM=",
-                "url": "https://dawn.googlesource.com/dawn.git",
-                "rev": "bf86a1c8d463d7b9a556b10a80d17990d413831c"
-            },
-            "src/third_party/dawn/third_party/glfw": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=",
-                "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
-                "rev": "62e175ef9fae75335575964c845a302447c012c7"
-            },
-            "src/third_party/dawn/third_party/webgpu-cts": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+FRGgJSs7sVEZ6B6PZPxmXvmsKtt/sC/ZAjw+NdOwPQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts",
-                "rev": "c7d833badcd37dc46a999ebeebbbde1368ff15b5"
-            },
-            "src/third_party/highway/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/highway.git",
-                "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a"
-            },
-            "src/third_party/google_benchmark/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-h2ryAQAuHI54Cni88L85e7Np4KATGVTRdDcmUvCNeWc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git",
-                "rev": "b177433f3ee2513b1075140c723d73ab8901790f"
-            },
-            "src/third_party/boringssl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oeV7oMNpPbQyi5RiRJm/KAVmO7JZ1QRdYoNgFXh7Snc=",
-                "url": "https://boringssl.googlesource.com/boringssl.git",
-                "rev": "4b6d950d8921d6dd5365de0797fcc97302b9561b"
-            },
-            "src/third_party/breakpad/breakpad": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+3Y4jCpcZ/++1Etpu/ZNuJvtTEX/Xn4HNfmx4nzcTtA=",
-                "url": "https://chromium.googlesource.com/breakpad/breakpad.git",
-                "rev": "bfde407de559c10d6cef861b3873ff287c24e761"
-            },
-            "src/third_party/cast_core/public/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pyjxQQYnsASHV2SxwZeIqkZJSpTrqyGg7Uee/GRp9VU=",
-                "url": "https://chromium.googlesource.com/cast_core/public",
-                "rev": "e42ef68aa05ac0c163805f60b9b19284f3c2dee3"
-            },
-            "src/third_party/catapult": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vK7rlGshfzPzaEdAxlP5vQ4USR/fC3BzPCh/rn0aAf4=",
-                "url": "https://chromium.googlesource.com/catapult.git",
-                "rev": "cae7ec667dee9f5c012b54ee9ffee94eb7beda14"
-            },
-            "src/third_party/ced/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git",
-                "rev": "ba412eaaacd3186085babcd901679a48863c7dd5"
-            },
-            "src/third_party/cld_3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git",
-                "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661"
-            },
-            "src/third_party/colorama/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=",
-                "url": "https://chromium.googlesource.com/external/colorama.git",
-                "rev": "3de9f013df4b470069d03d250224062e8cf15c49"
-            },
-            "src/third_party/cpuinfo/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZXsJVhqyeH/9dN0/1Cq0TCjmzwmsePX9YyuuaI9+puI=",
-                "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git",
-                "rev": "beb46ca0319882f262e682dd596880c92830687f"
-            },
-            "src/third_party/crc32c/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git",
-                "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6"
-            },
-            "src/third_party/cros_system_api": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0tnidX0O+jn1xbJMuSPsGPqwZBCKmfjWZY3aQdjM1gE=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git",
-                "rev": "73d6b816cacd86b886b4cc1e60f12ac1960f1d90"
-            },
-            "src/third_party/crossbench": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-IM81ppJX/ib//P2ESbQXMSL+BiOSVKbdXZdcMsq4xn0=",
-                "url": "https://chromium.googlesource.com/crossbench.git",
-                "rev": "cdc33384bfa900dfec28e6cf7b5f22cd7ff2c92f"
-            },
-            "src/third_party/depot_tools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7jPow77ejToE55KvQ7/eO0alMdMHcypfSyPceFAbZkw=",
-                "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git",
-                "rev": "6e714e6dfe62110c95fafed4bdeb365a69c6a77e"
-            },
-            "src/third_party/devtools-frontend/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jDE3eGkpcJYE5lt/dpIpKa6me3ZZnfY/9boL/YBnHoc=",
-                "url": "https://chromium.googlesource.com/devtools/devtools-frontend",
-                "rev": "3f60fe50e4790d1154659b9628e811bbcdf1aa4f"
-            },
-            "src/third_party/dom_distiller_js/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=",
-                "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git",
-                "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d"
-            },
-            "src/third_party/eigen3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Jf8sFjSMuXeiXm53srR2HahbBXszLOawdYk5H1UrK4c=",
-                "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git",
-                "rev": "554fe02ae3f3fbc2fd320c26a522f1e59b2d6342"
-            },
-            "src/third_party/farmhash/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git",
-                "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45"
-            },
-            "src/third_party/ffmpeg": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UjrZJBtOQiiqxtLb8x24axord3OFvyCcRcgDwiYE/jw=",
-                "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git",
-                "rev": "8d21d41d8bec5c0b266ee305d1a708dc5c23b594"
-            },
-            "src/third_party/flac": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/flac.git",
-                "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c"
-            },
-            "src/third_party/flatbuffers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-OQ8E+i30WRz/lPJmVDiF7+TPo4gZVu2Of9loxz3tswI=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git",
-                "rev": "a56f9ec50e908362e20254fcef28e62a2f148d91"
-            },
-            "src/third_party/fontconfig/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-0R+FEhtGXFiQWHEPRrJqaBW1JVfCojYI4NPDvYMBhoU=",
-                "url": "https://chromium.googlesource.com/external/fontconfig.git",
-                "rev": "06929a556fdc39c8fe12965b69070c8df520a33e"
-            },
-            "src/third_party/fp16/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git",
-                "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91"
-            },
-            "src/third_party/gemmlowp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git",
-                "rev": "13d57703abca3005d97b19df1f2db731607a7dc2"
-            },
-            "src/third_party/grpc/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=",
-                "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git",
-                "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737"
-            },
-            "src/third_party/freetype/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-qJBw5ocv4+2Xx8bU47QK8sw9Sl636iI+16cbaSNatHU=",
-                "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git",
-                "rev": "0a3836c97d5e84d6721ac0fd2839e8ae1b7be8d9"
-            },
-            "src/third_party/freetype-testing/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=",
-                "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git",
-                "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f"
-            },
-            "src/third_party/fxdiv/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git",
-                "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8"
-            },
-            "src/third_party/harfbuzz-ng/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WaR7U7PeHIffa+ZG85QG7pii/dLOI4+23xK0/hUf1ok=",
-                "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
-                "rev": "2175f5d050743317c563ec9414e0f83a47f7fbc4"
-            },
-            "src/third_party/emoji-segmenter/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git",
-                "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e"
-            },
-            "src/third_party/ots/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=",
-                "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git",
-                "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33"
-            },
-            "src/third_party/libgav1/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-DY2BBK+bH1lGZNEl3rMDsPb7Z52YMIQy/3N0achugE0=",
-                "url": "https://chromium.googlesource.com/codecs/libgav1.git",
-                "rev": "cd53f7c0d6a1c005e38874d143c8876d375bae70"
-            },
-            "src/third_party/googletest/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VYRjcM3dDY2FarviXyFMgSkXCqKfWXwtGAj2Msgm7zg=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git",
-                "rev": "af29db7ec28d6df1c7f0f745186884091e602e07"
-            },
-            "src/third_party/hunspell_dictionaries": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=",
-                "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git",
-                "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e"
-            },
-            "src/third_party/icu": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-47Xxb5IFbRmdO3oADjn13fm7aIYFXh2R4YVZIJAy22U=",
-                "url": "https://chromium.googlesource.com/chromium/deps/icu.git",
-                "rev": "d8daa943f64cd5dd2a55e9baf2e655ab4bfa5ae9"
-            },
-            "src/third_party/jsoncpp/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=",
-                "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git",
-                "rev": "42e892d96e47b1f6e29844cc705e148ec4856448"
-            },
-            "src/third_party/leveldatabase/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=",
-                "url": "https://chromium.googlesource.com/external/leveldb.git",
-                "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea"
-            },
-            "src/third_party/libFuzzer/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HG3KHhKQnr4hdnUK/2QhcxRdNxh38fhU54JKKzqZaio=",
-                "url": "https://chromium.googlesource.com/chromium/llvm-project/compiler-rt/lib/fuzzer.git",
-                "rev": "debe7d2d1982e540fbd6bd78604bf001753f9e74"
-            },
-            "src/third_party/centipede/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-yFZOn/Ga+D/b/1TwuOZdO/H4/GuX/HRB18rgYg7+rmE=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/centipede.git",
-                "rev": "a5a9071410e6e8134855b88461d0eb2c77d48cdd"
-            },
-            "src/third_party/libaddressinput/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=",
-                "url": "https://chromium.googlesource.com/external/libaddressinput.git",
-                "rev": "e8712e415627f22d0b00ebee8db99547077f39bd"
-            },
-            "src/third_party/libaom/source/libaom": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-j8b0xM7hHNqYIeUQjf+c7LyzcfZVJx64Xqo9gIRtsYU=",
-                "url": "https://aomedia.googlesource.com/aom.git",
-                "rev": "5a0903824082f41123e8365b5b99ddb6ced8971c"
-            },
-            "src/third_party/libavif/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3Oe8ouucu2eHpXov3WchwKQIqjhzuSFfNZ7ChEkQiTE=",
-                "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git",
-                "rev": "1af8cea3d1b3a05ecbcb0e39d99a7f0183e6ce13"
-            },
-            "src/third_party/nearby/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GfxGDSh2qkjIGgXgwH0xWAnjswOmGEVaXlci+tZS53g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git",
-                "rev": "37000006c224476104276bf74038d60967593814"
-            },
-            "src/third_party/securemessage/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git",
-                "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84"
-            },
-            "src/third_party/ukey2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git",
-                "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47"
-            },
-            "src/third_party/cros-components/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HgBDDfYvxYtHPfWlAs4aFCzDyhdcWnSP9nvCl8/UDfU=",
-                "url": "https://chromium.googlesource.com/external/google3/cros_components.git",
-                "rev": "0971e0c09f748dd476089b0e5136fe0b84e0bb4c"
-            },
-            "src/third_party/libdrm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ML89TBKDPHOd0YOVBmvLac+tyqgA5khDFK5vq4CCru8=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git",
-                "rev": "b9ca37b3134861048986b75896c0915cbf2e97f9"
-            },
-            "src/third_party/expat/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
-                "rev": "441f98d02deafd9b090aea568282b28f66a50e36"
-            },
-            "src/third_party/libipp/libipp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git",
-                "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f"
-            },
-            "src/third_party/libjpeg_turbo": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-QnXMR9qqRiYfV1sUJvKVvLQ9A022lYKbsrI9HOU9LCs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
-                "rev": "aa4075f116e4312537d0d3e9dbd5e31096539f94"
-            },
-            "src/third_party/liblouis/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=",
-                "url": "https://chromium.googlesource.com/external/liblouis-github.git",
-                "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376"
-            },
-            "src/third_party/libphonenumber/dist": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=",
-                "url": "https://chromium.googlesource.com/external/libphonenumber.git",
-                "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362"
-            },
-            "src/third_party/libprotobuf-mutator/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git",
-                "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf"
-            },
-            "src/third_party/libsrtp": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=",
-                "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git",
-                "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a"
-            },
-            "src/third_party/libsync/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=",
-                "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git",
-                "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6"
-            },
-            "src/third_party/libvpx/source/libvpx": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hIXEvCqbeMShGL1hCpJAMPbpuVfFM6Z4z5DPR3kfwb4=",
-                "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "27171320f5e36f7b18071bfa1d9616863ca1b4e8"
-            },
-            "src/third_party/libwebm/source": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=",
-                "url": "https://chromium.googlesource.com/webm/libwebm.git",
-                "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da"
-            },
-            "src/third_party/libwebp/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-zBMivj2tF5AWC+E/rHHEtxBel0i1YwGGBus+4h3PCYY=",
-                "url": "https://chromium.googlesource.com/webm/libwebp.git",
-                "rev": "fd7b5d48464475408d32d2611bdb6947d4246b97"
-            },
-            "src/third_party/libyuv": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-LLmTW05GxoXgNkLRHp3e6gb7glMgJo1moc6lPLVHk6w=",
-                "url": "https://chromium.googlesource.com/libyuv/libyuv.git",
-                "rev": "77c2121f7e6b8e694d6e908bbbe9be24214097da"
-            },
-            "src/third_party/lss": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=",
-                "url": "https://chromium.googlesource.com/linux-syscall-support.git",
-                "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521"
-            },
-            "src/third_party/material_color_utilities/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Cv1TjvOcswhp60LXblrLwY5jrudqKuDUqs1c//x49YE=",
-                "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git",
-                "rev": "bd6537fb1c4aa2164d97f96e78a9c826e360a0ed"
-            },
-            "src/third_party/minigbm/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=",
-                "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git",
-                "rev": "3018207f4d89395cc271278fb9a6558b660885f5"
-            },
-            "src/third_party/nasm": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-L+b3X3vsfpY6FSlIK/AHhxhmq2cXd50vND6uT6yn8Qs=",
-                "url": "https://chromium.googlesource.com/chromium/deps/nasm.git",
-                "rev": "7fc833e889d1afda72c06220e5bed8fb43b2e5ce"
-            },
-            "src/third_party/neon_2_sse/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git",
-                "rev": "a15b489e1222b2087007546b4912e21293ea86ff"
-            },
-            "src/third_party/openh264/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=",
-                "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264",
-                "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7"
-            },
-            "src/third_party/openscreen/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-MSJbCxYEJmhUrBUobKBgUhPV5yMhxxtKgU4NE2h9mFs=",
-                "url": "https://chromium.googlesource.com/openscreen",
-                "rev": "0964c1e903264ae2c388fc0eda3309c22b46e1a2"
-            },
-            "src/third_party/openscreen/src/third_party/tinycbor/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=",
-                "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git",
-                "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7"
-            },
-            "src/third_party/pdfium": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3FXPYcZZtfwzlkkakKczjoYbDURBA/QDCVdOn+98864=",
-                "url": "https://pdfium.googlesource.com/pdfium.git",
-                "rev": "9505810f66cc3dde86c30d072de53ca6fc8a45de"
-            },
-            "src/third_party/perfetto": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-AJWzQUYiml374LUZyku0ZTEM+lXAKsjc1YbsLfCfMGo=",
-                "url": "https://android.googlesource.com/platform/external/perfetto.git",
-                "rev": "f2da6df2f144e41e1c1428f11e8b388eaf8a2209"
-            },
-            "src/third_party/pthreadpool/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Pfvievhma1rOpbLdSrIX4KaZyRpdvrnjRzzPYl3fDQo=",
-                "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git",
-                "rev": "1787867f6183f056420e532eec640cba25efafea"
-            },
-            "src/third_party/pyelftools": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=",
-                "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git",
-                "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae"
-            },
-            "src/third_party/quic_trace/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git",
-                "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc"
-            },
-            "src/third_party/pywebsocket3/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git",
-                "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2"
-            },
-            "src/third_party/re2/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-9dMTr5VuQfteKK/xIqZUqLnGu26ZYlFUfZTZNgzKUN4=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/re2.git",
-                "rev": "11073deb73b3d01018308863c0bcdfd0d51d3e70"
-            },
-            "src/third_party/ruy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Sv2rfq3ghddpcJHn7Z2FTXpwKdzgJOiSGu6HhV6nXIQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git",
-                "rev": "363f252289fb7a1fba1703d99196524698cb884d"
-            },
-            "src/third_party/skia": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-7kD6XLaeriWGXM69rCcqPoAkX0NAFOFhFX/SBm710cA=",
-                "url": "https://skia.googlesource.com/skia.git",
-                "rev": "ea1a1635fcf5b1f68b59cd3f8649a0abfab65cfd"
-            },
-            "src/third_party/smhasher/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=",
-                "url": "https://chromium.googlesource.com/external/smhasher.git",
-                "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f"
-            },
-            "src/third_party/snappy/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git",
-                "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c"
-            },
-            "src/third_party/sqlite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-MO4fd5ROy8vtUeGYeWaMT6uO/zYUruPCPjHnZT9elcI=",
-                "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git",
-                "rev": "f6752b7ed1fe3cc1491c0c47ec5804ee2bd0e59b"
-            },
-            "src/third_party/swiftshader": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-H2A42dNT1DgRknyL3lzHlWbxURskjTqzvqd097w4Tho=",
-                "url": "https://swiftshader.googlesource.com/SwiftShader.git",
-                "rev": "23e97b79fb9193bf88e79c16c6a577c680edb2d6"
-            },
-            "src/third_party/text-fragments-polyfill/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=",
-                "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git",
-                "rev": "c036420683f672d685e27415de0a5f5e85bdc23f"
-            },
-            "src/third_party/tflite/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-TdBBSPfUCIst1G6BixqcOx9dQiN6f1wmSRS9Gjh4K1U=",
-                "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git",
-                "rev": "ab14323eaf8522fa608fe047d99249bc844c47cd"
-            },
-            "src/third_party/vulkan-deps": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-4Mwtu/Qmz0wAm8YCWYq9ogzKLg7nEwgka3+OFI/s+fs=",
-                "url": "https://chromium.googlesource.com/vulkan-deps",
-                "rev": "a52479099cf2862650df9dbc12e2e202e345901e"
-            },
-            "src/third_party/vulkan-deps/glslang/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UOJ4O1zRbW0qxj2oxSKSdvOwZOD907Q0flXxQjYavuQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang",
-                "rev": "9c7fd1a33e5cecbe465e1cd70170167d5e40d398"
-            },
-            "src/third_party/vulkan-deps/spirv-cross/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UmzXWpjwGgLijP+BumSK1OW+8OrtWjBXgIt4vzI8ZvQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross",
-                "rev": "fc9bee27f445644635e83ef111ef54944bb6e3af"
-            },
-            "src/third_party/vulkan-deps/spirv-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-a7OjEH3WczZa8VFvPGGh/J+8nmtYDf0eSUuxU20XSJI=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers",
-                "rev": "cfbe4feef20c3c0628712c2792624f0221e378ac"
-            },
-            "src/third_party/vulkan-deps/spirv-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-UfcBkLIDSEgKyEz11Tsf3FIM+R6ZboWmDVKR1xu6q6o=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools",
-                "rev": "25ad5e19f193429b737433d5f6151062ddbc1680"
-            },
-            "src/third_party/vulkan-deps/vulkan-headers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-bilEf59jBDgl5WUgOZpRSMkp33C/rssj37rdvHaxRGU=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers",
-                "rev": "8a397558c4d2a4bf9e64e900c45a7e65664c32b2"
-            },
-            "src/third_party/vulkan-deps/vulkan-loader/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-gLNrvpBDnKOr03e5TKxMUVCQ70fI27x3MSLVjMkw2d8=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader",
-                "rev": "f035e57c171ce9009f2c47b5488a66c653843501"
-            },
-            "src/third_party/vulkan-deps/vulkan-tools/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-VEBPgOGdrzQoIYU7BTioa6m/OH1TUGXGaF7FH5B/h2M=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools",
-                "rev": "df10a2759b4b60d59b735882217a749d8e5be660"
-            },
-            "src/third_party/vulkan-deps/vulkan-validation-layers/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-JqLhqdqKX2n0ifLfS7ymOL2kcelUjdmsLKqmkqPwTQU=",
-                "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers",
-                "rev": "3d530f6921f7a9defa297eec25fcef77c9b96282"
-            },
-            "src/third_party/vulkan_memory_allocator": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-rARuPHa/gEAOTM8/Fnob0bU0Jv+UKLiwe3o0UGWYlME=",
-                "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
-                "rev": "ebe84bec02c041d28f902da0214bf442743fc907"
-            },
-            "src/third_party/wayland/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-fcZtJP/8Ck+9WyPvt3AhogwPae5+gAxdIaEMp7eSr44=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git",
-                "rev": "c7473676b8abc682e820546287044cee3bca9147"
-            },
-            "src/third_party/wayland-protocols/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-3QK+ZN6IFUFkDxySSoQwP1J3JnTlD7JPaUk6Tr/d/k4=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git",
-                "rev": "4624cfaaf563cd7be5e2e2087c8de6d3a48ea867"
-            },
-            "src/third_party/wayland-protocols/kde": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=",
-                "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git",
-                "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e"
-            },
-            "src/third_party/wayland-protocols/gtk": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git",
-                "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0"
-            },
-            "src/third_party/webdriver/pylib": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=",
-                "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git",
-                "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04"
-            },
-            "src/third_party/webgl/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-BRF0/WxbwxTby1o+zFHU42s7xYJUmcsgfu4DFX97jRU=",
-                "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git",
-                "rev": "d1b65aa5a88f6efd900604dfcda840154e9f16e2"
-            },
-            "src/third_party/webgpu-cts/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pSwkkIcfrWP6NKNFtHlyq2Z7zYqbKU6V/GXMqH6rYBs=",
-                "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git",
-                "rev": "7d2d22292ce5af280c8c5849ed7f0679d7ab70e9"
-            },
-            "src/third_party/webrtc": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-J/XEHY4y9j4bg0+ORkDydVOvtncPLMN/9cy073lpMOM=",
-                "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "151be743d4c83671565f9c1eada3f4a0b2e44dea"
-            },
-            "src/third_party/wuffs/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-HP8Vf1C9DuA9H+busf3lFoF9SsYqviLKv0l73CxmNEI=",
-                "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
-                "rev": "fe9d08f2b6e80af691bfb1a718e144c49a1b9eba"
-            },
-            "src/third_party/weston/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-EKl6oIM8Vml9wtSIb9ExFIuuJohbU/rsG3JVS5thaUU=",
-                "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git",
-                "rev": "420cfd00f2de91de74bd9d4d8348e43c582d29f0"
-            },
-            "src/third_party/xdg-utils": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-t3uV9JkkQQIwmezzSoEdTMLSizZdLQB7eLKTRQGH4kQ=",
-                "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git",
-                "rev": "d80274d5869b17b8c9067a1022e4416ee7ed5e0d"
-            },
-            "src/third_party/xnnpack/src": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-vsn3lrog5affus0qxc4TK2Z/tdd/E6hBYeUQRWoDZPQ=",
-                "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git",
-                "rev": "b9d4073a6913891ce9cbd8965c8d506075d2a45a"
-            },
-            "src/tools/page_cycler/acid3": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-+7Ynz7k/dWdd4Wo7Rjzvc8GY9gTsjzjG3GdNsuDKszY=",
-                "url": "https://chromium.googlesource.com/chromium/deps/acid3.git",
-                "rev": "6be0a66a1ebd7ebc5abc1b2f405a945f6d871521"
-            },
-            "src/v8": {
-                "fetcher": "fetchFromGitiles",
-                "hash": "sha256-pmam8TVqtxmfc0V1gy2R1jhW+dF2ybzeKbGZKAbJveY=",
-                "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "978934af4a291282d994fc184d5dc03a82deb5df"
-            },
-            "src/third_party/nan": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-tur5CExvwuSmwqBwH9o8OZWzDuifRybjEb+4/tm6exk=",
-                "owner": "nodejs",
-                "repo": "nan",
-                "rev": "16fa32231e2ccd89d2804b3f765319128b20c4ac"
-            },
-            "src/third_party/electron_node": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-XBm+WYXQ8DM1HU6NFciGSfkbHDXPbTyg0gScQCbbpQU=",
-                "owner": "nodejs",
-                "repo": "node",
-                "rev": "v18.15.0"
-            },
-            "src/third_party/squirrel.mac": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=",
-                "owner": "Squirrel",
-                "repo": "Squirrel.Mac",
-                "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38"
-            },
-            "src/third_party/squirrel.mac/vendor/ReactiveObjC": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=",
-                "owner": "ReactiveCocoa",
-                "repo": "ReactiveObjC",
-                "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76"
-            },
-            "src/third_party/squirrel.mac/vendor/Mantle": {
-                "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=",
-                "owner": "Mantle",
-                "repo": "Mantle",
-                "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
-            }
-        },
-        "version": "25.9.1",
-        "modules": "116",
-        "chrome": "114.0.5735.289",
-        "node": "18.15.0",
-        "chromium": {
-            "version": "114.0.5735.289",
-            "deps": {
-                "gn": {
-                    "version": "2023-04-19",
-                    "url": "https://gn.googlesource.com/gn",
-                    "rev": "5a004f9427a050c6c393c07ddb85cba8ff3849fa",
-                    "hash": "sha256-U0rinjJAToVh4zCBd/9I3O4McxW88b7Bp6ibmmqCuQc="
-                }
-            }
-        },
-        "chromium_npm_hash": "sha256-WFkyT1V4jNkWUyyHF68yEe50GhdlNZJBXuQvVVGPk6A=",
-        "electron_yarn_hash": "0fq44b91ha1lbgakwfz16z0g10y66c7m8gvlkg1ci81rzjrj0qpz"
+        "chromium_npm_hash": "sha256-5cjqpYB45nw2gop54VP+tL7/0w63nQGfQ4x6a6KS7XQ=",
+        "electron_yarn_hash": "05wkb1m0yjbai4153y49kwr1v2lj14fg75aqlvmmrhf3bxp9lg5g"
     }
 }
diff --git a/pkgs/development/tools/electron/version-old.patch b/pkgs/development/tools/electron/version-old.patch
deleted file mode 100644
index 00562225d7677..0000000000000
--- a/pkgs/development/tools/electron/version-old.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/electron/BUILD.gn b/electron/BUILD.gn
-index c905891eb8..f2cf11fe88 100644
---- a/electron/BUILD.gn
-+++ b/electron/BUILD.gn
-@@ -111,8 +111,6 @@ electron_version = exec_script("script/print-version.py",
-                                [],
-                                "trim string",
-                                [
--                                 ".git/packed-refs",
--                                 ".git/HEAD",
-                                  "script/lib/get-version.js",
-                                ])
- 
-diff --git a/electron/script/lib/get-version.js b/electron/script/lib/get-version.js
-index 45a120482b..ddaf8ab60e 100644
---- a/electron/script/lib/get-version.js
-+++ b/electron/script/lib/get-version.js
-@@ -1,22 +1 @@
--const { spawnSync } = require('child_process');
--const path = require('path');
--
--module.exports.getElectronVersion = () => {
--  // Find the nearest tag to the current HEAD
--  // This is equivilant to our old logic of "use a value in package.json" for the following reasons
--  //
--  // 1. Whenever we updated the package.json we ALSO pushed a tag with the same version
--  // 2. Whenever we _reverted_ a bump all we actually did was push a commit that deleted the tag and changed the version number back
--  //
--  // The only difference in the "git describe" technique is that technically a commit can "change" it's version
--  // number if a tag is created / removed retroactively.  i.e. the first time a commit is pushed it will be 1.2.3
--  // and after the tag is made rebuilding the same commit will result in it being 1.2.4
--  const output = spawnSync('git', ['describe', '--tags', '--abbrev=0'], {
--    cwd: path.resolve(__dirname, '..', '..')
--  });
--  if (output.status !== 0) {
--    console.error(output.stderr);
--    throw new Error('Failed to get current electron version');
--  }
--  return output.stdout.toString().trim().replace(/^v/g, '');
--};
-+module.exports.getElectronVersion = () => "@version@";
-
diff --git a/pkgs/development/tools/electron/version.patch b/pkgs/development/tools/electron/version.patch
index 6edb64a23eaf0..00562225d7677 100644
--- a/pkgs/development/tools/electron/version.patch
+++ b/pkgs/development/tools/electron/version.patch
@@ -16,8 +16,8 @@ index 45a120482b..ddaf8ab60e 100644
 --- a/electron/script/lib/get-version.js
 +++ b/electron/script/lib/get-version.js
 @@ -1,22 +1 @@
--const { spawnSync } = require('node:child_process');
--const path = require('node:path');
+-const { spawnSync } = require('child_process');
+-const path = require('path');
 -
 -module.exports.getElectronVersion = () => {
 -  // Find the nearest tag to the current HEAD
diff --git a/pkgs/development/tools/fastgron/default.nix b/pkgs/development/tools/fastgron/default.nix
index 77c09fef99f3d..3e30d87d0ddea 100644
--- a/pkgs/development/tools/fastgron/default.nix
+++ b/pkgs/development/tools/fastgron/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastgron";
-  version = "0.7.0";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "adamritter";
     repo = "fastgron";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-IBs6oC+dbssAkUGk84vXteSlO6j88LZlmlmcV77M2YM=";
+    hash = "sha256-dAfFSQ/UbAovQQr5AnCsyQtq1JkdQjvlG/SbuFnTx0E=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix
index 1a7fb2a91dcc0..8e0b2689984ef 100644
--- a/pkgs/development/tools/memray/default.nix
+++ b/pkgs/development/tools/memray/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "memray";
-  version = "1.10.0";
+  version = "1.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bloomberg";
-    repo = pname;
-    rev = "refs/tags/${version}";
+    repo = "memray";
+    rev = "refs/tags/v${version}";
     hash = "sha256-DaJ1Hhg7q4ckA5feUx0twOsmy28v5aBBCTUAkn43xAo=";
   };
 
@@ -63,9 +63,9 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Memory profiler for Python";
     homepage = "https://bloomberg.github.io/memray/";
+    changelog = "https://github.com/bloomberg/memray/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
-    changelog = "https://github.com/bloomberg/memray/releases/tag/${version}";
   };
 }
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index e417bc217f8db..8d62f1a51b7a1 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "minizinc";
-  version = "2.7.6";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = finalAttrs.version;
-    sha256 = "sha256-1+bFF79lYt5RAx5gfNg7J3iB7ExxNgFUmBIcg6/hfQs=";
+    sha256 = "sha256-l6q9bRreQXn8jA1SSHS4UYN+SlPVCQGtJ1mRiJ3wFMU=";
   };
 
   nativeBuildInputs = [ bison cmake flex jq ];
diff --git a/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch b/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch
deleted file mode 100644
index 41ce4540d2ddc..0000000000000
--- a/pkgs/development/tools/misc/gdb/32-bit-BFD_VMA-format.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Fix iWerror=format build for 32-bit systems.
-https://sourceware.org/pipermail/gdb-patches/2022-May/189288.html
---- a/sim/cris/sim-if.c
-+++ b/sim/cris/sim-if.c
-@@ -257,7 +257,8 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 
-       if (verbose)
- 	sim_io_printf (sd,
--		       "Loading segment at 0x%" BFD_VMA_FMT "x, size 0x%lx\n",
-+		       "Loading segment at 0x%" BFD_VMA_FMT "x, "
-+		       "size 0x%" BFD_VMA_FMT "x\n",
- 		       lma, phdr[i].p_filesz);
- 
-       if (bfd_seek (abfd, phdr[i].p_offset, SEEK_SET) != 0
-@@ -265,7 +266,7 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 	{
- 	  sim_io_eprintf (sd,
- 			  "%s: could not read segment at 0x%" BFD_VMA_FMT "x, "
--			  "size 0x%lx\n",
-+			  "size 0x%" BFD_VMA_FMT "x\n",
- 			  STATE_MY_NAME (sd), lma, phdr[i].p_filesz);
- 	  free (buf);
- 	  return FALSE;
-@@ -275,7 +276,7 @@ cris_load_elf_file (SIM_DESC sd, struct bfd *abfd, sim_write_fn do_write)
- 	{
- 	  sim_io_eprintf (sd,
- 			  "%s: could not load segment at 0x%" BFD_VMA_FMT "x, "
--			  "size 0x%lx\n",
-+			  "size 0x%" BFD_VMA_FMT "x\n",
- 			  STATE_MY_NAME (sd), lma, phdr[i].p_filesz);
- 	  free (buf);
- 	  return FALSE;
-@@ -572,7 +573,8 @@ cris_handle_interpreter (SIM_DESC sd, struct bfd *abfd)
- 	 memory area, so we go via a temporary area.  Luckily, the
- 	 interpreter is supposed to be small, less than 0x40000
- 	 bytes.  */
--      sim_do_commandf (sd, "memory region 0x%" BFD_VMA_FMT "x,0x%lx",
-+      sim_do_commandf (sd, "memory region 0x%" BFD_VMA_FMT "x,"
-+		       "0x%" BFD_VMA_FMT "x",
- 		       interp_load_addr, interpsiz);
- 
-       /* Now that memory for the interpreter is defined, load it.  */
---- a/sim/m32c/syscalls.c
-+++ b/sim/m32c/syscalls.c
-@@ -299,8 +299,8 @@ m32c_syscall (int id)
- 
- 	rv = gettimeofday (&tv, 0);
- 	if (trace)
--	  printf ("gettimeofday: %ld sec %ld usec to 0x%x\n", tv.tv_sec,
--		  tv.tv_usec, tvaddr);
-+	  printf ("gettimeofday: %lld sec %lld usec to 0x%x\n",
-+		  (long long)tv.tv_sec, (long long)tv.tv_usec, tvaddr);
- 	mem_put_si (tvaddr, tv.tv_sec);
- 	mem_put_si (tvaddr + 4, tv.tv_usec);
- 	put_reg (r0, rv);
---- a/sim/rx/syscalls.c
-+++ b/sim/rx/syscalls.c
-@@ -270,8 +270,8 @@ rx_syscall (int id)
- 
- 	rv = gettimeofday (&tv, 0);
- 	if (trace)
--	  printf ("gettimeofday: %ld sec %ld usec to 0x%x\n", tv.tv_sec,
--		  tv.tv_usec, tvaddr);
-+	  printf ("gettimeofday: %lld sec %lld usec to 0x%x\n",
-+		  (long long)tv.tv_sec, (long long)tv.tv_usec, tvaddr);
- 	mem_put_si (tvaddr, tv.tv_sec);
- 	mem_put_si (tvaddr + 4, tv.tv_usec);
- 	put_reg (1, rv);
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 1948b6f8768a1..515ad042b2df1 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.11.0";
+  version = "5.12.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bN2LvuB/BD21SL5fG9QNPpR9hUk52U2BJJ6TFMhwDBk=";
+    hash = "sha256-NYtsfHdpkh+gPUF8moNEf4thQ9DliIALRrzcE2NSHsw=";
   };
 
-  cargoHash = "sha256-V4hANIkReF7EEtFsBv1hA/Ftre6YQPs69LpG/GR0Egc=";
+  cargoHash = "sha256-J7T4SF2Ksuq7T2GRA/hUFZnrY2jBWmKD/sTjwS9/Kws=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   # generate the man page
   postInstall = lib.optionalString (!isCross) ''
     # TexLab builds man page separately in CI:
-    # https://github.com/latex-lsp/texlab/blob/v5.11.0/.github/workflows/publish.yml#L117-L121
+    # https://github.com/latex-lsp/texlab/blob/v5.12.0/.github/workflows/publish.yml#L117-L121
     help2man --no-info "$out/bin/texlab" > texlab.1
     installManPage texlab.1
   '';
diff --git a/pkgs/development/tools/mongosh/package-lock.json b/pkgs/development/tools/mongosh/package-lock.json
index 13776023623d3..f4779128f3a02 100644
--- a/pkgs/development/tools/mongosh/package-lock.json
+++ b/pkgs/development/tools/mongosh/package-lock.json
@@ -1,15 +1,15 @@
 {
   "name": "mongosh",
-  "version": "2.0.1",
+  "version": "2.1.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "mongosh",
-      "version": "2.0.1",
+      "version": "2.1.1",
       "license": "Apache-2.0",
       "dependencies": {
-        "@mongosh/cli-repl": "2.0.1"
+        "@mongosh/cli-repl": "2.1.1"
       },
       "bin": {
         "mongosh": "bin/mongosh.js"
@@ -122,46 +122,48 @@
       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
     },
     "node_modules/@aws-sdk/client-cognito-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.418.0.tgz",
-      "integrity": "sha512-8Gib2gMbfCfxNz/FgSRijl47pnmV/rVvyRNoYtk24xndUydhyXKFTB0cqGVDpPv7eRb3wWQ9YZYVuaBDnEdZ1A==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.465.0.tgz",
+      "integrity": "sha512-Ku1034M9jjsXbLBS5DwQfcTwWwu2oxtmdbsxvEm4I7IUA/h1++hKPzZuJ6L9zo7I7GbA+WnCryviUdtbgCqTfA==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/client-sts": "3.418.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/client-sts": "3.465.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -169,43 +171,45 @@
       }
     },
     "node_modules/@aws-sdk/client-sso": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.418.0.tgz",
-      "integrity": "sha512-fakz3YeSW/kCAOJ5w4ObrrQBxsYO8sU8i6WHLv6iWAsYZKAws2Mqa8g89P61+GitSH4z9waksdLouS6ep78/5A==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.465.0.tgz",
+      "integrity": "sha512-JXDBa3Sl+LS0KEOs0PZoIjpNKEEGfeyFwdnRxi8Y1hMXNEKyJug1cI2Psqu2olpn4KeXwoP1BuITppZYdolOew==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -213,46 +217,48 @@
       }
     },
     "node_modules/@aws-sdk/client-sts": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.418.0.tgz",
-      "integrity": "sha512-L0n0Hw+Pm+BhXTN1bYZ0y4JAMArYgazdHf1nUSlEHndgZicCCuQtlMLxfo3i/IbtWi0dzfZcZ9d/MdAM8p4Jyw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.465.0.tgz",
+      "integrity": "sha512-rHi9ba6ssNbVjlWSdhi4C5newEhGhzkY9UE4KB+/Tj21zXfEP8r6uIltnQXPtun2SdA95Krh/yS1qQ4MRuzqyA==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-sdk-sts": "3.418.0",
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/region-config-resolver": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@aws-sdk/core": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-sdk-sts": "3.465.0",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "fast-xml-parser": "4.2.5",
         "tslib": "^2.5.0"
       },
@@ -260,15 +266,27 @@
         "node": ">=14.0.0"
       }
     },
+    "node_modules/@aws-sdk/core": {
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.465.0.tgz",
+      "integrity": "sha512-fHSIw/Rgex3KbrEKn6ZrUc2VcsOTpdBMeyYtfmsTOLSyDDOG9k3jelOvVbCbrK5N6uEUSM8hrnySEKg94UB0cg==",
+      "dependencies": {
+        "@smithy/smithy-client": "^2.1.15",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
     "node_modules/@aws-sdk/credential-provider-cognito-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.418.0.tgz",
-      "integrity": "sha512-MakYZsT7fkG1W9IgkBz7PTXG/e6YD2oSEk+hPgwfdMv0YX76qjTU02B2qbbKSGtXichX73MNUPOvygF5XAi6oA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.465.0.tgz",
+      "integrity": "sha512-bvZNgA2Cx54eTSZm2bXCUbz5rQjcNqTONuvjNIl1CFK9lEj3o3rRU1EqAwX6AIrT1OIstnDr1Z6llxjwvTLqiA==",
       "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/client-cognito-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -276,13 +294,32 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.418.0.tgz",
-      "integrity": "sha512-e74sS+x63EZUBO+HaI8zor886YdtmULzwKdctsZp5/37Xho1CVUNtEC+fYa69nigBD9afoiH33I4JggaHgrekQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.465.0.tgz",
+      "integrity": "sha512-fku37AgkB9KhCuWHE6mfvbWYU0X84Df6MQ60nYH7s/PiNEhkX2cVI6X6kOKjP1MNIwRcYt+oQDvplVKdHume+A==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-http": {
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.465.0.tgz",
+      "integrity": "sha512-Rj/zFgP0i0tpuaO+sm1csGU7NLQa1F9eE9c3VKbYECiXAZwrGJnY1TdG2iSsLpkMtyfOhRrRvAuYAUCUemWg3g==",
+      "dependencies": {
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/node-http-handler": "^2.1.9",
+        "@smithy/property-provider": "^2.0.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-stream": "^2.0.20",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -290,19 +327,19 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.418.0.tgz",
-      "integrity": "sha512-LTAeKKV85unlSqGNIeqEZ4N9gufaSoH+670n5YTUEk564zHCkUQW0PJomzLF5jKBco6Yfzv6rPBTukd+x9XWqw==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.465.0.tgz",
+      "integrity": "sha512-B1MFufvdToAEMtfszilVnKer2S7P/OfMhkCizq2zuu8aU/CquRyHvKEQgWdvqunUDrFnVTc0kUZgsbBY0uPjLg==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -310,20 +347,20 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.418.0.tgz",
-      "integrity": "sha512-VveTjtSC6m8YXj3fQDkMKEZuHv+CR2Z4u/NAN51Fi4xOtIWUtOBj5rfZ8HmBYoBjRF0DtRlPXuMiNnXAzTctfQ==",
-      "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-ini": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.465.0.tgz",
+      "integrity": "sha512-R3VA9yJ0BvezvrDxcgPTv9VHbVPbzchLTrX5jLFSVuW/lPPYLUi/Cjtyg9C9Y7qRfoQS4fNMvSRhwO5/TF68gA==",
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-ini": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -331,14 +368,14 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.418.0.tgz",
-      "integrity": "sha512-xPbdm2WKz1oH6pTkrJoUmr3OLuqvvcPYTQX0IIlc31tmDwDWPQjXGGFD/vwZGIZIkKaFpFxVMgAzfFScxox7dw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.465.0.tgz",
+      "integrity": "sha512-YE6ZrRYwvb8969hWQnr4uvOJ8RU0JrNsk3vWTe/czly37ioZUEhi8jmpQp4f2mX/6U6buoFGWu5Se3VCdw2SFQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -346,16 +383,16 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.418.0.tgz",
-      "integrity": "sha512-tUF5Hg/HfaU5t+E7IuvohYlodSIlBXa28xAJPPFxhKrUnvP6AIoW6JLazOtCIQjQgJYEUILV29XX+ojUuITcaw==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.465.0.tgz",
+      "integrity": "sha512-tLIP/4JQIJpn8yIg6RZRQ2nmvj5i4wLZvYvY4RtaFv2JrQUkmmTfyOZJuOBrIFRwJjx0fHmFu8DJjcOhMzllIQ==",
       "dependencies": {
-        "@aws-sdk/client-sso": "3.418.0",
-        "@aws-sdk/token-providers": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/client-sso": "3.465.0",
+        "@aws-sdk/token-providers": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -363,13 +400,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.418.0.tgz",
-      "integrity": "sha512-do7ang565n9p3dS1JdsQY01rUfRx8vkxQqz5M8OlcEHBNiCdi2PvSjNwcBdrv/FKkyIxZb0TImOfBSt40hVdxQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.465.0.tgz",
+      "integrity": "sha512-B4Y75fMTZIniEU0yyqat+9NsQbYlXdqP5Y3bShkaG3pGLOHzF/xMlWuG+D3kkQ806PLYi+BgfVls4BcO+NyVcA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -377,24 +414,25 @@
       }
     },
     "node_modules/@aws-sdk/credential-providers": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.418.0.tgz",
-      "integrity": "sha512-atEybTA0jvP9CpBCPKCoiPz1hjJ/lbRxf67r+fpAqPtfQKutGq/jZm78Yz5kV9F/NJEW2mK2GR/BslCAHc4H8g==",
-      "dependencies": {
-        "@aws-sdk/client-cognito-identity": "3.418.0",
-        "@aws-sdk/client-sso": "3.418.0",
-        "@aws-sdk/client-sts": "3.418.0",
-        "@aws-sdk/credential-provider-cognito-identity": "3.418.0",
-        "@aws-sdk/credential-provider-env": "3.418.0",
-        "@aws-sdk/credential-provider-ini": "3.418.0",
-        "@aws-sdk/credential-provider-node": "3.418.0",
-        "@aws-sdk/credential-provider-process": "3.418.0",
-        "@aws-sdk/credential-provider-sso": "3.418.0",
-        "@aws-sdk/credential-provider-web-identity": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.465.0.tgz",
+      "integrity": "sha512-mtndyew33Fnv30zVCQLBkqvUeFvjAlgAe3yM/10U//dxsOW3pfYWZ6sMzDbuXHLCyROQXJqZfnsQKQs0rOaO0Q==",
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.465.0",
+        "@aws-sdk/client-sso": "3.465.0",
+        "@aws-sdk/client-sts": "3.465.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.465.0",
+        "@aws-sdk/credential-provider-env": "3.465.0",
+        "@aws-sdk/credential-provider-http": "3.465.0",
+        "@aws-sdk/credential-provider-ini": "3.465.0",
+        "@aws-sdk/credential-provider-node": "3.465.0",
+        "@aws-sdk/credential-provider-process": "3.465.0",
+        "@aws-sdk/credential-provider-sso": "3.465.0",
+        "@aws-sdk/credential-provider-web-identity": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/credential-provider-imds": "^2.0.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -402,13 +440,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-host-header": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.418.0.tgz",
-      "integrity": "sha512-LrMTdzalkPw/1ujLCKPLwCGvPMCmT4P+vOZQRbSEVZPnlZk+Aj++aL/RaHou0jL4kJH3zl8iQepriBt4a7UvXQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.465.0.tgz",
+      "integrity": "sha512-nnGva8eplwEJqdVzcb+xF2Fwua0PpiwxMEvpnIy73gNbetbJdgFIprryMLYes00xzJEqnew+LWdpcd3YyS34ZA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -416,12 +454,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-logger": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.418.0.tgz",
-      "integrity": "sha512-StKGmyPVfoO/wdNTtKemYwoJsqIl4l7oqarQY7VSf2Mp3mqaa+njLViHsQbirYpyqpgUEusOnuTlH5utxJ1NsQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.465.0.tgz",
+      "integrity": "sha512-aGMx1aSlzDDgjZ7fSxLhGD5rkyCfHwq04TSB5fQAgDBqUjj4IQXZwmNglX0sLRmArXZtDglUVESOfKvTANJTPg==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -429,13 +467,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-recursion-detection": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.418.0.tgz",
-      "integrity": "sha512-kKFrIQglBLUFPbHSDy1+bbe3Na2Kd70JSUC3QLMbUHmqipXN8KeXRfAj7vTv97zXl0WzG0buV++WcNwOm1rFjg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.465.0.tgz",
+      "integrity": "sha512-ol3dlsTnryBhV5qkUvK5Yg3dRaV1NXIxYJaIkShrl8XAv4wRNcDJDmO5NYq5eVZ3zgV1nv6xIpZ//dDnnf6Z+g==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -443,13 +481,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-sdk-sts": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.418.0.tgz",
-      "integrity": "sha512-cW8ijrCTP+mgihvcq4+TbhAcE/we5lFl4ydRqvTdtcSnYQAVQADg47rnTScQiFsPFEB3NKq7BGeyTJF9MKolPA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.465.0.tgz",
+      "integrity": "sha512-PmTM5ycUe1RLAPrQXLCR8JzKamJuKDB0aIW4rx4/skurzWsEGRI47WHggf9N7sPie41IBGUhRbXcf7sfPjvI3Q==",
       "dependencies": {
-        "@aws-sdk/middleware-signing": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/middleware-signing": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -457,16 +495,16 @@
       }
     },
     "node_modules/@aws-sdk/middleware-signing": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.418.0.tgz",
-      "integrity": "sha512-onvs5KoYQE8OlOE740RxWBGtsUyVIgAo0CzRKOQO63ZEYqpL1Os+MS1CGzdNhvQnJgJruE1WW+Ix8fjN30zKPA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.465.0.tgz",
+      "integrity": "sha512-d90KONWXSC3jA0kqJ6u8ygS4LoMg1TmSM7bPhHyibJVAEhnrlB4Aq1CWljNbbtphGpdKy5/XRM9O0/XCXWKQ4w==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/protocol-http": "^3.0.5",
+        "@smithy/protocol-http": "^3.0.9",
         "@smithy/signature-v4": "^2.0.0",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/types": "^2.5.0",
+        "@smithy/util-middleware": "^2.0.6",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -474,14 +512,14 @@
       }
     },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.418.0.tgz",
-      "integrity": "sha512-Jdcztg9Tal9SEAL0dKRrnpKrm6LFlWmAhvuwv0dQ7bNTJxIxyEFbpqdgy7mpQHsLVZgq1Aad/7gT/72c9igyZw==",
-      "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.465.0.tgz",
+      "integrity": "sha512-1MvIWMj2nktLOJN8Kh4jiTK28oL85fTeoXHZ+V8xYMzont6C6Y8gQPtg7ka+RotHwqWMrovfnANisnX8EzEP/Q==",
+      "dependencies": {
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@smithy/protocol-http": "^3.0.9",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -489,14 +527,14 @@
       }
     },
     "node_modules/@aws-sdk/region-config-resolver": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.418.0.tgz",
-      "integrity": "sha512-lJRZ/9TjZU6yLz+mAwxJkcJZ6BmyYoIJVo1p5+BN//EFdEmC8/c0c9gXMRzfISV/mqWSttdtccpAyN4/goHTYA==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.465.0.tgz",
+      "integrity": "sha512-h0Phd2Ae873dsPSWuxqxz2yRC5NMeeWxQiJPh4j42HF8g7dZK7tMQPkYznAoA/BzSBsEX87sbr3MmigquSyUTA==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
         "@smithy/util-config-provider": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.6",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -504,44 +542,46 @@
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.418.0.tgz",
-      "integrity": "sha512-9P7Q0VN0hEzTngy3Sz5eya2qEOEf0Q8qf1vB3um0gE6ID6EVAdz/nc/DztfN32MFxk8FeVBrCP5vWdoOzmd72g==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.465.0.tgz",
+      "integrity": "sha512-NaZbsyLs3whzRHGV27hrRwEdXB/tEK6tqn/aCNBy862LhVzocY1A+eYLKrnrvpraOOd2vyAuOtvvB3RMIdiL6g==",
       "dependencies": {
         "@aws-crypto/sha256-browser": "3.0.0",
         "@aws-crypto/sha256-js": "3.0.0",
-        "@aws-sdk/middleware-host-header": "3.418.0",
-        "@aws-sdk/middleware-logger": "3.418.0",
-        "@aws-sdk/middleware-recursion-detection": "3.418.0",
-        "@aws-sdk/middleware-user-agent": "3.418.0",
-        "@aws-sdk/types": "3.418.0",
-        "@aws-sdk/util-endpoints": "3.418.0",
-        "@aws-sdk/util-user-agent-browser": "3.418.0",
-        "@aws-sdk/util-user-agent-node": "3.418.0",
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/hash-node": "^2.0.9",
-        "@smithy/invalid-dependency": "^2.0.9",
-        "@smithy/middleware-content-length": "^2.0.11",
-        "@smithy/middleware-endpoint": "^2.0.9",
-        "@smithy/middleware-retry": "^2.0.12",
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/middleware-stack": "^2.0.2",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/node-http-handler": "^2.1.5",
+        "@aws-sdk/middleware-host-header": "3.465.0",
+        "@aws-sdk/middleware-logger": "3.465.0",
+        "@aws-sdk/middleware-recursion-detection": "3.465.0",
+        "@aws-sdk/middleware-user-agent": "3.465.0",
+        "@aws-sdk/region-config-resolver": "3.465.0",
+        "@aws-sdk/types": "3.465.0",
+        "@aws-sdk/util-endpoints": "3.465.0",
+        "@aws-sdk/util-user-agent-browser": "3.465.0",
+        "@aws-sdk/util-user-agent-node": "3.465.0",
+        "@smithy/config-resolver": "^2.0.18",
+        "@smithy/fetch-http-handler": "^2.2.6",
+        "@smithy/hash-node": "^2.0.15",
+        "@smithy/invalid-dependency": "^2.0.13",
+        "@smithy/middleware-content-length": "^2.0.15",
+        "@smithy/middleware-endpoint": "^2.2.0",
+        "@smithy/middleware-retry": "^2.0.20",
+        "@smithy/middleware-serde": "^2.0.13",
+        "@smithy/middleware-stack": "^2.0.7",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/node-http-handler": "^2.1.9",
         "@smithy/property-provider": "^2.0.0",
-        "@smithy/protocol-http": "^3.0.5",
+        "@smithy/protocol-http": "^3.0.9",
         "@smithy/shared-ini-file-loader": "^2.0.6",
-        "@smithy/smithy-client": "^2.1.6",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-base64": "^2.0.0",
+        "@smithy/smithy-client": "^2.1.15",
+        "@smithy/types": "^2.5.0",
+        "@smithy/url-parser": "^2.0.13",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-body-length-browser": "^2.0.0",
         "@smithy/util-body-length-node": "^2.1.0",
-        "@smithy/util-defaults-mode-browser": "^2.0.10",
-        "@smithy/util-defaults-mode-node": "^2.0.12",
-        "@smithy/util-retry": "^2.0.2",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-defaults-mode-browser": "^2.0.19",
+        "@smithy/util-defaults-mode-node": "^2.0.25",
+        "@smithy/util-endpoints": "^1.0.4",
+        "@smithy/util-retry": "^2.0.6",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -549,11 +589,11 @@
       }
     },
     "node_modules/@aws-sdk/types": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.418.0.tgz",
-      "integrity": "sha512-y4PQSH+ulfFLY0+FYkaK4qbIaQI9IJNMO2xsxukW6/aNoApNymN1D2FSi2la8Qbp/iPjNDKsG8suNPm9NtsWXQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.465.0.tgz",
+      "integrity": "sha512-Clqu2eD50OOzwSftGpzJrIOGev/7VJhJpc02SeS4cqFgI9EVd+rnFKS/Ux0kcwjLQBMiPcCLtql3KAHApFHAIA==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -561,11 +601,12 @@
       }
     },
     "node_modules/@aws-sdk/util-endpoints": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.418.0.tgz",
-      "integrity": "sha512-sYSDwRTl7yE7LhHkPzemGzmIXFVHSsi3AQ1KeNEk84eBqxMHHcCc2kqklaBk2roXWe50QDgRMy1ikZUxvtzNHQ==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.465.0.tgz",
+      "integrity": "sha512-lDpBN1faVw8Udg5hIo+LJaNfllbBF86PCisv628vfcggO8/EArL/v2Eos0KeqVT8yaINXCRSagwfo5TNTuW0KQ==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/util-endpoints": "^1.0.4",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -573,9 +614,9 @@
       }
     },
     "node_modules/@aws-sdk/util-locate-window": {
-      "version": "3.310.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz",
-      "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz",
+      "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==",
       "dependencies": {
         "tslib": "^2.5.0"
       },
@@ -584,24 +625,24 @@
       }
     },
     "node_modules/@aws-sdk/util-user-agent-browser": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.418.0.tgz",
-      "integrity": "sha512-c4p4mc0VV/jIeNH0lsXzhJ1MpWRLuboGtNEpqE4s1Vl9ck2amv9VdUUZUmHbg+bVxlMgRQ4nmiovA4qIrqGuyg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.465.0.tgz",
+      "integrity": "sha512-RM+LjkIsmUCBJ4yQeBnkJWJTjPOPqcNaKv8bpZxatIHdvzGhXLnWLNi3qHlBsJB2mKtKRet6nAUmKmzZR1sDzA==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/types": "^2.5.0",
         "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.418.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.418.0.tgz",
-      "integrity": "sha512-BXMskXFtg+dmzSCgmnWOffokxIbPr1lFqa1D9kvM3l3IFRiFGx2IyDg+8MAhq11aPDLvoa/BDuQ0Yqma5izOhg==",
+      "version": "3.465.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.465.0.tgz",
+      "integrity": "sha512-XsHbq7gLCiGdy6FQ7/5nGslK0ij3Iuh051djuIICvNurlds5cqKLiBe63gX3IUUwxJcrKh4xBGviQJ52KdVSeg==",
       "dependencies": {
-        "@aws-sdk/types": "3.418.0",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@aws-sdk/types": "3.465.0",
+        "@smithy/node-config-provider": "^2.1.5",
+        "@smithy/types": "^2.5.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -625,11 +666,11 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.22.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
-      "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
       "dependencies": {
-        "@babel/highlight": "^7.22.13",
+        "@babel/highlight": "^7.23.4",
         "chalk": "^2.4.2"
       },
       "engines": {
@@ -637,29 +678,29 @@
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz",
-      "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.20.tgz",
-      "integrity": "sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
+      "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.22.13",
-        "@babel/generator": "^7.22.15",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
         "@babel/helper-compilation-targets": "^7.22.15",
-        "@babel/helper-module-transforms": "^7.22.20",
-        "@babel/helpers": "^7.22.15",
-        "@babel/parser": "^7.22.16",
+        "@babel/helper-module-transforms": "^7.23.3",
+        "@babel/helpers": "^7.23.5",
+        "@babel/parser": "^7.23.5",
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.22.20",
-        "@babel/types": "^7.22.19",
-        "convert-source-map": "^1.7.0",
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5",
+        "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
         "json5": "^2.2.3",
@@ -682,11 +723,11 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz",
-      "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
+      "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
       "dependencies": {
-        "@babel/types": "^7.22.15",
+        "@babel/types": "^7.23.5",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -727,12 +768,12 @@
       }
     },
     "node_modules/@babel/helper-function-name": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-      "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+      "version": "7.23.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
       "dependencies": {
-        "@babel/template": "^7.22.5",
-        "@babel/types": "^7.22.5"
+        "@babel/template": "^7.22.15",
+        "@babel/types": "^7.23.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -761,9 +802,9 @@
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz",
-      "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
       "dependencies": {
         "@babel/helper-environment-visitor": "^7.22.20",
         "@babel/helper-module-imports": "^7.22.15",
@@ -809,9 +850,9 @@
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-      "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
       "engines": {
         "node": ">=6.9.0"
       }
@@ -825,30 +866,30 @@
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
-      "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz",
-      "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
+      "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
       "dependencies": {
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.22.15",
-        "@babel/types": "^7.22.15"
+        "@babel/traverse": "^7.23.5",
+        "@babel/types": "^7.23.5"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/highlight": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
-      "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+      "version": "7.23.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
       "dependencies": {
         "@babel/helper-validator-identifier": "^7.22.20",
         "chalk": "^2.4.2",
@@ -859,9 +900,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.22.16",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz",
-      "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
+      "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -870,9 +911,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz",
-      "integrity": "sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
+      "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -884,9 +925,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz",
-      "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
+      "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -898,9 +939,9 @@
       }
     },
     "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz",
-      "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==",
+      "version": "7.23.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
+      "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.22.5"
       },
@@ -925,18 +966,18 @@
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz",
-      "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
+      "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
       "dependencies": {
-        "@babel/code-frame": "^7.22.13",
-        "@babel/generator": "^7.22.15",
+        "@babel/code-frame": "^7.23.5",
+        "@babel/generator": "^7.23.5",
         "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.22.5",
+        "@babel/helper-function-name": "^7.23.0",
         "@babel/helper-hoist-variables": "^7.22.5",
         "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.22.16",
-        "@babel/types": "^7.22.19",
+        "@babel/parser": "^7.23.5",
+        "@babel/types": "^7.23.5",
         "debug": "^4.1.0",
         "globals": "^11.1.0"
       },
@@ -945,12 +986,12 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.22.19",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz",
-      "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==",
+      "version": "7.23.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
+      "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
       "dependencies": {
-        "@babel/helper-string-parser": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.19",
+        "@babel/helper-string-parser": "^7.23.4",
+        "@babel/helper-validator-identifier": "^7.22.20",
         "to-fast-properties": "^2.0.0"
       },
       "engines": {
@@ -970,6 +1011,47 @@
         "@hapi/hoek": "^9.0.0"
       }
     },
+    "node_modules/@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+      "dependencies": {
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/@jridgewell/gen-mapping": {
       "version": "0.3.3",
       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@@ -1005,21 +1087,21 @@
       "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
     },
     "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
-      "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
+      "version": "0.3.20",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+      "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
       "dependencies": {
         "@jridgewell/resolve-uri": "^3.1.0",
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
     "node_modules/@mongodb-js/devtools-connect": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.2.tgz",
-      "integrity": "sha512-cgRXxwZRO7K+gFVyrqcsWWrBfyaffVkafoXK91T1W+QsQxXZH1uoka2Pdle/5ugiGmuvEuKGQ9c+G8so4AKosQ==",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.3.tgz",
+      "integrity": "sha512-JS288VVm/Mu8+kHL8ybKCpL2/AiA4CWhWun7FR3iRNH5NXbT9c6aovEc2pxjsCbmYUjzuTsRoIo9LTrNoCvNrQ==",
       "dependencies": {
         "lodash.merge": "^4.6.2",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "system-ca": "^1.0.2"
       },
       "optionalDependencies": {
@@ -1033,9 +1115,13 @@
       }
     },
     "node_modules/@mongodb-js/mongodb-constants": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.2.2.tgz",
-      "integrity": "sha512-vm1G+/WRWmXGyE9ZnhDv9toe+LRu1x0F/lGEwqWESfBiUUUuVZhj25fS2o4IL7H4pJ31sFxr7/gu+ER8OkmtzA=="
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.7.2.tgz",
+      "integrity": "sha512-ElaVCCQo80vQTX865RXbJoITaB6kHJmOWqv0ANO5I/S9nP5LaIEfA2QQuBmE4cHOmb3ZGfzLfyCCfwbeSBwE6w==",
+      "dependencies": {
+        "dedent": "^1.5.1",
+        "semver": "^7.5.4"
+      }
     },
     "node_modules/@mongodb-js/oidc-plugin": {
       "version": "0.3.0",
@@ -1052,30 +1138,30 @@
       }
     },
     "node_modules/@mongodb-js/saslprep": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz",
-      "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz",
+      "integrity": "sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==",
       "dependencies": {
         "sparse-bitfield": "^3.0.3"
       }
     },
     "node_modules/@mongosh/arg-parser": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.0.1.tgz",
-      "integrity": "sha512-rPMof8rQXyzoZNG/ZQsQPTArPsPCBEf/fdjbNbebn+Vgq2bsz8AF7vVIr5aF6bwgJlYcNZcoAytdLIK1NOO0XA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.1.1.tgz",
+      "integrity": "sha512-D0+FiUc9lH/LWkyXLM2s1WXI9pzfX6tvafAOwY9Lk73zUITfGzPtmup2tOyH4nI6H2jgVEMFg0GdBnAb2i/m/g==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "mongodb-connection-string-url": "^2.6.0"
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/async-rewriter2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.0.1.tgz",
-      "integrity": "sha512-xiQNRUGSRbkQ6iJZkrB71m0r49Yi2ersnjmZTKl+lYEi/P7+8xiQFnJt1oGH8Acwj+STEarI2L+kxReazDwlIw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.1.1.tgz",
+      "integrity": "sha512-fm5s5uiH5oTVpvXZPgovjl/X3ZiL/lKDi2Plj0s1bOAPeWTQ6qaiPD1f/fbrEI2iVU+JyDk8clVMPV4duaOjvw==",
       "dependencies": {
         "@babel/core": "^7.22.8",
         "@babel/plugin-transform-destructuring": "^7.22.5",
@@ -1092,12 +1178,12 @@
       }
     },
     "node_modules/@mongosh/autocomplete": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.0.1.tgz",
-      "integrity": "sha512-IJUhc9nVM0Uc7C31L145G0+R3eNDF3uOeX3VZiJm+fJyf1ALbS10dcZ2+/dJ30b6pcluGPv4y6k/3MAd+mdExw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.1.1.tgz",
+      "integrity": "sha512-va1IXrQJ+3OcXbKIdQlBk0LeSgfTYdUbmc8vr/AwnTh+yZP+wd0viHE3l6KzO62H2d3aIfEcthfGReeRuISVHA==",
       "dependencies": {
-        "@mongodb-js/mongodb-constants": "^0.2.2",
-        "@mongosh/shell-api": "2.0.1",
+        "@mongodb-js/mongodb-constants": "^0.7.1",
+        "@mongosh/shell-api": "2.1.1",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -1105,31 +1191,31 @@
       }
     },
     "node_modules/@mongosh/cli-repl": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/cli-repl/-/cli-repl-2.0.1.tgz",
-      "integrity": "sha512-eDvMgOT5KXoFHL5KyFnknIpPF/2m1unyktkRnV/abJKKKhp1HGw87iKQtxMhPobctNSgieMJ0zsmxxSWL9sS/Q==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.0.1",
-        "@mongosh/autocomplete": "2.0.1",
-        "@mongosh/editor": "2.0.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "@mongosh/js-multiline-to-singleline": "2.0.1",
-        "@mongosh/logging": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/service-provider-server": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/shell-evaluator": "2.0.1",
-        "@mongosh/snippet-manager": "2.0.1",
-        "@mongosh/types": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/cli-repl/-/cli-repl-2.1.1.tgz",
+      "integrity": "sha512-uZyFtIWwsoSrpDE5f07Xg0Dz76Gpstqum4GfhIpsKQzAO8i9w2YCTK5P7fozmrkwixN5gNqYvUP+DKHMid+olw==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.1",
+        "@mongosh/autocomplete": "2.1.1",
+        "@mongosh/editor": "2.1.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "@mongosh/js-multiline-to-singleline": "2.1.1",
+        "@mongosh/logging": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/service-provider-server": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/shell-evaluator": "2.1.1",
+        "@mongosh/snippet-manager": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "analytics-node": "^5.1.2",
         "ansi-escape-sequences": "^5.1.2",
         "askcharacter": "^1.0.0",
         "askpassword": "^1.2.4",
         "is-recoverable-error": "^1.0.3",
         "js-yaml": "^4.1.0",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "mongodb-log-writer": "^1.4.0",
         "numeral": "^2.0.6",
         "pretty-repl": "^4.0.0",
@@ -1152,15 +1238,15 @@
       }
     },
     "node_modules/@mongosh/editor": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/editor/-/editor-2.0.1.tgz",
-      "integrity": "sha512-hSa6dED3QBFqS0sBJslMbMIhzidJ9vHl8P/EyqwlZe8A1JniNvzCYZJCvImn/asFOpkugVbK1/ylhmLAMlu4nQ==",
-      "dependencies": {
-        "@mongosh/js-multiline-to-singleline": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/shell-evaluator": "2.0.1",
-        "@mongosh/types": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/editor/-/editor-2.1.1.tgz",
+      "integrity": "sha512-5AYuVbmXaUawa2yN/lUqkre4v5hCXuAj5ss4gVPz9ioOewLwFORO4gEPsnzKkQHXvFrtiolen2aSJDlneRLSKg==",
+      "dependencies": {
+        "@mongosh/js-multiline-to-singleline": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/shell-evaluator": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "js-beautify": "^1.14.0"
       },
       "engines": {
@@ -1168,19 +1254,19 @@
       }
     },
     "node_modules/@mongosh/errors": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.0.1.tgz",
-      "integrity": "sha512-hr1jvonFgjLz1ZdtIRma69dnNKdGXSOxAoZwj091jGChI4OZfGVvUIqd8pLGdfxnFHil6Rr58MwFRtlL6gQhPA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.1.1.tgz",
+      "integrity": "sha512-Dw0qb+h6QiO8/bhuyTBK0aANMamuQjpcjdA35H+L78CS4c5iog6rSd3x0RISivhRsvGgGxE+JLcOuUyQsu2v4Q==",
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/history": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.0.1.tgz",
-      "integrity": "sha512-elOd9I2/QuMc+JORH3VfIQWZ6jCzTIzkZcncHOwMHQ01TxmSf4QTyxzWyM+BjSYXev0XTc71h0WngIoq3Kx1OQ==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.1.1.tgz",
+      "integrity": "sha512-PFfyq3jGAoxTld/T8CrZpardch1IWtEAJnyOcVVgL+pdspmrowhIPBd8HOyOM5C2wjCjDmqhNtBLaJ5iuOMmPg==",
       "dependencies": {
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1188,11 +1274,11 @@
       }
     },
     "node_modules/@mongosh/i18n": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.0.1.tgz",
-      "integrity": "sha512-6PMyQ457E206cYHgXEf1ylkwa/pE/0cV5Os7/lx4sTYAy08AUhBvzQcGOAQ8l6RWDO7my4fB9GfKi0U26MlK7Q==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.1.1.tgz",
+      "integrity": "sha512-i6ff4kdtHSfErGkYrEj8lSh/LBFIiSD3wecppy1FUMuDHBPfqbL42cGNV771yoyNUM7FlYb3CiXMXFDmqma2Vw==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
+        "@mongosh/errors": "2.1.1",
         "mustache": "^4.0.0"
       },
       "engines": {
@@ -1200,9 +1286,9 @@
       }
     },
     "node_modules/@mongosh/js-multiline-to-singleline": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.0.1.tgz",
-      "integrity": "sha512-2AcyjuuHYwEht7ghVFFZGE05Bnu7OOso2SasqbL/KlIdh+dnKlhwmFMOQn5l/2pIfWenwuurl5fUMpcMPyrsTQ==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/js-multiline-to-singleline/-/js-multiline-to-singleline-2.1.1.tgz",
+      "integrity": "sha512-hj6fZGOspeMOQVXTbm8ep2Rc+Rm9O6/I1dt5OpUaN4heyAlMLLugdZU+zYWksMo9NEnfNMHjHQUoQo0VBEJXEQ==",
       "dependencies": {
         "@babel/core": "^7.16.12",
         "@babel/types": "^7.21.2"
@@ -1212,14 +1298,14 @@
       }
     },
     "node_modules/@mongosh/logging": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.0.1.tgz",
-      "integrity": "sha512-QmczNhg3VM3O9IOa4si9dcjosAhqyOd2wiulU0AlBZ4e6ZTaj3wSnBbs+c1AD+8pFz1u+GMgI1/0bCVI/Krpnw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.1.1.tgz",
+      "integrity": "sha512-g0ZcfvmukiGll/e06BlNZdUMq5oiQ5HhwNKsLuJADWcV76ebBjAhnyB00pPMhSfqszmn4dri1O3k1IVRDlwmag==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/types": "2.0.1",
+        "@mongodb-js/devtools-connect": "^2.4.3",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "mongodb-log-writer": "^1.4.0",
         "mongodb-redact": "^0.2.2"
       },
@@ -1228,15 +1314,15 @@
       }
     },
     "node_modules/@mongosh/service-provider-core": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.0.1.tgz",
-      "integrity": "sha512-TV1UnH69rx0L6K7TIT7cDgQ0fPnyVju2GLIMWGiCmb93txcXF/EgTuP/q1m8ZRW7JoaQMOOj8zXn4ZbsAkJ9Uw==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz",
+      "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==",
       "dependencies": {
         "@aws-sdk/credential-providers": "^3.347.1",
-        "@mongosh/errors": "2.0.1",
-        "bson": "^6.0.0",
-        "mongodb": "^6.0.0",
-        "mongodb-build-info": "^1.6.2"
+        "@mongosh/errors": "2.1.1",
+        "bson": "^6.2.0",
+        "mongodb": "^6.3.0",
+        "mongodb-build-info": "^1.7.1"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1246,39 +1332,39 @@
       }
     },
     "node_modules/@mongosh/service-provider-server": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.0.1.tgz",
-      "integrity": "sha512-CmOJKFtZDM0sroI+w4QdXiKub5Lf2HheAVx8QgGBshI/8npRnaXN9nSOww/p3p585BCmKiw9CLf/QXJSGXj6fA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.1.1.tgz",
+      "integrity": "sha512-pAnz8VdBBEqCUTLztPELSIrWXxC5K9acdSosTg31vYK0fbg7nx5Q55amPXLRxNlXPa3wFHYGt1R9hCD5PwSA+A==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1",
+        "@mongodb-js/devtools-connect": "^2.4.3",
         "@mongodb-js/oidc-plugin": "^0.3.0",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
-        "@mongosh/types": "2.0.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
+        "@mongosh/types": "2.1.1",
         "@types/sinon-chai": "^3.2.4",
         "aws4": "^1.11.0",
-        "mongodb": "^6.0.0",
-        "mongodb-connection-string-url": "^2.6.0",
+        "mongodb": "^6.3.0",
+        "mongodb-connection-string-url": "^3.0.0",
         "socks": "^2.7.1"
       },
       "engines": {
         "node": ">=14.15.1"
       },
       "optionalDependencies": {
-        "kerberos": "2.0.1",
+        "kerberos": "^2.1.0",
         "mongodb-client-encryption": "^6.0.0"
       }
     },
     "node_modules/@mongosh/shell-api": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.0.1.tgz",
-      "integrity": "sha512-llVF/BEzfLHOgxCsmidv9GJzQnQDcO02/op6jG0JDYAIBQPMZhg1OpGEF5Ju/5220sH/gqQhajOYM2rFlbyBSw==",
-      "dependencies": {
-        "@mongosh/arg-parser": "2.0.1",
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/i18n": "2.0.1",
-        "@mongosh/service-provider-core": "2.0.1",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.1.1.tgz",
+      "integrity": "sha512-uOEgd4bNah1QVeN6Sqxq+tCHmxlecul0AzL5829Axv3Aa1cZnERZMgbIPyo4JoMB0wTtsgjsJHngBBaDUdkuUQ==",
+      "dependencies": {
+        "@mongosh/arg-parser": "2.1.1",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/i18n": "2.1.1",
+        "@mongosh/service-provider-core": "2.1.1",
         "mongodb-redact": "^0.2.2"
       },
       "engines": {
@@ -1286,27 +1372,27 @@
       }
     },
     "node_modules/@mongosh/shell-evaluator": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.0.1.tgz",
-      "integrity": "sha512-kWkE6uLf3WtWHU/sgqWQjJ7nsDhFdWW9L4wtoiKfGjGgYu8bHY/PM0PI0RUGBGagpx/OXfZ4P95J6T0BTqMdHA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.1.1.tgz",
+      "integrity": "sha512-h3OGG8r2dGt7xRuRwVVDcE8bMgzHe2XROdln8Cps/6Hb5mEDkg1JPT5HlJLmbk5j5IuEnr95dAxAzt/l5+461g==",
       "dependencies": {
-        "@mongosh/async-rewriter2": "2.0.1",
-        "@mongosh/history": "2.0.1",
-        "@mongosh/shell-api": "2.0.1"
+        "@mongosh/async-rewriter2": "2.1.1",
+        "@mongosh/history": "2.1.1",
+        "@mongosh/shell-api": "2.1.1"
       },
       "engines": {
         "node": ">=14.15.1"
       }
     },
     "node_modules/@mongosh/snippet-manager": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/snippet-manager/-/snippet-manager-2.0.1.tgz",
-      "integrity": "sha512-r+l2U4C0XiE/jZzAEvYIenKidWGLcAqnE3ZgK/GhR5qE6uM3Jz+75+m6z7ufCzotS/nrDDjKALcKSIamzRFWRA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/snippet-manager/-/snippet-manager-2.1.1.tgz",
+      "integrity": "sha512-1RyauOaXZAeTtbQJM3RaTciF3QWzM60e6gu4LS6uI7pm/l5TQlzFC2SWCu07Qm4Fp5SnLs7yKbW6WvNXj7Q6+w==",
       "dependencies": {
-        "@mongosh/errors": "2.0.1",
-        "@mongosh/shell-api": "2.0.1",
-        "@mongosh/types": "2.0.1",
-        "bson": "^6.0.0",
+        "@mongosh/errors": "2.1.1",
+        "@mongosh/shell-api": "2.1.1",
+        "@mongosh/types": "2.1.1",
+        "bson": "^6.2.0",
         "cross-spawn": "^7.0.3",
         "escape-string-regexp": "^4.0.0",
         "joi": "^17.4.0",
@@ -1318,11 +1404,11 @@
       }
     },
     "node_modules/@mongosh/types": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.0.1.tgz",
-      "integrity": "sha512-T/xz+RCcilt+NixGwsCh9VreiZmUUT5ZIHeD0NdOICKu/PBl5aDenZDa+94u+qOEN6IUexqT6u6mEhmnJiVDDg==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.1.1.tgz",
+      "integrity": "sha512-YcaHfurVlVvlKBMYXkV+JYg24urEJa4cmp/cMF/fqoBi6F+MC6n/2BlG4eqwWyZ3KtUzqCCgocBebt7e61yHKA==",
       "dependencies": {
-        "@mongodb-js/devtools-connect": "^2.4.1"
+        "@mongodb-js/devtools-connect": "^2.4.3"
       },
       "engines": {
         "node": ">=14.15.1"
@@ -1333,6 +1419,15 @@
       "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
       "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw=="
     },
+    "node_modules/@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+      "optional": true,
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/@segment/loosely-validate-event": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz",
@@ -1361,11 +1456,11 @@
       "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
     },
     "node_modules/@smithy/abort-controller": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.9.tgz",
-      "integrity": "sha512-8liHOEbx99xcy4VndeQNQhyA0LS+e7UqsuRnDTSIA26IKBv/7vA9w09KOd4fgNULrvX0r3WpA6cwsQTRJpSWkg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.14.tgz",
+      "integrity": "sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1373,14 +1468,14 @@
       }
     },
     "node_modules/@smithy/config-resolver": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.10.tgz",
-      "integrity": "sha512-MwToDsCltHjumkCuRn883qoNeJUawc2b8sX9caSn5vLz6J5crU1IklklNxWCaMO2z2nDL91Po4b/aI1eHv5PfA==",
+      "version": "2.0.19",
+      "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.19.tgz",
+      "integrity": "sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==",
       "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/types": "^2.3.3",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-config-provider": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.7",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1388,14 +1483,14 @@
       }
     },
     "node_modules/@smithy/credential-provider-imds": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.12.tgz",
-      "integrity": "sha512-S3lUNe+2fEFwKcmiQniXGPXt69vaHvQCw8kYQOBL4OvJsgwfpkIYDZdroHbTshYi0M6WaKL26Mw+hvgma6dZqA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.2.tgz",
+      "integrity": "sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1403,36 +1498,36 @@
       }
     },
     "node_modules/@smithy/eventstream-codec": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.9.tgz",
-      "integrity": "sha512-sy0pcbKnawt1iu+qCoSFbs/h9PAaUgvlJEO3lqkE1HFFj4p5RgL98vH+9CyDoj6YY82cG5XsorFmcLqQJHTOYw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.14.tgz",
+      "integrity": "sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA==",
       "dependencies": {
         "@aws-crypto/crc32": "3.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-hex-encoding": "^2.0.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/fetch-http-handler": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.5.tgz",
-      "integrity": "sha512-BIeCHGfr5JCGN+EMTwZK74ELvjPXOIrI7OLM5OhZJJ6AmZyRv2S9ANJk18AtLwht0TsSm+8WoXIEp8LuxNgUyA==",
-      "dependencies": {
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/querystring-builder": "^2.0.9",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-base64": "^2.0.0",
+      "version": "2.2.7",
+      "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.7.tgz",
+      "integrity": "sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ==",
+      "dependencies": {
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/hash-node": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.9.tgz",
-      "integrity": "sha512-XP3yWd5wyCtiVmsY5Nuq/FUwyCEQ6YG7DsvRh7ThldNukGpCzyFdP8eivZJVjn4Fx7oYrrOnVoYZ0WEgpW1AvQ==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.16.tgz",
+      "integrity": "sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-buffer-from": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1440,11 +1535,11 @@
       }
     },
     "node_modules/@smithy/invalid-dependency": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.9.tgz",
-      "integrity": "sha512-RuJqhYf8nViK96IIO9JbTtjDUuFItVfuuJhWw2yk7fv67yltQ7fZD6IQ2OsHHluoVmstnQJuCg5raXJR696Ubw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.14.tgz",
+      "integrity": "sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       }
     },
@@ -1460,12 +1555,12 @@
       }
     },
     "node_modules/@smithy/middleware-content-length": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.11.tgz",
-      "integrity": "sha512-Malj4voNTL4+a5ZL3a6+Ij7JTUMTa2R7c3ZIBzMxN5OUUgAspU7uFi1Q97f4B0afVh2joQBAWH5IQJUG25nl8g==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.16.tgz",
+      "integrity": "sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==",
       "dependencies": {
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/types": "^2.3.3",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1473,14 +1568,16 @@
       }
     },
     "node_modules/@smithy/middleware-endpoint": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.9.tgz",
-      "integrity": "sha512-72/o8R6AAO4+nyTI6h4z6PYGTSA4dr1M7tZz29U8DEUHuh1YkhC77js0P6RyF9G0wDLuYqxb+Yh0crI5WG2pJg==",
-      "dependencies": {
-        "@smithy/middleware-serde": "^2.0.9",
-        "@smithy/types": "^2.3.3",
-        "@smithy/url-parser": "^2.0.9",
-        "@smithy/util-middleware": "^2.0.2",
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.1.tgz",
+      "integrity": "sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==",
+      "dependencies": {
+        "@smithy/middleware-serde": "^2.0.14",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
+        "@smithy/url-parser": "^2.0.14",
+        "@smithy/util-middleware": "^2.0.7",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1488,16 +1585,16 @@
       }
     },
     "node_modules/@smithy/middleware-retry": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.12.tgz",
-      "integrity": "sha512-YQ/ufXX4/d9/+Jf1QQ4J+CVeupC7BW52qldBTvRV33PDX9vxndlAwkFwzBcmnUFC3Hjf1//HW6I77EItcjNSCA==",
-      "dependencies": {
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/service-error-classification": "^2.0.2",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-middleware": "^2.0.2",
-        "@smithy/util-retry": "^2.0.2",
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.21.tgz",
+      "integrity": "sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-middleware": "^2.0.7",
+        "@smithy/util-retry": "^2.0.7",
         "tslib": "^2.5.0",
         "uuid": "^8.3.2"
       },
@@ -1506,11 +1603,11 @@
       }
     },
     "node_modules/@smithy/middleware-serde": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.9.tgz",
-      "integrity": "sha512-GVbauxrr6WmtCaesakktg3t5LR/yDbajpC7KkWc8rtCpddMI4ShAVO5Q6DqwX8MDFi4CLaY8H7eTGcxhl3jbLg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.14.tgz",
+      "integrity": "sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1518,11 +1615,11 @@
       }
     },
     "node_modules/@smithy/middleware-stack": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.3.tgz",
-      "integrity": "sha512-AlhPmbwpkC4lQBVaVHXczmjFvsAhDHhrakqLt038qFLotnJcvDLhmMzAtu23alBeOSkKxkTQq0LsAt2N0WpAbw==",
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.8.tgz",
+      "integrity": "sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1530,13 +1627,13 @@
       }
     },
     "node_modules/@smithy/node-config-provider": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.12.tgz",
-      "integrity": "sha512-df9y9ywv+JmS40Y60ZqJ4jfZiTCmyHQffwzIqjBjLJLJl0imf9F6DWBd+jiEWHvlohR+sFhyY+KL/qzKgnAq1A==",
+      "version": "2.1.6",
+      "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.6.tgz",
+      "integrity": "sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==",
       "dependencies": {
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/shared-ini-file-loader": "^2.0.11",
-        "@smithy/types": "^2.3.3",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/shared-ini-file-loader": "^2.2.5",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1544,14 +1641,14 @@
       }
     },
     "node_modules/@smithy/node-http-handler": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.5.tgz",
-      "integrity": "sha512-52uF+BrZaFiBh+NT/bADiVDCQO91T+OwDRsuaAeWZC1mlCXFjAPPQdxeQohtuYOe9m7mPP/xIMNiqbe8jvndHA==",
-      "dependencies": {
-        "@smithy/abort-controller": "^2.0.9",
-        "@smithy/protocol-http": "^3.0.5",
-        "@smithy/querystring-builder": "^2.0.9",
-        "@smithy/types": "^2.3.3",
+      "version": "2.1.10",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.10.tgz",
+      "integrity": "sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw==",
+      "dependencies": {
+        "@smithy/abort-controller": "^2.0.14",
+        "@smithy/protocol-http": "^3.0.10",
+        "@smithy/querystring-builder": "^2.0.14",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1559,11 +1656,11 @@
       }
     },
     "node_modules/@smithy/property-provider": {
-      "version": "2.0.10",
-      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.10.tgz",
-      "integrity": "sha512-YMBVfh0ZMmJtbsUn+WfSwR32iRljZPdRN0Tn2GAcdJ+ejX8WrBXD7Z0jIkQDrQZr8fEuuv5x8WxMIj+qVbsPQw==",
+      "version": "2.0.15",
+      "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.15.tgz",
+      "integrity": "sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1571,11 +1668,11 @@
       }
     },
     "node_modules/@smithy/protocol-http": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.5.tgz",
-      "integrity": "sha512-3t3fxj+ip4EPHRC2fQ0JimMxR/qCQ1LSQJjZZVZFgROnFLYWPDgUZqpoi7chr+EzatxJVXF/Rtoi5yLHOWCoZQ==",
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.10.tgz",
+      "integrity": "sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1583,11 +1680,11 @@
       }
     },
     "node_modules/@smithy/querystring-builder": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.9.tgz",
-      "integrity": "sha512-Yt6CPF4j3j1cuwod/DRflbuXxBFjJm7gAjy6W1RE21Rz5/kfGFqiZBXWmmXwGtnnhiLThYwoHK4S6/TQtnx0Fg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.14.tgz",
+      "integrity": "sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-uri-escape": "^2.0.0",
         "tslib": "^2.5.0"
       },
@@ -1596,11 +1693,11 @@
       }
     },
     "node_modules/@smithy/querystring-parser": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.9.tgz",
-      "integrity": "sha512-U6z4N743s4vrcxPW8p8+reLV0PjMCYEyb1/wtMVvv3VnbJ74gshdI8SR1sBnEh95cF8TxonmX5IxY25tS9qGfg==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.14.tgz",
+      "integrity": "sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1608,22 +1705,22 @@
       }
     },
     "node_modules/@smithy/service-error-classification": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.2.tgz",
-      "integrity": "sha512-GTUd2j63gKy7A+ggvSdn2hc4sejG7LWfE+ZMF17vzWoNyqERWbRP7HTPS0d0Lwg1p6OQCAzvNigSrEIWVFt6iA==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.7.tgz",
+      "integrity": "sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w==",
       "dependencies": {
-        "@smithy/types": "^2.3.3"
+        "@smithy/types": "^2.6.0"
       },
       "engines": {
         "node": ">=14.0.0"
       }
     },
     "node_modules/@smithy/shared-ini-file-loader": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.11.tgz",
-      "integrity": "sha512-Sf0u5C5px6eykXi6jImDTp+edvG3REtPjXnFWU/J+b7S2wkXwUqFXqBL5DdM4zC1F+M8u57ZT7NRqDwMOw7/Tw==",
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.5.tgz",
+      "integrity": "sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1631,17 +1728,17 @@
       }
     },
     "node_modules/@smithy/signature-v4": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.9.tgz",
-      "integrity": "sha512-RkHP0joSI1j2EI+mU55sOi33/aMMkKdL9ZY+SWrPxsiCe1oyzzuy79Tpn8X7uT+t0ilNmQlwPpkP/jUy940pEA==",
+      "version": "2.0.16",
+      "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.16.tgz",
+      "integrity": "sha512-ilLY85xS2kZZzTb83diQKYLIYALvart0KnBaKnIRnMBHAGEio5aHSlANQoxVn0VsonwmQ3CnWhnCT0sERD8uTg==",
       "dependencies": {
-        "@smithy/eventstream-codec": "^2.0.9",
+        "@smithy/eventstream-codec": "^2.0.14",
         "@smithy/is-array-buffer": "^2.0.0",
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "@smithy/util-hex-encoding": "^2.0.0",
-        "@smithy/util-middleware": "^2.0.2",
+        "@smithy/util-middleware": "^2.0.7",
         "@smithy/util-uri-escape": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1649,13 +1746,13 @@
       }
     },
     "node_modules/@smithy/smithy-client": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.7.tgz",
-      "integrity": "sha512-r6T/oiBQ8vCbGqObH4/h0YqD0jFB1hAS9KFRmuTfaNJueu/L2hjmjqFjv3PV5lkbNHTgUYraSv4cFQ1naxiELQ==",
+      "version": "2.1.16",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.16.tgz",
+      "integrity": "sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ==",
       "dependencies": {
-        "@smithy/middleware-stack": "^2.0.3",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-stream": "^2.0.12",
+        "@smithy/middleware-stack": "^2.0.8",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-stream": "^2.0.21",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1663,9 +1760,9 @@
       }
     },
     "node_modules/@smithy/types": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.3.tgz",
-      "integrity": "sha512-zTdIPR9PvFVNRdIKMQu4M5oyTaycIbUqLheQqaOi9rTWPkgjGO2wDBxMA1rBHQB81aqAEv+DbSS4jfKyQMnXRA==",
+      "version": "2.6.0",
+      "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.6.0.tgz",
+      "integrity": "sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g==",
       "dependencies": {
         "tslib": "^2.5.0"
       },
@@ -1674,19 +1771,19 @@
       }
     },
     "node_modules/@smithy/url-parser": {
-      "version": "2.0.9",
-      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.9.tgz",
-      "integrity": "sha512-NBnJ0NiY8z6E82Xd5VYUFQfKwK/wA/+QkKmpYUYP+cpH3aCzE6g2gvixd9vQKYjsIdRfNPCf+SFAozt8ljozOw==",
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.14.tgz",
+      "integrity": "sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==",
       "dependencies": {
-        "@smithy/querystring-parser": "^2.0.9",
-        "@smithy/types": "^2.3.3",
+        "@smithy/querystring-parser": "^2.0.14",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       }
     },
     "node_modules/@smithy/util-base64": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz",
-      "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz",
+      "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.0.0",
         "tslib": "^2.5.0"
@@ -1738,13 +1835,13 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-browser": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.11.tgz",
-      "integrity": "sha512-0syV1Mz/mCQ7CG/MHKQfH+w86xq59jpD0EOXv5oe0WBXLmq2lWPpVHl2Y6+jQ+/9fYzyZ5NF+NC/WEIuiv690A==",
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.20.tgz",
+      "integrity": "sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==",
       "dependencies": {
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/smithy-client": "^2.1.7",
-        "@smithy/types": "^2.3.3",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
         "bowser": "^2.11.0",
         "tslib": "^2.5.0"
       },
@@ -1753,22 +1850,35 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "2.0.13",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.13.tgz",
-      "integrity": "sha512-6BtCHYdw5Z8r6KpW8tRCc3yURgvcQwfIEeHhR70BeSOfx8T/TXPPjb8A+K45+KASspa3fzrsSxeIwB0sAeMoHA==",
-      "dependencies": {
-        "@smithy/config-resolver": "^2.0.10",
-        "@smithy/credential-provider-imds": "^2.0.12",
-        "@smithy/node-config-provider": "^2.0.12",
-        "@smithy/property-provider": "^2.0.10",
-        "@smithy/smithy-client": "^2.1.7",
-        "@smithy/types": "^2.3.3",
+      "version": "2.0.26",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.26.tgz",
+      "integrity": "sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==",
+      "dependencies": {
+        "@smithy/config-resolver": "^2.0.19",
+        "@smithy/credential-provider-imds": "^2.1.2",
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/property-provider": "^2.0.15",
+        "@smithy/smithy-client": "^2.1.16",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
         "node": ">= 10.0.0"
       }
     },
+    "node_modules/@smithy/util-endpoints": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.5.tgz",
+      "integrity": "sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==",
+      "dependencies": {
+        "@smithy/node-config-provider": "^2.1.6",
+        "@smithy/types": "^2.6.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
     "node_modules/@smithy/util-hex-encoding": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz",
@@ -1781,11 +1891,11 @@
       }
     },
     "node_modules/@smithy/util-middleware": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.2.tgz",
-      "integrity": "sha512-UGPZM+Ja/vke5pc/S8G0LNiHpVirtjppsXO+GK9m9wbzRGzPJTfnZA/gERUUN/AfxEy/8SL7U1kd7u4t2X8K1w==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.7.tgz",
+      "integrity": "sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==",
       "dependencies": {
-        "@smithy/types": "^2.3.3",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1793,12 +1903,12 @@
       }
     },
     "node_modules/@smithy/util-retry": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.2.tgz",
-      "integrity": "sha512-ovWiayUB38moZcLhSFFfUgB2IMb7R1JfojU20qSahjxAgfOZvDWme3eOYUMtAVnouZ9kYJiFgHLy27qRH4NeeA==",
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.7.tgz",
+      "integrity": "sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q==",
       "dependencies": {
-        "@smithy/service-error-classification": "^2.0.2",
-        "@smithy/types": "^2.3.3",
+        "@smithy/service-error-classification": "^2.0.7",
+        "@smithy/types": "^2.6.0",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1806,17 +1916,17 @@
       }
     },
     "node_modules/@smithy/util-stream": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.12.tgz",
-      "integrity": "sha512-FOCpRLaj6gvSyUC5mJAACT+sPMPmp9sD1o+hVbUH/QxwZfulypA3ZIFdAg/59/IY0d/1Q4CTztsiHEB5LgjN4g==",
-      "dependencies": {
-        "@smithy/fetch-http-handler": "^2.1.5",
-        "@smithy/node-http-handler": "^2.1.5",
-        "@smithy/types": "^2.3.3",
-        "@smithy/util-base64": "^2.0.0",
+      "version": "2.0.21",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.21.tgz",
+      "integrity": "sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA==",
+      "dependencies": {
+        "@smithy/fetch-http-handler": "^2.2.7",
+        "@smithy/node-http-handler": "^2.1.10",
+        "@smithy/types": "^2.6.0",
+        "@smithy/util-base64": "^2.0.1",
         "@smithy/util-buffer-from": "^2.0.0",
         "@smithy/util-hex-encoding": "^2.0.0",
-        "@smithy/util-utf8": "^2.0.0",
+        "@smithy/util-utf8": "^2.0.2",
         "tslib": "^2.5.0"
       },
       "engines": {
@@ -1835,9 +1945,9 @@
       }
     },
     "node_modules/@smithy/util-utf8": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz",
-      "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz",
+      "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.0.0",
         "tslib": "^2.5.0"
@@ -1847,9 +1957,9 @@
       }
     },
     "node_modules/@types/babel__core": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz",
-      "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==",
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
       "dependencies": {
         "@babel/parser": "^7.20.7",
         "@babel/types": "^7.20.7",
@@ -1859,80 +1969,77 @@
       }
     },
     "node_modules/@types/babel__generator": {
-      "version": "7.6.5",
-      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz",
-      "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==",
+      "version": "7.6.7",
+      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz",
+      "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==",
       "dependencies": {
         "@babel/types": "^7.0.0"
       }
     },
     "node_modules/@types/babel__template": {
-      "version": "7.4.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz",
-      "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
       "dependencies": {
         "@babel/parser": "^7.1.0",
         "@babel/types": "^7.0.0"
       }
     },
     "node_modules/@types/babel__traverse": {
-      "version": "7.20.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz",
-      "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==",
+      "version": "7.20.4",
+      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
+      "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
       "dependencies": {
         "@babel/types": "^7.20.7"
       }
     },
     "node_modules/@types/chai": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.6.tgz",
-      "integrity": "sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw=="
-    },
-    "node_modules/@types/node": {
-      "version": "20.6.4",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.4.tgz",
-      "integrity": "sha512-nU6d9MPY0NBUMiE/nXd2IIoC4OLvsLpwAjheoAeuzgvDZA1Cb10QYg+91AF6zQiKWRN5i1m07x6sMe0niBznoQ=="
+      "version": "4.3.11",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz",
+      "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ=="
     },
     "node_modules/@types/sinon": {
-      "version": "10.0.16",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.16.tgz",
-      "integrity": "sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==",
+      "version": "17.0.2",
+      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.2.tgz",
+      "integrity": "sha512-Zt6heIGsdqERkxctIpvN5Pv3edgBrhoeb3yHyxffd4InN0AX2SVNKSrhdDZKGQICVOxWP/q4DyhpfPNMSrpIiA==",
       "dependencies": {
         "@types/sinonjs__fake-timers": "*"
       }
     },
     "node_modules/@types/sinon-chai": {
-      "version": "3.2.9",
-      "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz",
-      "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==",
+      "version": "3.2.12",
+      "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz",
+      "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==",
       "dependencies": {
         "@types/chai": "*",
         "@types/sinon": "*"
       }
     },
     "node_modules/@types/sinonjs__fake-timers": {
-      "version": "8.1.2",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz",
-      "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA=="
+      "version": "8.1.5",
+      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
+      "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ=="
     },
     "node_modules/@types/webidl-conversions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-      "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+      "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="
     },
     "node_modules/@types/whatwg-url": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
-      "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.3.tgz",
+      "integrity": "sha512-z1ELvMijRL1QmU7QuzDkeYXSF2+dXI0ITKoQsIoVKcNBOiK5RMmWy+pYYxJTHFt8vkpZe7UsvRErQwcxZkjoUw==",
       "dependencies": {
-        "@types/node": "*",
         "@types/webidl-conversions": "*"
       }
     },
     "node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+      "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
     },
     "node_modules/abort-controller": {
       "version": "3.0.0",
@@ -1958,9 +2065,9 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+      "version": "8.11.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+      "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2163,9 +2270,9 @@
       "optional": true
     },
     "node_modules/big-integer": {
-      "version": "1.6.51",
-      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
-      "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+      "version": "1.6.52",
+      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+      "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
       "engines": {
         "node": ">=0.6"
       }
@@ -2251,9 +2358,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.21.11",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz",
-      "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==",
+      "version": "4.22.2",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+      "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
       "funding": [
         {
           "type": "opencollective",
@@ -2269,9 +2376,9 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001538",
-        "electron-to-chromium": "^1.4.526",
-        "node-releases": "^2.0.13",
+        "caniuse-lite": "^1.0.30001565",
+        "electron-to-chromium": "^1.4.601",
+        "node-releases": "^2.0.14",
         "update-browserslist-db": "^1.0.13"
       },
       "bin": {
@@ -2282,9 +2389,9 @@
       }
     },
     "node_modules/bson": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-6.1.0.tgz",
-      "integrity": "sha512-yiQ3KxvpVoRpx1oD1uPz4Jit9tAVTJgjdmjDKtUErkOoL9VNoF8Dd58qtAOL5E40exx2jvAT9sqdRSK/r+SHlA==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz",
+      "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==",
       "engines": {
         "node": ">=16.20.1"
       }
@@ -2336,21 +2443,22 @@
       }
     },
     "node_modules/call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+      "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
       "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.1",
+        "set-function-length": "^1.1.1"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001538",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz",
-      "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==",
+      "version": "1.0.30001566",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz",
+      "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==",
       "funding": [
         {
           "type": "opencollective",
@@ -2425,9 +2533,12 @@
       }
     },
     "node_modules/component-type": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz",
-      "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg=="
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz",
+      "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==",
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
     },
     "node_modules/config-chain": {
       "version": "1.1.13",
@@ -2458,9 +2569,9 @@
       }
     },
     "node_modules/convert-source-map": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
     },
     "node_modules/cookie": {
       "version": "0.5.0",
@@ -2532,6 +2643,19 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/dedent": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/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.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -2573,6 +2697,19 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/define-data-property": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+      "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/define-lazy-prop": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
@@ -2610,6 +2747,11 @@
         "node": ">=8"
       }
     },
+    "node_modules/eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+    },
     "node_modules/editorconfig": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
@@ -2633,9 +2775,14 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.528",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz",
-      "integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA=="
+      "version": "1.4.603",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.603.tgz",
+      "integrity": "sha512-Dvo5OGjnl7AZTU632dFJtWj0uJK835eeOVQIuRcmBmsFsTNn3cL05FqOyHAfGQDIoHfLhyJ1Tya3PJ0ceMz54g=="
+    },
+    "node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
     },
     "node_modules/emphasize": {
       "version": "4.2.0",
@@ -2794,6 +2941,11 @@
         "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
+    "node_modules/execa/node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+    },
     "node_modules/expand-template": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
@@ -2945,6 +3097,21 @@
         }
       }
     },
+    "node_modules/foreground-child": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
     "node_modules/format": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
@@ -3002,15 +3169,13 @@
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
     },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
-    },
     "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
     "node_modules/gensync": {
       "version": "1.0.0-beta.2",
@@ -3035,14 +3200,14 @@
       }
     },
     "node_modules/get-intrinsic": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
-      "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+      "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
       "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
+        "function-bind": "^1.1.2",
         "has-proto": "^1.0.1",
-        "has-symbols": "^1.0.3"
+        "has-symbols": "^1.0.3",
+        "hasown": "^2.0.0"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -3066,34 +3231,26 @@
       "optional": true
     },
     "node_modules/glob": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
-      "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+      "version": "10.3.10",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+      "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^5.0.1",
-        "once": "^1.3.0"
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^2.3.5",
+        "minimatch": "^9.0.1",
+        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+        "path-scurry": "^1.10.1"
+      },
+      "bin": {
+        "glob": "dist/esm/bin.mjs"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=16 || 14 >=14.17"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/glob/node_modules/minimatch": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
-      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -3102,22 +3259,22 @@
         "node": ">=4"
       }
     },
+    "node_modules/gopd": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+      "dependencies": {
+        "get-intrinsic": "^1.1.3"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/handle-backspaces": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/handle-backspaces/-/handle-backspaces-1.0.0.tgz",
       "integrity": "sha512-w11NXUn51gVN50nTW5MOuhKuko9xZonnHDe5LlapaOZvuyxDXVDn9b1ZtG0IJTABGbL/UGeSitqHgo9Bb7nDhQ=="
     },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
     "node_modules/has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -3126,6 +3283,17 @@
         "node": ">=4"
       }
     },
+    "node_modules/has-property-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
+      "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+      "dependencies": {
+        "get-intrinsic": "^1.2.2"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
     "node_modules/has-proto": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
@@ -3148,6 +3316,17 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "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==",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/heap-js": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.3.0.tgz",
@@ -3223,15 +3402,6 @@
       ],
       "optional": true
     },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
     "node_modules/inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -3280,6 +3450,14 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/is-inside-container": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -3358,10 +3536,27 @@
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
     },
+    "node_modules/jackspeak": {
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+      "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
+      }
+    },
     "node_modules/joi": {
-      "version": "17.10.2",
-      "resolved": "https://registry.npmjs.org/joi/-/joi-17.10.2.tgz",
-      "integrity": "sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==",
+      "version": "17.11.0",
+      "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz",
+      "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==",
       "dependencies": {
         "@hapi/hoek": "^9.0.0",
         "@hapi/topo": "^5.0.0",
@@ -3376,22 +3571,22 @@
       "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ=="
     },
     "node_modules/jose": {
-      "version": "4.14.6",
-      "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.6.tgz",
-      "integrity": "sha512-EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ==",
+      "version": "4.15.4",
+      "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz",
+      "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==",
       "funding": {
         "url": "https://github.com/sponsors/panva"
       }
     },
     "node_modules/js-beautify": {
-      "version": "1.14.9",
-      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.9.tgz",
-      "integrity": "sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==",
+      "version": "1.14.11",
+      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.11.tgz",
+      "integrity": "sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==",
       "dependencies": {
         "config-chain": "^1.1.13",
         "editorconfig": "^1.0.3",
-        "glob": "^8.1.0",
-        "nopt": "^6.0.0"
+        "glob": "^10.3.3",
+        "nopt": "^7.2.0"
       },
       "bin": {
         "css-beautify": "js/bin/css-beautify.js",
@@ -3399,7 +3594,7 @@
         "js-beautify": "js/bin/js-beautify.js"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
       }
     },
     "node_modules/js-tokens": {
@@ -3441,20 +3636,26 @@
       }
     },
     "node_modules/kerberos": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.0.1.tgz",
-      "integrity": "sha512-O/jIgbdGK566eUhFwIcgalbqirYU/r76MW7/UFw06Fd9x5bSwgyZWL/Vm26aAmezQww/G9KYkmmJBkEkPk5HLw==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.0.tgz",
+      "integrity": "sha512-HvOl6O6cyEN/8Z4CAocHe/sekJtvt5UrxUdCuu7bXDZ2Hnsy6OpsQbISW+lpm03vrbO2ir+1QQ5Sx/vMEhHnog==",
       "hasInstallScript": true,
       "optional": true,
       "dependencies": {
         "bindings": "^1.5.0",
-        "node-addon-api": "^4.3.0",
+        "node-addon-api": "^6.1.0",
         "prebuild-install": "7.1.1"
       },
       "engines": {
         "node": ">=12.9.0"
       }
     },
+    "node_modules/kerberos/node_modules/node-addon-api": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+      "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+      "optional": true
+    },
     "node_modules/lodash": {
       "version": "4.17.21",
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@@ -3623,11 +3824,11 @@
       }
     },
     "node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
+      "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
       "engines": {
-        "node": ">=8"
+        "node": ">=16 || 14 >=14.17"
       }
     },
     "node_modules/minizlib": {
@@ -3676,13 +3877,13 @@
       "optional": true
     },
     "node_modules/mongodb": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.1.0.tgz",
-      "integrity": "sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.3.0.tgz",
+      "integrity": "sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA==",
       "dependencies": {
         "@mongodb-js/saslprep": "^1.1.0",
-        "bson": "^6.1.0",
-        "mongodb-connection-string-url": "^2.6.0"
+        "bson": "^6.2.0",
+        "mongodb-connection-string-url": "^3.0.0"
       },
       "engines": {
         "node": ">=16.20.1"
@@ -3721,11 +3922,11 @@
       }
     },
     "node_modules/mongodb-build-info": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.0.tgz",
-      "integrity": "sha512-mKpWHe7VsYJYOgZ9ik4vIu3cOBKsDK5b8zSTqnZI5JG1briTYadB103b0yPGn1mQ+JppxzqH3EbRHW0xeOhkVw==",
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.1.tgz",
+      "integrity": "sha512-he4lTotY5AkGSc4Js9Dtqvx4W7x5JSNa9xtvR08y1tUyhglHG1tV+NnuUTrysXA0hNHMMvOd/Hh4Ez9Po84p1g==",
       "dependencies": {
-        "mongodb-connection-string-url": "^2.2.0"
+        "mongodb-connection-string-url": "^3.0.0"
       }
     },
     "node_modules/mongodb-client-encryption": {
@@ -3744,12 +3945,12 @@
       }
     },
     "node_modules/mongodb-connection-string-url": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz",
-      "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz",
+      "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==",
       "dependencies": {
-        "@types/whatwg-url": "^8.2.1",
-        "whatwg-url": "^11.0.0"
+        "@types/whatwg-url": "^11.0.2",
+        "whatwg-url": "^13.0.0"
       }
     },
     "node_modules/mongodb-crypt-library-version": {
@@ -3811,9 +4012,9 @@
       }
     },
     "node_modules/node-abi": {
-      "version": "3.47.0",
-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz",
-      "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==",
+      "version": "3.52.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz",
+      "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==",
       "optional": true,
       "dependencies": {
         "semver": "^7.3.5"
@@ -3876,22 +4077,22 @@
       }
     },
     "node_modules/node-releases": {
-      "version": "2.0.13",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
-      "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
+      "version": "2.0.14",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
     },
     "node_modules/nopt": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
-      "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+      "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
       "dependencies": {
-        "abbrev": "^1.0.0"
+        "abbrev": "^2.0.0"
       },
       "bin": {
         "nopt": "bin/nopt.js"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
     "node_modules/npm-run-path": {
@@ -3936,9 +4137,9 @@
       }
     },
     "node_modules/object-inspect": {
-      "version": "1.12.3",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-      "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
@@ -3966,6 +4167,7 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
       "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "optional": true,
       "dependencies": {
         "wrappy": "1"
       }
@@ -4002,11 +4204,11 @@
       }
     },
     "node_modules/openid-client": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.5.0.tgz",
-      "integrity": "sha512-Y7Xl8BgsrkzWLHkVDYuroM67hi96xITyEDSkmWaGUiNX6CkcXC3XyQGdv5aWZ6dukVKBFVQCADi9gCavOmU14w==",
+      "version": "5.6.1",
+      "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.1.tgz",
+      "integrity": "sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==",
       "dependencies": {
-        "jose": "^4.14.4",
+        "jose": "^4.15.1",
         "lru-cache": "^6.0.0",
         "object-hash": "^2.2.0",
         "oidc-token-hash": "^5.0.3"
@@ -4060,6 +4262,29 @@
         "node": ">=8"
       }
     },
+    "node_modules/path-scurry": {
+      "version": "1.10.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
+      "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+      "dependencies": {
+        "lru-cache": "^9.1.1 || ^10.0.0",
+        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
+      "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+      "engines": {
+        "node": "14 || >=16.14"
+      }
+    },
     "node_modules/path-to-regexp": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -4202,9 +4427,9 @@
       }
     },
     "node_modules/punycode": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
-      "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
       "engines": {
         "node": ">=6"
       }
@@ -4280,12 +4505,12 @@
       "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA=="
     },
     "node_modules/resolve-mongodb-srv": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.2.tgz",
-      "integrity": "sha512-jCuT9KvycstfAQnS/0KnfL48RVLYHuq4S3NZznQzuPMNyH7dBoMqSRSwWYIHp/UCcAnpXbNLrILEzEoxE8wWKA==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.3.tgz",
+      "integrity": "sha512-TrD4ebxN+1wfGhTl1uEKPSReCK13OscqpatIFKabCivrfQSDeVB4GYxpbm5F7yryyniuCxiEDxyyJO3a0UPQjw==",
       "optional": true,
       "dependencies": {
-        "whatwg-url": "^11.0.0"
+        "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0"
       },
       "bin": {
         "resolve-mongodb-srv": "bin/resolve-mongodb-srv.js"
@@ -4379,6 +4604,11 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/run-applescript/node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+    },
     "node_modules/run-applescript/node_modules/strip-final-newline": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
@@ -4491,6 +4721,20 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/set-function-length": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
+      "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+      "dependencies": {
+        "define-data-property": "^1.1.1",
+        "get-intrinsic": "^1.2.1",
+        "gopd": "^1.0.1",
+        "has-property-descriptors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -4529,9 +4773,15 @@
       }
     },
     "node_modules/signal-exit": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
     },
     "node_modules/simple-concat": {
       "version": "1.0.1",
@@ -4625,6 +4875,66 @@
         "safe-buffer": "~5.2.0"
       }
     },
+    "node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+      "dependencies": {
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/string-width-cjs": {
+      "name": "string-width",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width-cjs/node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/string-width/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/string-width/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/strip-ansi": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -4636,6 +4946,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/strip-ansi-cjs": {
+      "name": "strip-ansi",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/strip-final-newline": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -4731,6 +5053,14 @@
         "node": ">=6"
       }
     },
+    "node_modules/tar/node_modules/minipass": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/tar/node_modules/yallist": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -4769,14 +5099,14 @@
       }
     },
     "node_modules/tr46": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-      "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
+      "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
       "dependencies": {
-        "punycode": "^2.1.1"
+        "punycode": "^2.3.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=14"
       }
     },
     "node_modules/tslib": {
@@ -4892,15 +5222,15 @@
       }
     },
     "node_modules/whatwg-url": {
-      "version": "11.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-      "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
+      "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
       "dependencies": {
-        "tr46": "^3.0.0",
+        "tr46": "^4.1.1",
         "webidl-conversions": "^7.0.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=16"
       }
     },
     "node_modules/which": {
@@ -4932,10 +5262,128 @@
         "node-forge": "^1.2.1"
       }
     },
+    "node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+      "dependencies": {
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs": {
+      "name": "wrap-ansi",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-regex": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+      "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/strip-ansi": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+      "dependencies": {
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      }
+    },
     "node_modules/wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "optional": true
     },
     "node_modules/yallist": {
       "version": "3.1.1",
diff --git a/pkgs/development/tools/mongosh/source.json b/pkgs/development/tools/mongosh/source.json
index 3715df3bf3051..091bbd27c998c 100644
--- a/pkgs/development/tools/mongosh/source.json
+++ b/pkgs/development/tools/mongosh/source.json
@@ -1,6 +1,6 @@
 {
-  "version": "2.0.1",
-  "integrity": "sha512-Xvlzso5vJAYfbO/N/6CCmcEnpHAv/PF4D6RqAvr8BFoPjCmYFwKDjOHEHjaPtrJYY1gWEDN5gaukZfqcAxiDFg==",
-  "filename": "mongosh-2.0.1.tgz",
-  "deps": "sha256-wICy0PoMQ6ypiZL/4Yf2l9KNXC9LNNdzy8EmhwK3kws="
+  "version": "2.1.1",
+  "integrity": "sha512-2Gw9fJp2ebK2Gx7QT6sg7FCEpTfFlRib7hJkRhUO92/irGDTDtH6lYU45A4jRRMwgYVyjCfcfeWC11JQCSfsvg==",
+  "filename": "mongosh-2.1.1.tgz",
+  "deps": "sha256-F/ACpX5BsnPttrYRabWsTgUN6uABQ6RHdGc2h6qMbp8="
 }
diff --git a/pkgs/development/tools/neil/default.nix b/pkgs/development/tools/neil/default.nix
index bfa390248f32e..96eb34f091704 100644
--- a/pkgs/development/tools/neil/default.nix
+++ b/pkgs/development/tools/neil/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "neil";
-  version = "0.2.62";
+  version = "0.2.63";
 
   src = fetchFromGitHub {
     owner = "babashka";
     repo = "neil";
     rev = "v${version}";
-    sha256 = "sha256-zSZ62RMHZLuhIPdde0cfWae+uFpWVjMfHuLAJdRedJA=";
+    sha256 = "sha256-mcygDOx5yzOW80bv54cPOKl1t443DXFRq4Hb4KYD5e8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 94f70251e504c..aa81e95923179 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EX1tXe8KlwjrohzgzKDeJP0PjfKw8+lnQ7eg9PAUAfQ=";
+    hash = "sha256-Al256/8A/efLrf97xCwEocwgs3ngPnEAmkfcLWdlkTw=";
   };
 
-  cargoHash = "sha256-ueWSBYXcdaxagjFjxfsImulOs0zVVqGHmfXp4pQLaMM=";
+  cargoHash = "sha256-4iC9pRmhxC29zIrRxQfNG3KCWtHqw8ml6MJoT/XZjSI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/rust/cargo-hack/default.nix b/pkgs/development/tools/rust/cargo-hack/default.nix
index 4de6345b9bf64..9a880a7a92f0b 100644
--- a/pkgs/development/tools/rust/cargo-hack/default.nix
+++ b/pkgs/development/tools/rust/cargo-hack/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hack";
-  version = "0.6.13";
+  version = "0.6.14";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-5WwbtubANrLHXvaWzO/u1NeeetVUvl/ujq89BqFZ2ZQ=";
+    hash = "sha256-RWYCESNNrB4eZGHGbbXAZJ+NhrRY5rImoAG7OFRPHZ0=";
   };
 
-  cargoHash = "sha256-25I1j0QiyeHtUq6IK7ehRK3JLKygiigtfvEe+N74TgY=";
+  cargoHash = "sha256-YRNIFNiFPK7/RgdUSDA+UPJ9wooyqi32+pzshW+ajSU=";
 
   # some necessary files are absent in the crate version
   doCheck = false;
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index f150ebc0d4509..c011c1048ecda 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -7,14 +7,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.7.3";
-  vendorHash = "sha256-xC5EHP4Zb9lgvbxVkoVBxdQ4+f34zqRf4XapntZMTTc=";
+  version = "5.7.4";
+  vendorHash = "sha256-2+Q93tm3ooOd/m6aUWAwFGh5CzARPNISNx0Tcrjc7NY=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-mxyGdyR1yZY+YOyf9ngk6P2oBmUL+IbwLWaCvZziSIM=";
+    hash = "sha256-d4cI/Nyn2XPvdZFLY7GHIAcmIUnzgyehGxZPylUD3EU=";
   };
 
   ldflags = [
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 862b7279f7e6d..b9d804cf3a71d 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.1.127";
+  version = "0.1.131";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-ho2dbuejQWU7K4j107fV4Lf5r3grsePifaE+HbRdCys=";
+    hash = "sha256-q24QQExHsIUkMQBhIdYN9ra6tSPfB21SxXnZzVJIpJk=";
   };
 
-  vendorHash = "sha256-qo1P2PSiWco3oKqKOCmCuM6QOz6a9ov2d2MpggBU4N8=";
+  vendorHash = "sha256-UHG0pUJzA3I8uBbll+4fEpwpEvNBxoQYKr8wuupc8NQ=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch b/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch
deleted file mode 100644
index f4d3b0e32b1c6..0000000000000
--- a/pkgs/development/web/nodejs/node-npm-build-npm-package-logic-node16.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-This patch is based off of npm tag v8.19.4.
-
-This introduces fixes for 4 issues:
-
-1. When node-gyp is included as a dependency in a project, any scripts that run it will not use the copy included in Node. This is problematic because we patch node-gyp to work without xcbuild on Darwin, leading to these packages failing to build with a sandbox on Darwin.
-2. When a Git dependency contains install scripts, it has to be built just like any other package. Thus, we need to patch shebangs appropriately, just like in npmConfigHook.
-3. We get useless warnings that clog up logs when using a v1 lockfile, so we silence them.
-4. npm looks at a hidden lockfile to determine if files have binaries to link into `node_modules/.bin`. When using a v1 lockfile offline, this lockfile does not contain enough info, leading to binaries for packages such as Webpack not being available to scripts. We used to work around this by making npm ignore the hidden lockfile by creating a file, but now we just disable the code path entirely.
-
-To update:
-1. Run `git diff` from an npm checkout
-2. Run `fix-npm-patch-paths.sh`
-3. Include/update this frontmatter, please!
-
-diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-index c59c270d9..98785192f 100644
---- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-+++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
-@@ -12,7 +12,10 @@ const setPATH = (projectPath, binPaths, env) => {
-     .reduce((set, p) => set.concat(p.filter(concatted => !set.includes(concatted))), [])
-     .join(delimiter)
- 
--  const pathArr = []
-+  // Ensure when using buildNpmPackage hooks that Node.js'
-+  // bundled copy of node-gyp is used, instead of any copy
-+  // pulled in as a dependency.
-+  const pathArr = process.env['NIX_NODEJS_BUILDNPMPACKAGE'] ? [nodeGypPath, PATH] : [];
-   if (binPaths) {
-     pathArr.push(...binPaths)
-   }
-@@ -26,7 +29,8 @@ const setPATH = (projectPath, binPaths, env) => {
-     pp = p
-     p = dirname(p)
-   } while (p !== pp)
--  pathArr.push(nodeGypPath, PATH)
-+  if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { pathArr.push(nodeGypPath, PATH) }
-+
- 
-   const pathVal = pathArr.join(delimiter)
- 
-diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js
-index c4819b4fd..7efbeef05 100644
---- a/deps/npm/node_modules/pacote/lib/git.js
-+++ b/deps/npm/node_modules/pacote/lib/git.js
-@@ -186,6 +186,24 @@ class GitFetcher extends Fetcher {
-       }
-       noPrepare.push(this.resolved)
- 
-+      if (process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
-+        const spawn = require('@npmcli/promise-spawn')
-+
-+        const npmWithNixFlags = (args, cmd) => spawn('bash', ['-c', 'npm ' + args + ` $npm${cmd}Flags "$\{npm${cmd}FlagsArray[@]}" $npmFlags "$\{npmFlagsArray[@]}"`], { cwd: dir, env: { ...process.env, _PACOTE_NO_PREPARE_: noPrepare.join('\n') } }, { message: `\`npm ${args}\` failed` })
-+        const patchShebangs = () => spawn('bash', ['-c', 'source $stdenv/setup; patchShebangs node_modules'], { cwd: dir })
-+
-+        // the DirFetcher will do its own preparation to run the prepare scripts
-+        // All we have to do is put the deps in place so that it can succeed.
-+        //
-+        // We ignore this.npmConfig to maintain an environment that's as close
-+        // to the rest of the build as possible.
-+        return spawn('bash', ['-c', '$prefetchNpmDeps --fixup-lockfile package-lock.json'], { cwd: dir })
-+        .then(() => npmWithNixFlags('ci --ignore-scripts', 'Install'))
-+        .then(patchShebangs)
-+        .then(() => npmWithNixFlags('rebuild', 'Rebuild'))
-+        .then(patchShebangs)
-+      }
-+
-       // the DirFetcher will do its own preparation to run the prepare scripts
-       // All we have to do is put the deps in place so that it can succeed.
-       return npm(
-diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-index e9a8720d7..b29ad0185 100644
---- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
-@@ -744,7 +744,7 @@ This is a one-time fix-up, please be patient...
-           node.package = { ...mani, _id: `${mani.name}@${mani.version}` }
-         } catch (er) {
-           const warning = `Could not fetch metadata for ${name}@${id}`
--          log.warn(heading, warning, er)
-+          if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { log.warn(heading, warning, er) }
-         }
-         this.finishTracker(t)
-       })
-diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-index 7ab65f5b0..12f563a50 100644
---- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
-@@ -143,7 +143,7 @@ module.exports = cls => class ActualLoader extends cls {
-     this[_actualTree].assertRootOverrides()
- 
-     // if forceActual is set, don't even try the hidden lockfile
--    if (!forceActual) {
-+    if (!forceActual && !process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
-       // Note: hidden lockfile will be rejected if it's not the latest thing
-       // in the folder, or if any of the entries in the hidden lockfile are
-       // missing.
diff --git a/pkgs/games/aaaaxy/default.nix b/pkgs/games/aaaaxy/default.nix
index b6e5826be96a8..3a5a0ecbbd09f 100644
--- a/pkgs/games/aaaaxy/default.nix
+++ b/pkgs/games/aaaaxy/default.nix
@@ -19,17 +19,17 @@
 
 buildGoModule rec {
   pname = "aaaaxy";
-  version = "1.4.72";
+  version = "1.4.101";
 
   src = fetchFromGitHub {
     owner = "divVerent";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wKnwyjgEV1M5CJR0uxs9vNbF3iJvDPWOqya0iLHXjGw=";
+    hash = "sha256-Eg8RvViTPqlVmvUX3k+/ph4YYU7xfFQY1Gs/e1at6No=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-hK5w3JhcYUW5bAUovv/ldHoYcY0oIh5q4LWxiGuP2NQ=";
+  vendorHash = "sha256-Qd5ytSrW42pDzKt9xg3hWD9rWFvQi1PPYF+m56+/cHE=";
 
   buildInputs = [
     alsa-lib
diff --git a/pkgs/games/gambatte/fix-scons-paths.patch b/pkgs/games/gambatte/fix-scons-paths.patch
deleted file mode 100644
index ea10ee4163b42..0000000000000
--- a/pkgs/games/gambatte/fix-scons-paths.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/libgambatte/SConstruct b/libgambatte/SConstruct
-index e882514..87e1eaa 100644
---- a/libgambatte/SConstruct
-+++ b/libgambatte/SConstruct
-@@ -5,7 +5,9 @@ vars = Variables()
- vars.Add('CC')
- vars.Add('CXX')
- 
--env = Environment(CPPPATH = ['src', 'include', '../common'],
-+import os
-+env = Environment(ENV = os.environ,
-+                  CPPPATH = ['src', 'include', '../common'],
-                   CFLAGS = global_cflags + global_defines,
-                   CXXFLAGS = global_cxxflags + global_defines,
-                   variables = vars)
diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix
index 1fa07f92ccee2..38de693695b2c 100644
--- a/pkgs/games/path-of-building/default.nix
+++ b/pkgs/games/path-of-building/default.nix
@@ -2,13 +2,13 @@
 let
   data = stdenv.mkDerivation(finalAttrs: {
     pname = "path-of-building-data";
-    version = "2.34.1";
+    version = "2.35.5";
 
     src = fetchFromGitHub {
       owner = "PathOfBuildingCommunity";
       repo = "PathOfBuilding";
       rev = "v${finalAttrs.version}";
-      hash = "sha256-i6OCW5Vc9/LfNuiaEeelmXiqP7+WdIklRNRcgWb7L1w=";
+      hash = "sha256-SnsmXoxr5zSORLSpdDGw3OTTNJUDUEfCqBs6lYm4lP0=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch b/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch
deleted file mode 100644
index 65686f5546c49..0000000000000
--- a/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 33d928c54f4b35f8877cacd1e2c77b68b4dddc06 Mon Sep 17 00:00:00 2001
-From: Zane van Iperen <zane@zanevaniperen.com>
-Date: Sun, 7 Nov 2021 15:46:37 +1000
-Subject: [PATCH] fix build with ffmpeg 4
-
----
- src/arch/MovieTexture/MovieTexture_FFMpeg.cpp |  5 +----
- src/arch/MovieTexture/MovieTexture_FFMpeg.h   | 22 +++++++++----------
- 2 files changed, 12 insertions(+), 15 deletions(-)
-
-diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-index bdf2356..f79fea2 100644
---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp
-@@ -445,7 +445,7 @@ RString MovieDecoder_FFMpeg::Open( RString sFile )
- 		return "Couldn't find any video streams";
- 	m_pStream = m_fctx->streams[stream_idx];
- 
--	if( m_pStream->codec->codec_id == avcodec::CODEC_ID_NONE )
-+	if( m_pStream->codec->codec_id == avcodec::AV_CODEC_ID_NONE )
- 		return ssprintf( "Unsupported codec %08x", m_pStream->codec->codec_tag );
- 
- 	RString sError = OpenCodec();
-@@ -474,9 +474,6 @@ RString MovieDecoder_FFMpeg::OpenCodec()
- 	m_pStream->codec->idct_algo         = FF_IDCT_AUTO;
- 	m_pStream->codec->error_concealment = 3;
- 
--	if( pCodec->capabilities & CODEC_CAP_DR1 )
--		m_pStream->codec->flags |= CODEC_FLAG_EMU_EDGE;
--
- 	LOG->Trace("Opening codec %s", pCodec->name );
- 
- 	int ret = avcodec::avcodec_open2( m_pStream->codec, pCodec, NULL );
-diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.h b/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-index f4d25ef..32564e5 100644
---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.h
-@@ -64,7 +64,7 @@ private:
- 
- 	avcodec::AVStream *m_pStream;
- 	avcodec::AVFrame *m_Frame;
--	avcodec::PixelFormat m_AVTexfmt; /* PixelFormat of output surface */
-+	avcodec::AVPixelFormat m_AVTexfmt; /* PixelFormat of output surface */
- 	avcodec::SwsContext *m_swsctx;
- 
- 	avcodec::AVFormatContext *m_fctx;
-@@ -90,7 +90,7 @@ static struct AVPixelFormat_t
- {
- 	int bpp;
- 	uint32_t masks[4];
--	avcodec::PixelFormat pf;
-+	avcodec::AVPixelFormat pf;
- 	bool bHighColor;
- 	bool bByteSwapOnLittleEndian;
- 	MovieDecoderPixelFormatYCbCr YUV;
-@@ -101,7 +101,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0x0000FF00,
- 		  0x000000FF },
--		avcodec::PIX_FMT_YUYV422,
-+		avcodec::AV_PIX_FMT_YUYV422,
- 		false, /* N/A */
- 		true,
- 		PixelFormatYCbCr_YUYV422,
-@@ -112,7 +112,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0xFF000000,
- 		  0x000000FF },
--		avcodec::PIX_FMT_BGRA,
-+		avcodec::AV_PIX_FMT_BGRA,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -123,7 +123,7 @@ static struct AVPixelFormat_t
- 		  0x0000FF00,
- 		  0x000000FF,
- 		  0xFF000000 },
--		avcodec::PIX_FMT_ARGB,
-+		avcodec::AV_PIX_FMT_ARGB,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -135,7 +135,7 @@ static struct AVPixelFormat_t
- 		  0x0000FF00,
- 		  0x00FF0000,
- 		  0xFF000000 },
--		avcodec::PIX_FMT_ABGR,
-+		avcodec::AV_PIX_FMT_ABGR,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -146,7 +146,7 @@ static struct AVPixelFormat_t
- 		  0x00FF0000,
- 		  0x0000FF00,
- 		  0x000000FF },
--		avcodec::PIX_FMT_RGBA,
-+		avcodec::AV_PIX_FMT_RGBA,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -157,7 +157,7 @@ static struct AVPixelFormat_t
- 		  0x00FF00,
- 		  0x0000FF,
- 		  0x000000 },
--		avcodec::PIX_FMT_RGB24,
-+		avcodec::AV_PIX_FMT_RGB24,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -168,7 +168,7 @@ static struct AVPixelFormat_t
- 		  0x00FF00,
- 		  0xFF0000,
- 		  0x000000 },
--		avcodec::PIX_FMT_BGR24,
-+		avcodec::AV_PIX_FMT_BGR24,
- 		true,
- 		true,
- 		PixelFormatYCbCr_Invalid,
-@@ -179,12 +179,12 @@ static struct AVPixelFormat_t
- 		  0x03E0,
- 		  0x001F,
- 		  0x0000 },
--		avcodec::PIX_FMT_RGB555,
-+		avcodec::AV_PIX_FMT_RGB555,
- 		false,
- 		false,
- 		PixelFormatYCbCr_Invalid,
- 	},
--	{ 0, { 0,0,0,0 }, avcodec::PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid }
-+	{ 0, { 0,0,0,0 }, avcodec::AV_PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid }
- };
- 
- #endif
--- 
-2.31.1
-
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 65b9bfff189e1..bfd871a2a1c14 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -1,21 +1,40 @@
-{ stdenv, lib, fetchFromGitHub, cmake, nasm
-, gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis
-, glew, libpulseaudio, udev
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, nasm
+, alsa-lib
+, ffmpeg_6
+, glew
+, glib
+, gtk2
+, libmad
+, libogg
+, libpulseaudio
+, libvorbis
+, udev
+, xorg
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "stepmania";
-  version = "5.1.0-b2";
+  version = "5.1.0-b2-unstable-2022-11-14";
 
   src = fetchFromGitHub {
     owner = "stepmania";
     repo  = "stepmania";
-    rev   = "v${version}";
-    sha256 = "0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn";
+    rev   = "d55acb1ba26f1c5b5e3048d6d6c0bd116625216f";
+    hash = "sha256-49H2Q61R4l/G0fWsjCjiAUXeWwG3lcsDpV5XvR3l3QE=";
   };
 
   patches = [
-    ./0001-fix-build-with-ffmpeg-4.patch
+    # https://github.com/stepmania/stepmania/pull/2247
+    (fetchpatch {
+      name = "fix-building-with-ffmpeg6.patch";
+      url = "https://github.com/stepmania/stepmania/commit/3fef5ef60b7674d6431f4e1e4ba8c69b0c21c023.patch";
+      hash = "sha256-m+5sP+mIpcSjioRBdzChqja5zwNcwdSNAfvSJ2Lww+g=";
+    })
   ];
 
   postPatch = ''
@@ -25,8 +44,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake nasm ];
 
   buildInputs = [
-    gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis
-    glew libpulseaudio udev
+    alsa-lib
+    ffmpeg_6
+    glew
+    glib
+    gtk2
+    libmad
+    libogg
+    libpulseaudio
+    libvorbis
+    udev
+    xorg.libXtst
   ];
 
   cmakeFlags = [
@@ -38,6 +66,11 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/bin
     ln -s $out/stepmania-5.1/stepmania $out/bin/stepmania
+
+    mkdir -p $out/share/
+    cp -r $src/icons $out/share/
+
+    install -Dm444 $src/stepmania.desktop -t $out/share/applications
   '';
 
   meta = with lib; {
@@ -45,7 +78,7 @@ stdenv.mkDerivation rec {
     description = "Free dance and rhythm game for Windows, Mac, and Linux";
     platforms = platforms.linux;
     license = licenses.mit; # expat version
-    maintainers = [ ];
+    maintainers = with maintainers; [ h7x4 ];
     # never built on aarch64-linux since first introduction in nixpkgs
     broken = stdenv.isLinux && stdenv.isAarch64;
     mainProgram = "stepmania";
diff --git a/pkgs/games/tennix/fix_FTBFS.patch b/pkgs/games/tennix/fix_FTBFS.patch
deleted file mode 100644
index d58aa3a8129f3..0000000000000
--- a/pkgs/games/tennix/fix_FTBFS.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From: Thomas Perl <m@thp.io>
-Description: Fix FTBFS 
-Origin: upstream, https://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6
-Bug-Debian:  https://bugs.debian.org/664907
-
---- tennix-1.1.orig/archivetool.cc
-+++ tennix-1.1/archivetool.cc
-@@ -24,6 +24,7 @@
- #include <assert.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <libgen.h>
- #include <sys/stat.h>
- 
- #include "archive.hh"
---- tennix-1.1.orig/game.c
-+++ tennix-1.1/game.c
-@@ -388,6 +388,9 @@ void step(GameState* s) {
-                         s->ball.move_x = 4.0 + 3.0*PLAYER(s, p).power/PLAYER_POWER_MAX;
-                         s->ball.move_z = 1.1*PLAYER(s, p).power/PLAYER_POWER_MAX;
-                         break;
-+                    default:
-+                        assert(false);
-+                        break;
-                 }
-                 s->ball.move_y = get_move_y( s, p);
-                 s->sound_events ^= SOUND_EVENT_RACKET;
---- tennix-1.1.orig/network.h
-+++ tennix-1.1/network.h
-@@ -103,19 +103,19 @@ void
- net_serialize_ball(const Ball* src, NetworkBall* dest);
- 
- void
--net_unserialize_ball(const NetworkBall* src, Ball* dest);
-+net_unserialize_ball(NetworkBall* src, Ball* dest);
- 
- void
- net_serialize_player(const Player* src, NetworkPlayer* dest);
- 
- void
--net_unserialize_player(const NetworkPlayer* src, Player* dest);
-+net_unserialize_player(NetworkPlayer* src, Player* dest);
- 
- void
- net_serialize_gamestate(const GameState* src, NetworkGameState* dest);
- 
- void
--net_unserialize_gamestate(const NetworkGameState* src, GameState* dest);
-+net_unserialize_gamestate(NetworkGameState* src, GameState* dest);
- 
- #endif
- 
---- tennix-1.1.orig/locations.h
-+++ tennix-1.1/locations.h
-@@ -155,7 +155,7 @@ static Location locations[] = {
- #endif
- 
-     /* End marker */
--    { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false }
-+    { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false, false, 0, 0 }
- };
- 
- unsigned int location_count()
---- tennix-1.1.orig/tennix.cc
-+++ tennix-1.1/tennix.cc
-@@ -461,7 +461,7 @@ int main( int argc, char** argv) {
-                 start_fade();
-                 gameloop(current_game, connection);
-                 SDL_Delay(150);
--                while(SDL_PollEvent(&e));
-+                while (SDL_PollEvent(&e)) {};
- #ifdef ENABLE_FPS_LIMIT
-                 frames = 0;
-                 ft = SDL_GetTicks();
---- tennix-1.1.orig/SDL_rotozoom.c
-+++ tennix-1.1/SDL_rotozoom.c
-@@ -365,6 +365,9 @@ int zoomSurfaceRGBA(SDL_Surface * src, S
- 

- int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst, int flipx, int flipy)

- {

-+    (void)flipx;

-+    (void)flipy;

-+

-     Uint32 x, y, sx, sy, *sax, *say, *csax, *csay, csx, csy;

-     Uint8 *sp, *dp, *csp;

-     int dgap;

-@@ -393,7 +396,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-      */

-     csx = 0;

-     csax = sax;

--    for (x = 0; x < dst->w; x++) {

-+    for (x = 0; x < (Uint32)dst->w; x++) {

- 	csx += sx;

- 	*csax = (csx >> 16);

- 	csx &= 0xffff;

-@@ -401,7 +404,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-     }

-     csy = 0;

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csy += sy;

- 	*csay = (csy >> 16);

- 	csy &= 0xffff;

-@@ -410,13 +413,13 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
- 

-     csx = 0;

-     csax = sax;

--    for (x = 0; x < dst->w; x++) {

-+    for (x = 0; x < (Uint32)dst->w; x++) {

- 	csx += (*csax);

- 	csax++;

-     }

-     csy = 0;

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csy += (*csay);

- 	csay++;

-     }

-@@ -432,10 +435,10 @@ int zoomSurfaceY(SDL_Surface * src, SDL_
-      * Draw 

-      */

-     csay = say;

--    for (y = 0; y < dst->h; y++) {

-+    for (y = 0; y < (Uint32)dst->h; y++) {

- 	csax = sax;

- 	sp = csp;

--	for (x = 0; x < dst->w; x++) {

-+	for (x = 0; x < (Uint32)dst->w; x++) {

- 	    /*

- 	     * Draw 

- 	     */

-@@ -801,6 +804,8 @@ SDL_Surface* rotateSurface90Degrees(SDL_
- void rotozoomSurfaceSizeTrig(int width, int height, double angle, double zoomx, double zoomy, int *dstwidth, int *dstheight, 

- 			     double *canglezoom, double *sanglezoom)

- {

-+    (void)zoomy;

-+

-     double x, y, cx, cy, sx, sy;

-     double radangle;

-     int dstwidthhalf, dstheighthalf;

---- tennix-1.1.orig/network.c
-+++ tennix-1.1/network.c
-@@ -183,7 +183,7 @@ net_serialize_ball(const Ball* src, Netw
- }
- 
- void
--net_unserialize_ball(const NetworkBall* src, Ball* dest)
-+net_unserialize_ball(NetworkBall* src, Ball* dest)
- {
-     assert(src != NULL && dest != NULL);
-     dest->x = unpack_float(SDLNet_Read32(&(src->x)), -WIDTH, WIDTH*2);
-@@ -213,7 +213,7 @@ net_serialize_player(const Player* src,
- }
- 
- void
--net_unserialize_player(const NetworkPlayer* src, Player* dest)
-+net_unserialize_player(NetworkPlayer* src, Player* dest)
- {
-     assert(src != NULL && dest != NULL);
-     dest->x = unpack_float(SDLNet_Read32(&(src->x)), 0, WIDTH*1.2);
-@@ -221,7 +221,7 @@ net_unserialize_player(const NetworkPlay
-     dest->power = unpack_float(SDLNet_Read32(&(src->power)), 0, 110);
-     dest->use_power = src->use_power;
-     dest->score = src->score;
--    dest->desire = src->desire;
-+    dest->desire = (PlayerDesire)src->desire;
-     dest->game = src->game;
-     memcpy(dest->sets, src->sets, sizeof(unsigned char)*(SETS_TO_WIN*2));
-     dest->accelerate = unpack_float(SDLNet_Read32(&(src->accelerate)), 0, 200);
-@@ -250,7 +250,7 @@ net_serialize_gamestate(const GameState*
- }
- 
- void
--net_unserialize_gamestate(const NetworkGameState* src, GameState* dest)
-+net_unserialize_gamestate(NetworkGameState* src, GameState* dest)
- {
-     int p;
- 
---- tennix-1.1.orig/makefile
-+++ tennix-1.1/makefile
-@@ -27,24 +27,23 @@ ifeq ($(MKCALLGRAPH),1)
-   LD        =  nccld
- endif
- 
--RELEASE   =  1.1
--
--UNAME = $(shell uname)
-+RELEASE = 1.1.1
- 
- PREFIX ?= /usr/local
- BINDIR ?= $(PREFIX)/bin
- DATAROOTDIR ?= $(PREFIX)/share
- DATADIR ?= $(DATAROOTDIR)/games
- 
--LIBS =
--CFLAGS += -W -Wall -ansi -pedantic -Wcast-qual -Wwrite-strings -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" -g
-+CFLAGS += -W -Wall -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\"
- CXXFLAGS += $(CFLAGS)
- 
- USE_PYTHON ?= 1
- 
- ifeq ($(USE_PYTHON),1)
--  CFLAGS += `python-config --includes` -DTENNIX_PYTHON
--  LIBS += `python-config --libs`
-+  PYTHON_INCLUDES := $(shell python-config --includes)
-+  PYTHON_LIBS := $(shell python-config --libs)
-+  CFLAGS += $(PYTHON_INCLUDES) -DTENNIX_PYTHON
-+  LIBS += $(PYTHON_LIBS)
- endif
- 
- ifeq ($(NONFREE_LOCATIONS),1)
-@@ -67,17 +66,14 @@ ifeq ($(MAEMO),1)
-   CFLAGS += -DMAEMO
- endif
- 
--ifeq ($(UNAME),Darwin)
--  SDLLIBS=$$(sdl-config --prefix)/lib
--  LIBS += $$(sdl-config --static-libs) $(SDLLIBS)/libSDL_mixer.a $(SDLLIBS)/libSDL_image.a $(SDLLIBS)/libSDL_ttf.a $(SDLLIBS)/libSDL_net.a $$(freetype-config --prefix)/lib/libfreetype.a
--  CFLAGS += $$(sdl-config --cflags) -lz
--else
--  LIBS += $$(sdl-config --libs) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net
--  CFLAGS += $$(sdl-config --cflags)
--endif
-+SDL_LIBS := $(shell sdl-config --libs)
-+SDL_CFLAGS := $(shell sdl-config --cflags)
-+
-+LIBS += $(SDL_LIBS) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net
-+CFLAGS += $(SDL_CFLAGS)
- 
--SRC = tennix.cc game.c graphics.cc input.c util.c sound.cc animation.c network.c
- OBJ = tennix.o game.o graphics.o input.o util.o sound.o animation.o archive.o SDL_rotozoom.o network.o
-+
- ifeq ($(MSYSTEM),MINGW32)
-   OBJ += tennixres.o
- endif
---- tennix-1.1.orig/game.h
-+++ tennix-1.1/game.h
-@@ -98,6 +98,13 @@ typedef struct {
-     bool inhibit_gravity;
- } Ball;
- 
-+enum PlayerDesire {
-+    DESIRE_NORMAL,
-+    DESIRE_TOPSPIN,
-+    DESIRE_SMASH,
-+    DESIRE_MAX
-+};
-+
- typedef struct {
-     InputDevice* input;
-     char input_device_index;
-@@ -106,9 +113,9 @@ typedef struct {
-     float power;
-     bool use_power;
-     unsigned char score;
--    unsigned char desire;
-+    PlayerDesire desire;
-     bool type; /* is this player ai-controlled or human? */
--    char game; /* score for the current game */
-+    int game; /* score for the current game */
-     unsigned char sets[SETS_TO_WIN*2]; /* score for each set */
-     float accelerate; /* a value [0..1] how fast the user accelerates */
- } Player;
-@@ -118,13 +125,6 @@ enum {
-     PLAYER_TYPE_AI
- };
- 
--enum {
--    DESIRE_NORMAL,
--    DESIRE_TOPSPIN,
--    DESIRE_SMASH,
--    DESIRE_MAX
--};
--
- /* wait 2 seconds before we score the game */
- #define SCORING_DELAY 1000
- 
-@@ -161,7 +161,7 @@ enum {
- 
- typedef struct {
-     const Location* location;
--    char current_location; /* index of loc. in global location table */
-+    int current_location; /* index of loc. in global location table */
-     Ball ball;
-     Player players[MAXPLAYERS];
-     unsigned char serving_player;
diff --git a/pkgs/misc/cups/0001-TargetConditionals.patch b/pkgs/misc/cups/0001-TargetConditionals.patch
deleted file mode 100644
index 42cd4c051d4bf..0000000000000
--- a/pkgs/misc/cups/0001-TargetConditionals.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1204c841999808ba27267a0039777dcbccdcd6e3 Mon Sep 17 00:00:00 2001
-From: toonn <toonn@toonn.io>
-Date: Sun, 27 Jun 2021 12:30:08 +0200
-Subject: [PATCH] TargetConditionals
-
----
- test/ippserver.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/test/ippserver.c b/test/ippserver.c
-index 38b304f..68ccab1 100644
---- a/test/ippserver.c
-+++ b/test/ippserver.c
-@@ -25,7 +25,11 @@
-  * Include necessary headers...
-  */
- 
--#include <config.h>			/* CUPS configuration header */
-+#ifdef __APPLE__
-+#  include <xcode/config.h>		/* CUPS configuration header macOS */
-+#else
-+#  include <config.h>			/* CUPS configuration header */
-+#endif /* __APPLE__ */
- #include <cups/cups.h>			/* Public API */
- #include <cups/string-private.h>	/* CUPS string functions */
- #include <cups/thread-private.h>	/* For multithreading functions */
--- 
-2.17.2 (Apple Git-113)
-
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index c77c01df85086..e96902a130296 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -122,7 +122,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.9";
+  version = "1.9.10";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -133,7 +133,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-UUrG3CMCAC5hyy2U5I4zqvJoSP/+zuiq1P+2Pdb3QD0=";
+    hash = "sha256-qB7SGkjPahZmLax8HrSdLvORAXTBcuN5NohT0KUjCnM=";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 49f16db002f3b..4192de0cfeab6 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -6,7 +6,6 @@
 , libcap ? null, systemd ? null
 }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "lxc";
   version = "4.0.12";
@@ -48,10 +47,10 @@ stdenv.mkDerivation rec {
     "--disable-api-docs"
     "--with-init-script=none"
     "--with-distro=nixos" # just to be sure it is "unknown"
-  ] ++ optional (libapparmor != null) "--enable-apparmor"
-    ++ optional (libselinux != null) "--enable-selinux"
-    ++ optional (libseccomp != null) "--enable-seccomp"
-    ++ optional (libcap != null) "--enable-capabilities"
+  ] ++ lib.optional (libapparmor != null) "--enable-apparmor"
+    ++ lib.optional (libselinux != null) "--enable-selinux"
+    ++ lib.optional (libseccomp != null) "--enable-seccomp"
+    ++ lib.optional (libcap != null) "--enable-capabilities"
     ++ [
     "--disable-examples"
     "--enable-python"
@@ -90,7 +89,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://linuxcontainers.org/";
     description = "Userspace tools for Linux Containers, a lightweight virtualization system";
-    license = licenses.lgpl21Plus;
+    license = lib.licenses.lgpl21Plus;
 
     longDescription = ''
       LXC is the userspace control package for Linux Containers, a
@@ -100,7 +99,7 @@ stdenv.mkDerivation rec {
       mechanisms to Linux’s existing process management infrastructure.
     '';
 
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = lib.platforms.linux;
+    maintainers = lib.teams.lxc.members;
   };
 }
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 96477c5f44268..28777d36e6beb 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -2,7 +2,6 @@
 , util-linux, makeWrapper
 , enableDebugBuild ? config.lxcfs.enableDebugBuild or false }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "lxcfs";
   version = "4.0.12";
@@ -48,8 +47,8 @@ stdenv.mkDerivation rec {
     description = "FUSE filesystem for LXC";
     homepage = "https://linuxcontainers.org/lxcfs";
     changelog = "https://linuxcontainers.org/lxcfs/news/";
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
+    maintainers = lib.teams.lxc.members;
   };
 }
diff --git a/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch b/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
deleted file mode 100644
index 328a4a1026189..0000000000000
--- a/pkgs/os-specific/linux/tcp-wrappers/tcp-wrappers-7.6-headers.patch
+++ /dev/null
@@ -1,295 +0,0 @@
---- a/options.c
-+++ b/options.c
-@@ -34,6 +34,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- a/safe_finger.c
-+++ b/safe_finger.c
-@@ -20,6 +20,11 @@
- 
- /* System libraries */
- 
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <stdlib.h>
-+#include <sys/wait.h>
-+#include <grp.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <signal.h>
-@@ -27,7 +31,7 @@
- #include <ctype.h>
- #include <pwd.h>
- 
--extern void exit();
-+int pipe_stdin(char **argv);
- 
- /* Local stuff */
- 
---- a/scaffold.c
-+++ b/scaffold.c
-@@ -10,6 +10,7 @@
- 
- /* System libraries. */
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/socket.h>
-@@ -27,7 +27,4 @@
- #endif
- 
--#ifndef INET6
--extern char *malloc();
--#endif
- 
- /* Application-specific. */
---- a/shell_cmd.c
-+++ b/shell_cmd.c
-@@ -14,6 +14,10 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <fcntl.h>
-+#include <sys/wait.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <signal.h>
-@@ -25,8 +25,6 @@
- #include <syslog.h>
- #include <string.h>
- 
--extern void exit();
--
- /* Local stuff. */
- 
- #include "tcpd.h"
---- a/tcpdchk.c
-+++ b/tcpdchk.c
-@@ -20,6 +20,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #ifdef INET6
-@@ -35,10 +36,7 @@
- #include <netdb.h>
- #include <string.h>
- 
--extern int errno;
--extern void exit();
--extern int optind;
--extern char *optarg;
-+int cidr_mask_addr(char *str);
- 
- #ifndef INADDR_NONE
- #define INADDR_NONE     (-1)		/* XXX should be 0xffffffff */
---- a/clean_exit.c
-+++ b/clean_exit.c
-@@ -13,8 +13,8 @@
- #endif
- 
- #include <stdio.h>
--
--extern void exit();
-+#include <unistd.h>
-+#include <stdlib.h>
- 
- #include "tcpd.h"
- 
---- a/hosts_access.c
-+++ b/hosts_access.c
-@@ -23,6 +23,7 @@
- 
- /* System libraries. */
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #ifdef INT32_T
-     typedef uint32_t u_int32_t;
-@@ -43,8 +44,8 @@
- #include <netdb.h>
- #endif
- 
--extern char *fgets();
--extern int errno;
-+static int match_pattern_ylo(const char *s, const char *pattern);
-+int cidr_mask_addr(char *str);
- 
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
---- a/inetcf.c
-+++ b/inetcf.c
-@@ -9,15 +9,14 @@
- static char sccsid[] = "@(#) inetcf.c 1.7 97/02/12 02:13:23";
- #endif
- 
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <stdio.h>
- #include <errno.h>
- #include <string.h>
- 
--extern int errno;
--extern void exit();
--
-+#include "scaffold.h"
- #include "tcpd.h"
- #include "inetcf.h"
- 
---- a/percent_x.c
-+++ b/percent_x.c
-@@ -16,12 +16,12 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <string.h>
- 
--extern void exit();
--
- /* Local stuff. */
- 
- #include "tcpd.h"
---- a/rfc931.c
-+++ b/rfc931.c
-@@ -15,6 +15,7 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <sys/types.h>
---- a/tcpd.c
-+++ b/tcpd.c
-@@ -16,6 +16,7 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
- #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/stat.h>
-@@ -39,6 +39,8 @@
- #include "patchlevel.h"
- #include "tcpd.h"
- 
-+void fix_options(struct request_info *request);
-+
- int     allow_severity = SEVERITY;	/* run-time adjustable */
- int     deny_severity = LOG_WARNING;	/* ditto */
- 
---- a/tcpdmatch.c
-+++ b/tcpdmatch.c
-@@ -19,6 +19,8 @@
- 
- /* System libraries. */
- 
-+#include <unistd.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/socket.h>
-@@ -30,9 +32,6 @@
- #include <setjmp.h>
- #include <string.h>
- 
--extern void exit();
--extern int optind;
--extern char *optarg;
- 
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
---- a/update.c
-+++ b/update.c
-@@ -19,6 +19,7 @@
- 
- /* System libraries */
- 
-+#include <unistd.h>
- #include <stdio.h>
- #include <syslog.h>
- #include <string.h>
---- a/misc.c
-+++ b/misc.c
-@@ -14,11 +14,10 @@
- #include <arpa/inet.h>
- #include <stdio.h>
- #include <string.h>
-+#include <stdlib.h>
- 
- #include "tcpd.h"
- 
--extern char *fgets();
--
- #ifndef	INADDR_NONE
- #define	INADDR_NONE	(-1)		/* XXX should be 0xffffffff */
- #endif
---- a/fix_options.c
-+++ b/fix_options.c
-@@ -32,6 +32,7 @@
- 
- /* fix_options - get rid of IP-level socket options */
- 
-+void
- fix_options(request)
- struct request_info *request;
- {
-@@ -38,11 +38,8 @@
- #ifdef IP_OPTIONS
-     unsigned char optbuf[BUFFER_SIZE / 3], *cp;
-     char    lbuf[BUFFER_SIZE], *lp;
--#ifdef __GLIBC__
--    size_t  optsize = sizeof(optbuf), ipproto;
--#else
--    int     optsize = sizeof(optbuf), ipproto;
--#endif
-+    socklen_t optsize = sizeof(optbuf);
-+    int ipproto;
-     struct protoent *ip;
-     int     fd = request->fd;
-     unsigned int opt;
---- a/socket.c
-+++ b/socket.c
-@@ -95,11 +95,7 @@
-     static struct sockaddr_in client;
-     static struct sockaddr_in server;
- #endif
--#ifdef __GLIBC__
--    size_t  len;
--#else
--    int     len;
--#endif
-+    socklen_t len;
-     char    buf[BUFSIZ];
-     int     fd = request->fd;
- 
-@@ -430,11 +426,7 @@
- #else
-     struct sockaddr_in sin;
- #endif
--#ifdef __GLIBC__
--    size_t  size = sizeof(sin);
--#else
--    int     size = sizeof(sin);
--#endif
-+    socklen_t size;
- 
-     /*
-      * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch b/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch
deleted file mode 100644
index 4e6f56a7cf121..0000000000000
--- a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From eca202d2893c9f2f91628ad6244b52cf7880bfcf Mon Sep 17 00:00:00 2001
-From: Graham Bennett <graham@grahambennett.org>
-Date: Mon, 21 Nov 2022 15:39:54 +0000
-Subject: [PATCH] Revert "fix yarn warning from d3-color (#27139)"
-
-This reverts commit b9e133e40c2848b0d555051a99bf8d2816fd28a7.
----
- airflow/www/package.json |  3 ---
- airflow/www/yarn.lock    | 13 +++++++++----
- 2 files changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/airflow/www/package.json b/airflow/www/package.json
-index f694089ee6..3d37ad4c46 100644
---- a/airflow/www/package.json
-+++ b/airflow/www/package.json
-@@ -120,8 +120,5 @@
-     "redoc": "^2.0.0-rc.72",
-     "type-fest": "^2.17.0",
-     "url-search-params-polyfill": "^8.1.0"
--  },
--  "resolutions": {
--    "d3-color": "^3.1.0"
-   }
- }
-diff --git a/airflow/www/yarn.lock b/airflow/www/yarn.lock
-index bafd63a368..dad0ebabab 100644
---- a/airflow/www/yarn.lock
-+++ b/airflow/www/yarn.lock
-@@ -4518,10 +4518,15 @@ d3-collection@1, d3-collection@^1.0.4:
-   resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
-   integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
- 
--d3-color@1, "d3-color@1 - 2", d3-color@^3.1.0:
--  version "3.1.0"
--  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
--  integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
-+d3-color@1:
-+  version "1.4.1"
-+  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a"
-+  integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==
-+
-+"d3-color@1 - 2":
-+  version "2.0.0"
-+  resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e"
-+  integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ==
- 
- d3-contour@1:
-   version "1.3.2"
--- 
-2.37.3
-
diff --git a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
index bbe9535824e72..463a7579763d4 100644
--- a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
+++ b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py
@@ -1,28 +1,31 @@
 #!/usr/bin/env python3
 
 import json
-import importlib_metadata
+import os
 import sys
 
+import importlib_metadata
 from packaging.requirements import Requirement
 
 
+def error(msg: str) -> None:
+    print(f"  - {msg}", file=sys.stderr)
+    return False
+
+
 def check_requirement(req: str):
     # https://packaging.pypa.io/en/stable/requirements.html
     requirement = Requirement(req)
     try:
         version = importlib_metadata.distribution(requirement.name).version
     except importlib_metadata.PackageNotFoundError:
-        print(f"  - Dependency {requirement.name} is missing", file=sys.stderr)
-        return False
+        return error(f"{requirement.name}{requirement.specifier} not present")
 
     # https://packaging.pypa.io/en/stable/specifiers.html
-    if not version in requirement.specifier:
-        print(
-            f"  - {requirement.name}{requirement.specifier} expected, but got {version}",
-            file=sys.stderr,
+    if version not in requirement.specifier:
+        return error(
+            f"{requirement.name}{requirement.specifier} expected, but got {version}"
         )
-        return False
 
     return True
 
@@ -30,13 +33,24 @@ def check_requirement(req: str):
 def check_manifest(manifest_file: str):
     with open(manifest_file) as fd:
         manifest = json.load(fd)
+
+    ok = True
+
+    derivation_domain = os.environ.get("domain")
+    manifest_domain = manifest["domain"]
+    if derivation_domain != manifest_domain:
+        ok = False
+        error(
+            f"Derivation attribute domain ({derivation_domain}) must match manifest domain ({manifest_domain})"
+        )
+
     if "requirements" in manifest:
-        ok = True
         for requirement in manifest["requirements"]:
             ok &= check_requirement(requirement)
-        if not ok:
-            print("Manifest requirements are not met", file=sys.stderr)
-            sys.exit(1)
+
+    if not ok:
+        error("Manifest check failed.")
+        sys.exit(1)
 
 
 if __name__ == "__main__":
diff --git a/pkgs/servers/home-assistant/build-custom-component/default.nix b/pkgs/servers/home-assistant/build-custom-component/default.nix
index 05b7c2d4b0392..2948d15bb8144 100644
--- a/pkgs/servers/home-assistant/build-custom-component/default.nix
+++ b/pkgs/servers/home-assistant/build-custom-component/default.nix
@@ -3,7 +3,8 @@
 , makeSetupHook
 }:
 
-{ pname
+{ owner
+, domain
 , version
 , format ? "other"
 , ...
@@ -17,13 +18,14 @@ let
 in
 home-assistant.python.pkgs.buildPythonPackage (
   {
+    pname = "${owner}/${domain}";
     inherit format;
 
     installPhase = ''
       runHook preInstall
 
       mkdir $out
-      cp -r $src/custom_components/ $out/
+      cp -r ./custom_components/ $out/
 
       runHook postInstall
     '';
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 0ed97c596724c..9519d190b808f 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -3540,7 +3540,8 @@
       renault-api
     ];
     "renson" = ps: with ps; [
-    ]; # missing inputs: renson-endura-delta
+      renson-endura-delta
+    ];
     "reolink" = ps: with ps; [
       aiohttp-cors
       reolink-aio
@@ -5568,6 +5569,7 @@
     "reddit"
     "remote"
     "renault"
+    "renson"
     "reolink"
     "repairs"
     "rest"
diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md
index a7244b25c173b..d7137e5c62f7f 100644
--- a/pkgs/servers/home-assistant/custom-components/README.md
+++ b/pkgs/servers/home-assistant/custom-components/README.md
@@ -25,7 +25,7 @@ versions into the Python environment.
 }:
 
 buildHomeAssistantComponent {
-  # pname, version
+  # owner, domain, version
 
   src = fetchFromGithub {
     # owner, repo, rev, hash
@@ -40,18 +40,34 @@ buildHomeAssistantComponent {
   }
 }
 
-## Package name normalization
+## Package attribute
 
-Apply the same normalization rules as defined for python packages in
-[PEP503](https://peps.python.org/pep-0503/#normalized-names).
-The name should be lowercased and dots, underlines or multiple
-dashes should all be replaced by a single dash.
+The attribute name must reflect the domain as seen in the
+`manifest.json`, which in turn will match the python module name below
+in the `custom_components/` directory.
+
+**Example:**
+
+The project [mweinelt/ha-prometheus-sensor](https://github.com/mweinelt/ha-prometheus-sensor/blob/1.0.0/custom_components/prometheus_sensor/manifest.json#L2)
+would receive the attribute name `"prometheus_sensor"`, because both
+domain in the `manifest.json` as well as the module name are
+`prometheus_sensor`.
+
+## Package name
+
+The `pname` attribute is a composition of both `owner` and `domain`.
+
+Don't set `pname`, set `owner and `domain` instead.
+
+Exposing the `domain` attribute separately allows checking for
+conflicting components at eval time.
 
 ## Manifest check
 
 The `buildHomeAssistantComponent` builder uses a hook to check whether
 the dependencies specified in the `manifest.json` are present and
-inside the specified version range.
+inside the specified version range. It also makes sure derivation
+and manifest agree about the domain name.
 
 There shouldn't be a need to disable this hook, but you can set
 `dontCheckManifest` to `true` in the derivation to achieve that.
diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix
index 4a96b305964ae..9e1800b39cb94 100644
--- a/pkgs/servers/home-assistant/custom-components/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/default.nix
@@ -2,5 +2,6 @@
 }:
 
 {
-  prometheus-sensor = callPackage ./prometheus-sensor {};
+  miele = callPackage ./miele {};
+  prometheus_sensor = callPackage ./prometheus_sensor {};
 }
diff --git a/pkgs/servers/home-assistant/custom-components/miele/default.nix b/pkgs/servers/home-assistant/custom-components/miele/default.nix
new file mode 100644
index 0000000000000..71624f674b4d7
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-components/miele/default.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  fetchFromGitHub,
+  buildHomeAssistantComponent,
+  flatdict,
+  pymiele,
+}:
+buildHomeAssistantComponent rec {
+  owner = "astrandb";
+  domain = "miele";
+  version = "0.1.19";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo = domain;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk=";
+  };
+
+  propagatedBuildInputs = [
+    flatdict
+    pymiele
+  ];
+
+  # Makefile only used for bumping the version
+  dontBuild = true;
+
+  meta = with lib; {
+    changelog = "https://github.com/astrandb/miele/releases/tag/v${version}";
+    description = "A modern integration for Miele devices in Home Assistant";
+    homepage = "https://github.com/astrandb/miele";
+    maintainers = with maintainers; [jamiemagee];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix
index 07bcd9abec1ca..2368d85552b25 100644
--- a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix
@@ -4,7 +4,8 @@
 }:
 
 buildHomeAssistantComponent rec {
-  pname = "prometheus-sensor";
+  owner = "mweinelt";
+  domain = "prometheus_sensor";
   version = "1.0.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
index 4bb1e63b5f7f1..848e6062451a7 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
@@ -2,6 +2,8 @@
 }:
 
 {
+  light-entity-card = callPackage ./light-entity-card { };
+
   mini-graph-card = callPackage ./mini-graph-card {};
 
   mini-media-player = callPackage ./mini-media-player {};
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
new file mode 100644
index 0000000000000..9c1e97b0f8ede
--- /dev/null
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "light-entity-card";
+  version = "6.1.0";
+
+  src = fetchFromGitHub {
+    owner = "ljmerza";
+    repo = "light-entity-card";
+    rev = "refs/tags/${version}";
+    hash = "sha256-CJpRvgPf7+v9m/8/O2R+nut3PnyDPC8OTipyE+Brp9U=";
+  };
+
+  npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0=";
+
+  env.NODE_OPTIONS = "--openssl-legacy-provider";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    cp -v dist/light-entity-card.js* $out/
+
+    runHook postInstall
+  '';
+
+  passthru.entrypoint = "light-entity-card.js";
+
+  meta = with lib; {
+    description = "Control any light or switch entity";
+    homepage = "https://github.com/ljmerza/light-entity-card";
+    changelog = "https://github.com/ljmerza/light-entity-card/releases/tag/${version}";
+    maintainers = with maintainers; [ SuperSandro2000 ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
index 6945b18bde20b..749b15398f4b0 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mini-media-player";
-  version = "1.16.5";
+  version = "1.16.6";
 
   src = fetchFromGitHub {
     owner = "kalkih";
     repo = "mini-media-player";
     rev = "v${version}";
-    hash = "sha256-ydkY7Qx2GMh4CpvvBAQubJ7PlxSscDZRJayn82bOczM=";
+    hash = "sha256-1cC9dyZ9+7dXSL/dmFD0HV7SgsBW2zA7a+eOKVwbzg8=";
   };
 
-  npmDepsHash = "sha256-v9NvZOrQPMOoG3LKACnu79jKgZtcnGiopWad+dFbplw=";
+  npmDepsHash = "sha256-/7roW1xkZmGuB/8nFaQz0Yeuai6yJ+cH7Uqa/zxfa5w=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch b/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch
deleted file mode 100644
index 1d0d716290dd6..0000000000000
--- a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
-index 67083b2c6782..273cb5f5a42b 100644
---- a/libexec/httpd/bozohttpd.c
-+++ b/libexec/httpd/bozohttpd.c
-@@ -138,6 +138,7 @@
- #include <grp.h>
- #include <stdarg.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <strings.h>
- #include <string.h>
- #include <syslog.h>
diff --git a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch b/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch
deleted file mode 100644
index 9a01a4adce7fc..0000000000000
--- a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff --git a/libexec/httpd/auth-bozo.c b/libexec/httpd/auth-bozo.c
-index a2f2ee4304c1..c9eefe3313dd 100644
---- a/libexec/httpd/auth-bozo.c
-+++ b/libexec/httpd/auth-bozo.c
-@@ -54,7 +54,7 @@ bozo_auth_check(bozo_httpreq_t *request, const char *file)
- 	bozohttpd_t *httpd = request->hr_httpd;
- 	struct stat sb;
- 	char dir[MAXPATHLEN], authfile[MAXPATHLEN], *basename;
--	char user[BUFSIZ], *pass;
-+	char user[BOZO_MINBUFSIZE], *pass;
- 	FILE *fp;
- 	int len;
- 
-@@ -144,7 +144,7 @@ bozo_auth_check_headers(bozo_httpreq_t *request, char *val, char *str,
- 
- 	if (strcasecmp(val, "authorization") == 0 &&
- 	    strncasecmp(str, "Basic ", 6) == 0) {
--		char	authbuf[BUFSIZ];
-+		char	authbuf[BOZO_MINBUFSIZE];
- 		char	*pass = NULL;
- 		ssize_t	alen;
- 
-diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c
-index 273cb5f5a42b..f619567ba822 100644
---- a/libexec/httpd/bozohttpd.c
-+++ b/libexec/httpd/bozohttpd.c
-@@ -2275,7 +2275,7 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
- 		}
- #endif /* !NO_USER_SUPPORT */
- 
--		size = snprintf(httpd->errorbuf, BUFSIZ,
-+		size = snprintf(httpd->errorbuf, BOZO_MINBUFSIZE,
- 		    "<html><head><title>%s</title></head>\n"
- 		    "<body><h1>%s</h1>\n"
- 		    "%s%s: <pre>%s</pre>\n"
-@@ -2285,10 +2285,10 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request,
- 		    user ? user : "", file,
- 		    reason, hostname, portbuf, hostname, portbuf);
- 		free(user);
--		if (size >= (int)BUFSIZ) {
-+		if (size >= (int)BOZO_MINBUFSIZE) {
- 			bozowarn(httpd,
- 				"bozo_http_error buffer too small, truncated");
--			size = (int)BUFSIZ;
-+			size = (int)BOZO_MINBUFSIZE;
- 		}
- 
- 		if (file_alloc)
-@@ -2515,7 +2515,7 @@ bozo_init_httpd(bozohttpd_t *httpd)
- 	httpd->mmapsz = BOZO_MMAPSZ;
- 
- 	/* error buffer for bozo_http_error() */
--	if ((httpd->errorbuf = malloc(BUFSIZ)) == NULL) {
-+	if ((httpd->errorbuf = malloc(BOZO_MINBUFSIZE)) == NULL) {
- 		fprintf(stderr,
- 			"bozohttpd: memory_allocation failure\n");
- 		return 0;
-diff --git a/libexec/httpd/bozohttpd.h b/libexec/httpd/bozohttpd.h
-index c83bd112d9d7..7b19494cf5ad 100644
---- a/libexec/httpd/bozohttpd.h
-+++ b/libexec/httpd/bozohttpd.h
-@@ -227,6 +227,8 @@ typedef struct bozoprefs_t {
- /* only allow this many total headers bytes */
- #define BOZO_HEADERS_MAX_SIZE (16 * 1024)
- 
-+#define BOZO_MINBUFSIZE (4 * 1024)
-+
- /* debug flags */
- #define DEBUG_NORMAL	1
- #define DEBUG_FAT	2
-diff --git a/libexec/httpd/testsuite/t10.out b/libexec/httpd/testsuite/t10.out
-index cf410110627c..b3ab88f94fb9 100644
---- a/libexec/httpd/testsuite/t10.out
-+++ b/libexec/httpd/testsuite/t10.out
-@@ -1,8 +1,8 @@
- HTTP/1.0 404 Not Found

- Content-Type: text/html

--Content-Length: 1024

--Server: bozohttpd/20140708

-+Content-Length: 4096

-+Server: bozohttpd/20210403

- 

- <html><head><title>404 Not Found</title></head>
- <body><h1>404 Not Found</h1>
--/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-\ No newline at end of file
-+/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-\ No newline at end of file
diff --git a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch b/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
deleted file mode 100644
index bac048892fe83..0000000000000
--- a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 60abf3ee8864980a95b32e2d6cf60e26b49654c0 Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Wed, 7 Jun 2017 22:15:39 +0200
-Subject: [PATCH 2/2] Adding --siteconfigpath to not be forced to use global /etc/spamasassin configuration directory but to provide an alternative location.
-
----
- sa-update.raw | 5 +++++
- lib/Mail/SpamAssassin/PerMsgStatus.pm | 2 +
- 2 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/sa-update.raw b/sa-update.raw
-index bb7396d..39f681f 100755
---- a/sa-update.raw
-+++ b/sa-update.raw
-@@ -196,6 +196,7 @@ GetOptions(
-   'gpgkeyfile=s'			=> \$opt{'gpgkeyfile'},
-   'channelfile=s'			=> \$opt{'channelfile'},
-   'updatedir=s'				=> \$opt{'updatedir'},
-+  'siteconfigpath=s'                           => \$opt{'siteconfigpath'},
-   'gpg!'				=> \$GPG_ENABLED,
- 
-   '4'                                   => sub { $opt{'force_pf'} = 'inet' },
-@@ -267,6 +268,9 @@ else {
-   $opt{'updatedir'} = $SA->sed_path('__local_state_dir__/__version__');
- }
- 
-+if (defined $opt{'siteconfigpath'}) {
-+  $LOCAL_RULES_DIR = untaint_file_path($opt{'siteconfigpath'});
-+}
- 
- # check only disabled gpg
- # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5854
-@@ -1808,7 +1812,7 @@ Options:
-   --updatedir path        Directory to place updates, defaults to the
-                           SpamAssassin site rules directory
-                           (default: @@LOCAL_STATE_DIR@@/@@VERSION@@)
-+  --siteconfigpath=path   Path for site configs
-   --refreshmirrors        Force the MIRRORED.BY file to be updated
-   -D, --debug [area=n,...]  Print debugging messages
-   -v, --verbose           Be verbose, like print updated channel names;
--- 
-
-2.12.2
-
diff --git a/pkgs/servers/matrix-synapse/sliding-sync/default.nix b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
index aca863ed2da99..28a788c9c3283 100644
--- a/pkgs/servers/matrix-synapse/sliding-sync/default.nix
+++ b/pkgs/servers/matrix-synapse/sliding-sync/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "matrix-sliding-sync";
-  version = "0.99.12";
+  version = "0.99.13";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "sliding-sync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7M+Ti1SfurRngXg2oCdLveG6QyjM2BjKnoovJxz7ZOY=";
+    hash = "sha256-jrsMPFUSdtUs6qG902+oRBGUvFGmhR8/NHCUwB9oVnE=";
   };
 
-  vendorHash = "sha256-li5kEF7U7KyyMLMhVBqvnLuLXI6QrJl1KeusKrQXo8w=";
+  vendorHash = "sha256-THjvc0TepIBFOTte7t63Dmadf3HMuZ9m0YzQMI5e5Pw=";
 
   subPackages = [ "cmd/syncv3" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/atlas-exporter.nix b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix
new file mode 100644
index 0000000000000..ce40a93e66f84
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/atlas-exporter.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "atlas-exporter";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "czerwonk";
+    repo = "atlas_exporter";
+    rev = version;
+    sha256 = "sha256-vhUhWO7fQpUHT5nyxbT8AylgUqDNZRSb+EGRNGZJ14E=";
+  };
+
+  vendorHash = "sha256-tR+OHxj/97AixuAp0Kx9xQsKPAxpvF6hDha5BgMBha0=";
+
+  meta = with lib; {
+    description = "Prometheus exporter for RIPE Atlas measurement results ";
+    homepage = "https://github.com/czerwonk/atlas_exporter";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ clerie ];
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch b/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch
deleted file mode 100644
index 28616251f37ef..0000000000000
--- a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e81b06df67b1d42ef915615fafa0b56ef956673b Mon Sep 17 00:00:00 2001
-From: Andreas Fuchs <asf@boinkor.net>
-Date: Thu, 11 Feb 2021 17:30:44 -0500
-Subject: [PATCH] Return the cached value if it's not time to scan again yet
-
-This should ensure that if we have a valid value cached (which ought
-to be every time after the first scan), we return it as metrics.
-
-This fixes the crashes that would happen if queries happened earlier
-than the re-scan interval allowed.
-
-Address review feedback: Shorten the time-to-scan logic
-
-We can express this in a single if statement, so it takes fewer lines
-to do the "should we check again" check.
----
- readjson.go | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-diff --git a/readjson.go b/readjson.go
-index da35448..c9996fd 100644
---- a/readjson.go
-+++ b/readjson.go
-@@ -78,14 +78,7 @@ func readData(device string) (gjson.Result, error) {
- 
- 	if _, err := os.Stat(device); err == nil {
- 		cacheValue, cacheOk := jsonCache[device]
--		timeToScan := false
--		if cacheOk {
--			timeToScan = time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration))
--		} else {
--			timeToScan = true
--		}
--
--		if timeToScan {
-+		if !cacheOk || time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) {
- 			json, ok := readSMARTctl(device)
- 			if ok {
- 				jsonCache[device] = JSONCache{JSON: json, LastCollect: time.Now()}
-@@ -93,7 +86,7 @@ func readData(device string) (gjson.Result, error) {
- 			}
- 			return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("smartctl returned bad data for device %s", device)
- 		}
--		return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Too early collect called for device %s", device)
-+		return cacheValue.JSON, nil
- 	}
- 	return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Device %s unavialable", device)
- }
--- 
-2.33.1
-
diff --git a/pkgs/servers/mxisd/0001-gradle.patch b/pkgs/servers/mxisd/0001-gradle.patch
deleted file mode 100644
index 8a9f5a81180bb..0000000000000
--- a/pkgs/servers/mxisd/0001-gradle.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/build.gradle	2019-05-16 21:09:08.373112953 +0200
-+++ b/build.gradle	2019-05-16 21:09:37.093114427 +0200
-@@ -72,7 +72,7 @@
- 
- buildscript {
-     repositories {
--        jcenter()
-+REPLACE
-     }
- 
-     dependencies {
-@@ -81,9 +81,7 @@
- }
- 
- repositories {
--    jcenter()
--    maven { url "https://kamax.io/maven/releases/" }
--    maven { url "https://kamax.io/maven/snapshots/" }
-+REPLACE
- }
- 
- dependencies {
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 893404a6084f3..320eac3bc8ce6 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -279,6 +279,7 @@ let
       popd &>/dev/null
 
       redis-server >/dev/null &
+      REDIS_PID=$!
 
       initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null
       postgres -D $NIX_BUILD_TOP/postgres -k $NIX_BUILD_TOP >/dev/null &
@@ -304,6 +305,8 @@ let
 
       bundle exec rake db:migrate >/dev/null
       chmod -R +w tmp
+
+      kill $REDIS_PID
     '';
 
     buildPhase = ''
diff --git a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch b/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
deleted file mode 100644
index 30493b543e38c..0000000000000
--- a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/lib/discourse.rb b/lib/discourse.rb
-index ea2a3cbafd..66454d9157 100644
---- a/lib/discourse.rb
-+++ b/lib/discourse.rb
-@@ -62,7 +62,7 @@ module Discourse
-         fd.fsync()
-       end
- 
--      File.rename(temp_destination, destination)
-+      FileUtils.mv(temp_destination, destination)
- 
-       nil
-     end
-@@ -76,7 +76,7 @@ module Discourse
-       FileUtils.mkdir_p(File.join(Rails.root, 'tmp'))
-       temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex)
-       execute_command('ln', '-s', source, temp_destination)
--      File.rename(temp_destination, destination)
-+      FileUtils.mv(temp_destination, destination)
- 
-       nil
-     end
diff --git a/pkgs/servers/web-apps/netbox/config_3_3.patch b/pkgs/servers/web-apps/netbox/config_3_3.patch
deleted file mode 100644
index 1adc0b537a4ef..0000000000000
--- a/pkgs/servers/web-apps/netbox/config_3_3.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
-index d5a7bfaec..68754a8c5 100644
---- a/netbox/netbox/settings.py
-+++ b/netbox/netbox/settings.py
-@@ -222,6 +222,7 @@ TASKS_REDIS_PASSWORD = TASKS_REDIS.get('PASSWORD', '')
- TASKS_REDIS_DATABASE = TASKS_REDIS.get('DATABASE', 0)
- TASKS_REDIS_SSL = TASKS_REDIS.get('SSL', False)
- TASKS_REDIS_SKIP_TLS_VERIFY = TASKS_REDIS.get('INSECURE_SKIP_TLS_VERIFY', False)
-+TASKS_REDIS_URL = TASKS_REDIS.get('URL')
- 
- # Caching
- if 'caching' not in REDIS:
-@@ -236,11 +237,12 @@ CACHING_REDIS_SENTINELS = REDIS['caching'].get('SENTINELS', [])
- CACHING_REDIS_SENTINEL_SERVICE = REDIS['caching'].get('SENTINEL_SERVICE', 'default')
- CACHING_REDIS_PROTO = 'rediss' if REDIS['caching'].get('SSL', False) else 'redis'
- CACHING_REDIS_SKIP_TLS_VERIFY = REDIS['caching'].get('INSECURE_SKIP_TLS_VERIFY', False)
-+CACHING_REDIS_URL = REDIS['caching'].get('URL', f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}')
- 
- CACHES = {
-     'default': {
-         'BACKEND': 'django_redis.cache.RedisCache',
--        'LOCATION': f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}',
-+        'LOCATION': CACHING_REDIS_URL,
-         'OPTIONS': {
-             'CLIENT_CLASS': 'django_redis.client.DefaultClient',
-             'PASSWORD': CACHING_REDIS_PASSWORD,
-@@ -383,7 +385,7 @@ USE_X_FORWARDED_HOST = True
- X_FRAME_OPTIONS = 'SAMEORIGIN'
- 
- # Static files (CSS, JavaScript, Images)
--STATIC_ROOT = BASE_DIR + '/static'
-+STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/')
- STATIC_URL = f'/{BASE_PATH}static/'
- STATICFILES_DIRS = (
-     os.path.join(BASE_DIR, 'project-static', 'dist'),
-@@ -562,6 +564,14 @@ if TASKS_REDIS_USING_SENTINEL:
-             'socket_connect_timeout': TASKS_REDIS_SENTINEL_TIMEOUT
-         },
-     }
-+elif TASKS_REDIS_URL:
-+    RQ_PARAMS = {
-+        'URL': TASKS_REDIS_URL,
-+        'PASSWORD': TASKS_REDIS_PASSWORD,
-+        'SSL': TASKS_REDIS_SSL,
-+        'SSL_CERT_REQS': None if TASKS_REDIS_SKIP_TLS_VERIFY else 'required',
-+        'DEFAULT_TIMEOUT': RQ_DEFAULT_TIMEOUT,
-+    }
- else:
-     RQ_PARAMS = {
-         'HOST': TASKS_REDIS_HOST,
diff --git a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch b/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch
deleted file mode 100644
index 1e97b7d85ce01..0000000000000
--- a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/netbox/netbox/graphql/scalars.py b/netbox/netbox/graphql/scalars.py
-index 7d14189dd..0a18e79d2 100644
---- a/netbox/netbox/graphql/scalars.py
-+++ b/netbox/netbox/graphql/scalars.py
-@@ -1,6 +1,6 @@
- from graphene import Scalar
- from graphql.language import ast
--from graphql.type.scalars import MAX_INT, MIN_INT
-+from graphql.type.scalars import GRAPHQL_MAX_INT, GRAPHQL_MIN_INT
- 
- 
- class BigInt(Scalar):
-@@ -10,7 +10,7 @@ class BigInt(Scalar):
-     @staticmethod
-     def to_float(value):
-         num = int(value)
--        if num > MAX_INT or num < MIN_INT:
-+        if num > GRAPHQL_MAX_INT or num < GRAPHQL_MIN_INT:
-             return float(num)
-         return num
- 
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 1fa5b9c6151ab..b756da0754ebc 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -135,7 +135,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     pname = "fish";
-    version = "3.6.1";
+    version = "3.6.4";
 
     src = fetchurl {
       # There are differences between the release tarball and the tarball GitHub
@@ -145,7 +145,7 @@ let
       # --version`), as well as the local documentation for all builtins (and
       # maybe other things).
       url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${pname}-${version}.tar.xz";
-      hash = "sha256-VUArtHymc52KuiXkF4CQW1zhvOCl4N0X3KkItbwLSbI=";
+      hash = "sha256-Dz9hDlgN4JL76ILIqnZiPs+Ruxb98FQyQebpDV1Lw5M=";
     };
 
     # Fix FHS paths in tests
@@ -156,6 +156,8 @@ let
       sed -i 's|L"/bin/echo"|L"${coreutils}/bin/echo"|' src/fish_tests.cpp
       sed -i 's|L"/bin/c"|L"${coreutils}/bin/c"|' src/fish_tests.cpp
       sed -i 's|L"/bin/ca"|L"${coreutils}/bin/ca"|' src/fish_tests.cpp
+      # disable flakey test
+      sed -i '/{TEST_GROUP("history_races"), history_tests_t::test_history_races},/d' src/fish_tests.cpp
 
       # tests/checks/cd.fish
       sed -i 's|/bin/pwd|${coreutils}/bin/pwd|' tests/checks/cd.fish
diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix
index 52c4725114fa1..a9557d70c36c0 100644
--- a/pkgs/shells/fish/plugins/fzf-fish.nix
+++ b/pkgs/shells/fish/plugins/fzf-fish.nix
@@ -5,13 +5,13 @@ let
 in
 buildFishPlugin rec {
   pname = "fzf.fish";
-  version = "10.1";
+  version = "10.2";
 
   src = fetchFromGitHub {
     owner = "PatrickF1";
     repo = "fzf.fish";
     rev = "v${version}";
-    hash = "sha256-ivXa1S/HrXFzESsV0d9zIwQiuCOYNpa1tUrvA/b15yY=";
+    hash = "sha256-1/MLKkUHe4c9YLDrH+cnL+pLiSOSERbIZSM4FTG3wF0=";
   };
 
   nativeCheckInputs = [ fzf fd unixtools.script procps ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index fe4c25396845e..0160fc29b3be7 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -7,11 +7,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    hash = "sha256-ll4YmmP9A9EpnIyd4Pv8Ot8lrK/grsWzqgn6am9PIRE=";
+    hash = "sha256-iCoEFudFqxjYZerhOe7u6bPzN5EUOpwSpWCbTzUmF8U=";
   };
 
   postPatch = ''
diff --git a/pkgs/stdenv/darwin/fixed-xnu-python3.patch b/pkgs/stdenv/darwin/fixed-xnu-python3.patch
deleted file mode 100644
index 9f29376187f4c..0000000000000
--- a/pkgs/stdenv/darwin/fixed-xnu-python3.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/bsd/kern/makekdebugevents.py b/bsd/kern/makekdebugevents.py
-index 73b2db4..d354ba0 100755
---- a/bsd/kern/makekdebugevents.py
-+++ b/bsd/kern/makekdebugevents.py
-@@ -5,7 +5,7 @@
- # named kd_events[] or these mappings.
- # Required to generate a header file used by DEVELOPMENT and DEBUG kernels.
- #
-- 
-+
- import sys
- import re
- 
-@@ -21,18 +21,18 @@ code_table = []
- # scan file to generate internal table
- with open(trace_code_file, 'rt') as codes:
-     for line in codes:
--	m = id_name_pattern.match(line)
--	if m:
-+        m = id_name_pattern.match(line)
-+        if m:
-             code_table += [(int(m.group(1),base=16), m.group(2))]
- 
- # emit typedef:
--print "typedef struct {"
--print "        uint32_t   id;"
--print "        const char *name;"
--print "} kd_event_t;"
-+print("typedef struct {")
-+print("        uint32_t   id;")
-+print("        const char *name;")
-+print("} kd_event_t;")
- # emit structure declaration and sorted initialization:
--print "kd_event_t kd_events[] = {"
-+print("kd_event_t kd_events[] = {")
- for mapping in sorted(code_table, key=lambda x: x[0]):
--        print "        {0x%x, \"%s\"}," % mapping
--print "};"
-+        print("        {0x%x, \"%s\"}," % mapping)
-+print("};")
- 
diff --git a/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix b/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
index 526730e72228e..2bc331cc18741 100644
--- a/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
+++ b/pkgs/tools/admin/aws-encryption-sdk-cli/default.nix
@@ -1,12 +1,29 @@
 { lib
-, python3Packages
+, python3
 , fetchPypi
 , nix-update-script
 , testers
 , aws-encryption-sdk-cli
 }:
 
-python3Packages.buildPythonApplication rec {
+let
+  localPython = python3.override {
+    self = localPython;
+    packageOverrides = final: prev: {
+      urllib3 = prev.urllib3.overridePythonAttrs (prev: rec {
+        pyproject = true;
+        version = "1.26.18";
+        nativeBuildInputs = with final; [ setuptools ];
+        src = prev.src.override {
+          inherit version;
+          hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA=";
+        };
+      });
+    };
+  };
+in
+
+localPython.pkgs.buildPythonApplication rec {
   pname = "aws-encryption-sdk-cli";
   version = "4.1.0";
 
@@ -15,15 +32,16 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-OCbt0OkDVfpzUIogbsKzaPAle2L6l6N3cmZoS2hEaSM=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with localPython.pkgs; [
     attrs
     aws-encryption-sdk
     base64io
+    urllib3
   ];
 
   doCheck = true;
 
-  nativeCheckInputs = with python3Packages; [
+  nativeCheckInputs = with localPython.pkgs; [
     mock
     pytest-mock
     pytestCheckHook
diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix
index 0dca98037997a..6e115f6eb6a59 100644
--- a/pkgs/tools/admin/chamber/default.nix
+++ b/pkgs/tools/admin/chamber/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.13.4";
+  version = "2.13.5";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J6sLDalvUl4SgSyr5DK/tW7DyRa/qdKw6zornz1R2ck=";
+    sha256 = "sha256-uwTEHxaPG1jDeR+84ZrsP6bg5DBsKIeuHeZAtgrsy/s=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 13589edd6bdc8..29534b092d9fa 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -87,7 +87,7 @@ buildGoModule rec {
     homepage = "https://ubuntu.com/lxd";
     changelog = "https://github.com/canonical/lxd/releases/tag/lxd-${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ marsam adamcstephens ];
+    maintainers = teams.lxc.members;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/lxd/ui.nix b/pkgs/tools/admin/lxd/ui.nix
index 7e3f1427008e7..16fdb4c331759 100644
--- a/pkgs/tools/admin/lxd/ui.nix
+++ b/pkgs/tools/admin/lxd/ui.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Web user interface for LXD.";
     homepage = "https://github.com/canonical/lxd-ui";
     license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ jnsgruk ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index 38fd3fc1e12fa..b27c95793ca29 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "scaleway-cli";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "scaleway";
     repo = "scaleway-cli";
     rev = "v${version}";
-    sha256 = "sha256-Q65X2lsR5jyWXxxmkvUA0yG4miD+KUSBGRFXvH4KBGY=";
+    sha256 = "sha256-wx/247ZNbdNdRiGLTfCig1JAjmXZX0aCHbOgelzMcyw=";
   };
 
-  vendorHash = "sha256-mZ2XFZS5tqtRUhdo6AOCY4xSaYgxUEy1OFbyzsbCEnU=";
+  vendorHash = "sha256-FftJsXM9sexRqBKrIeTdWh5Z0eYIK3acDNtptqqILD8=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 6a0d93483b77e..a385cd14da469 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -7,19 +7,19 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.47.0";
+  version = "0.48.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ahy6wiBoOwS3MIrAIg2gIk2gkmphkCJUYAUtqVydA2Q=";
+    hash = "sha256-NINEitFZm1d0foG1P+evLiXXNVNwzK3PMCicksDaBFc=";
   };
 
   # Hash mismatch on across Linux and Darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-qG4z52oVa3sgu8QKX8UbHsk/aSfacgZShX298WUu2oU=";
+  vendorHash = "sha256-EYcOOQBwzXu87q0EfJr7TUypGJW3qtosP3ARLssPOS8=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/audio/fmtoy/default.nix b/pkgs/tools/audio/fmtoy/default.nix
deleted file mode 100644
index 69a0f570d3bc0..0000000000000
--- a/pkgs/tools/audio/fmtoy/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, unstableGitUpdater
-, dos2unix
-, pkg-config
-, zlib
-, alsa-lib
-, libjack2
-}:
-
-stdenv.mkDerivation rec {
-  pname = "fmtoy";
-  version = "unstable-2022-12-23";
-
-  src = fetchFromGitHub {
-    owner = "vampirefrog";
-    repo = "fmtoy";
-    rev = "78b61b5e9bc0c6874962dc4040456581c9999b36";
-    sha256 = "r5zbr6TCxzDiQvDsLQu/QwNfem1K4Ahaji0yIz/2yl0=";
-  };
-
-  postPatch = ''
-    dos2unix Makefile
-    # Don't hardcode compilers
-    sed -i -e '/CC=/d' -e '/CXX=/d' Makefile
-  '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-    # Remove Linux-only program & its dependencies
-    sed -i -e '/PROGS/ s/fmtoy_jack//' Makefile
-    substituteInPlace Makefile \
-      --replace '$(shell pkg-config alsa jack --cflags)' ""
-  '';
-
-  nativeBuildInputs = [
-    dos2unix
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    pkg-config
-  ];
-
-  buildInputs = [
-    zlib
-  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    alsa-lib
-    libjack2
-  ];
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    for prog in $(grep 'PROGS=' Makefile | cut -d= -f2-); do
-      install -Dm755 $prog $out/bin/$prog
-    done
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = unstableGitUpdater {
-    url = "https://github.com/vampirefrog/fmtoy.git";
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/vampirefrog/fmtoy";
-    description = "Tools for FM voices for Yamaha YM chips (OPL, OPM and OPN series)";
-    # Unclear if gpl3Only or gpl3Plus
-    # https://github.com/vampirefrog/fmtoy/issues/1
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ OPNA2608 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch b/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
deleted file mode 100644
index 9d2e46bb4e912..0000000000000
--- a/pkgs/tools/audio/piper/fix-compilation-with-newer-onnxruntime.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/cpp/synthesize.hpp b/src/cpp/synthesize.hpp
-index ef61aef..4c7db7a 100644
---- a/synthesize.hpp
-+++ b/synthesize.hpp
-@@ -119,11 +119,11 @@ void synthesize(SynthesisConfig &synthesisConfig, ModelSession &session,
- 
-   // Clean up
-   for (size_t i = 0; i < outputTensors.size(); i++) {
--    Ort::OrtRelease(outputTensors[i].release());
-+    Ort::detail::OrtRelease(outputTensors[i].release());
-   }
- 
-   for (size_t i = 0; i < inputTensors.size(); i++) {
--    Ort::OrtRelease(inputTensors[i].release());
-+    Ort::detail::OrtRelease(inputTensors[i].release());
-   }
- }
- } // namespace larynx
diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix
index a1b4131ca7032..5321982f189ea 100644
--- a/pkgs/tools/compression/ouch/default.nix
+++ b/pkgs/tools/compression/ouch/default.nix
@@ -7,6 +7,7 @@
 , xz
 , zlib
 , zstd
+, stdenv
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -28,12 +29,19 @@ rustPlatform.buildRustPackage rec {
 
   buildFeatures = [ "zstd/pkg-config" ];
 
+  preCheck = ''
+    substituteInPlace tests/ui.rs \
+      --replace 'format!(r"/private{path}")' 'path.to_string()'
+  '';
+
   postInstall = ''
     installManPage artifacts/*.1
     installShellCompletion artifacts/ouch.{bash,fish} --zsh artifacts/_ouch
   '';
 
-  env.OUCH_ARTIFACTS_FOLDER = "artifacts";
+  env = { OUCH_ARTIFACTS_FOLDER = "artifacts"; } //
+    # Work around https://github.com/NixOS/nixpkgs/issues/166205.
+    lib.optionalAttrs stdenv.cc.isClang { NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; };
 
   meta = with lib; {
     description = "A command-line utility for easily compressing and decompressing files and directories";
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index 8614c03ed9066..f7d5ce61d81cf 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.17.5";
+  version = "1.17.6";
   pname = "bindfs";
 
   src = fetchurl {
     url = "https://bindfs.org/downloads/bindfs-${finalAttrs.version}.tar.gz";
-    hash = "sha256-Wj2xu7soSOtDqzapI8mVgx0xmAd/2J6VHbXQt55i2mQ=";
+    hash = "sha256-076zzGm7K2gCzFOViOkh/qlz7WGRsTPyAkcZMR0cwYs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/blobfuse/install-adls.patch b/pkgs/tools/filesystems/blobfuse/install-adls.patch
deleted file mode 100644
index e48f4d592f683..0000000000000
--- a/pkgs/tools/filesystems/blobfuse/install-adls.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/adls/CMakeLists.txt b/adls/CMakeLists.txt
-index 1fb7146..22e663a 100644
---- a/adls/CMakeLists.txt
-+++ b/adls/CMakeLists.txt
-@@ -50,3 +50,9 @@ if(BUILD_TESTS)
-   string(REGEX REPLACE "([^;]+)" "${CMAKE_CURRENT_SOURCE_DIR}/\\1" AZURE_STORAGE_ADLS_TEST_SOURCES "${AZURE_STORAGE_ADLS_TEST_SOURCES}")
-   set(AZURE_STORAGE_ADLS_TEST_SOURCES ${AZURE_STORAGE_ADLS_TEST_SOURCES} PARENT_SCOPE)
- endif()
-+
-+install(TARGETS azure-storage-adls
-+        ARCHIVE DESTINATION lib
-+        LIBRARY DESTINATION lib
-+        RUNTIME DESTINATION bin)
-+
diff --git a/pkgs/tools/filesystems/davfs2/isdir.patch b/pkgs/tools/filesystems/davfs2/isdir.patch
deleted file mode 100644
index ae69b4460f5a2..0000000000000
--- a/pkgs/tools/filesystems/davfs2/isdir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur davfs2-1.4.5-old/src/dav_coda.c davfs2-1.4.5-new/src/dav_coda.c
---- davfs2-1.4.5-old/src/dav_coda.c	2009-06-04 20:30:32.000000000 +0200
-+++ davfs2-1.4.5-new/src/dav_coda.c	2011-02-09 19:51:22.260530572 +0100
-@@ -52,6 +52,10 @@
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
-+#ifdef HAVE_SYS_STAT_H
-+#include <sys/stat.h>
-+#endif
-+
- 
- #include "defaults.h"
- #include "mount_davfs.h"
-diff -ur davfs2-1.4.5-old/src/dav_fuse.c davfs2-1.4.5-new/src/dav_fuse.c
---- davfs2-1.4.5-old/src/dav_fuse.c	2009-06-30 20:06:44.000000000 +0200
-+++ davfs2-1.4.5-new/src/dav_fuse.c	2011-02-09 19:52:23.938220524 +0100
-@@ -41,6 +41,12 @@
- #ifdef HAVE_UNISTD_H
- #include <unistd.h>
- #endif
-+#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_STAT_H
-+#include <sys/stat.h>
-+#endif
- 
- #include "defaults.h"
- #include "mount_davfs.h"
diff --git a/pkgs/tools/filesystems/stuffbin/default.nix b/pkgs/tools/filesystems/stuffbin/default.nix
index 2640ba8b85197..b955aa870c0fa 100644
--- a/pkgs/tools/filesystems/stuffbin/default.nix
+++ b/pkgs/tools/filesystems/stuffbin/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "stuffbin";
-  version = "1.1.0";
+  version = "1.2.0";
 
   vendorHash = null;
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "knadh";
     repo = "stuffbin";
     rev = "v${version}";
-    sha256 = "sha256-M72xNh7bKUMLzA+M8bJB++kJ5KCrkboQm1v8BasP3Yo=";
+    sha256 = "sha256-roXjE0t4iwrL2y/G2oePYL2AbTwd9uzQPtgdY14WeZk=";
   };
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
diff --git a/pkgs/tools/graphics/astc-encoder/default.nix b/pkgs/tools/graphics/astc-encoder/default.nix
index dd7ebc6f3b434..eb0222ba84483 100644
--- a/pkgs/tools/graphics/astc-encoder/default.nix
+++ b/pkgs/tools/graphics/astc-encoder/default.nix
@@ -29,13 +29,13 @@ with rec {
 
 stdenv.mkDerivation rec {
   pname = "astc-encoder";
-  version = "4.6.0";
+  version = "4.6.1";
 
   src = fetchFromGitHub {
     owner = "ARM-software";
     repo = "astc-encoder";
     rev = version;
-    sha256 = "sha256-COZO4LTrM/kZp85uNGwB9eaF27Xf7NVg4hcshaCJBwI=";
+    sha256 = "sha256-7/GBzqgXh8sU3Pl30eH9Mi24PPIqayQqNuhkMnn5Lq0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index fa4cb75d174b3..9332b25babfb1 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, cmake, imagemagick }:
+{ lib, stdenv, fetchurl, cmake, imagemagick, testers }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "cuneiform";
   version = "1.1.0";
 
@@ -30,10 +30,23 @@ stdenv.mkDerivation {
     rm cuneiform_src/Kern/hhh/tigerh/h/strings.h
   '';
 
+  # make the install path match the rpath
+  postInstall = ''
+    if [[ -d ''${!outputLib}/lib64 ]]; then
+      mv ''${!outputLib}/lib64 ''${!outputLib}/lib
+      ln -s lib ''${!outputLib}/lib64
+    fi
+  '';
+
   buildInputs = [ imagemagick ];
 
   nativeBuildInputs = [ cmake ];
 
+  passthru.tests = testers.testVersion {
+    package = finalAttrs.finalPackage;
+    command = "cuneiform";
+  };
+
   meta = with lib; {
     description = "Multi-language OCR system";
     homepage = "https://launchpad.net/cuneiform-linux";
@@ -42,4 +55,4 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.raskin ];
     mainProgram = "cuneiform";
   };
-}
+})
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 52b50b7cbb414..3ca3eba56840c 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.24.4";
+  version = "2.24.5";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    hash = "sha256-f/KtHm8R1MJORWKmv487hm80MeX2l0Ybd1ZjKHGFq0A=";
+    hash = "sha256-GMkudpQ91Qwyj7wJIl7LTx+v+goCUccxJggCAvEtL30=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook gobject-introspection ];
diff --git a/pkgs/tools/misc/diffoci/default.nix b/pkgs/tools/misc/diffoci/default.nix
index df7cc71140aab..3c7de46e01e86 100644
--- a/pkgs/tools/misc/diffoci/default.nix
+++ b/pkgs/tools/misc/diffoci/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "diffoci";
-  version = "0.1.2";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "reproducible-containers";
     repo = "diffoci";
     rev = "v${version}";
-    hash = "sha256-Rrwwo1OCE2gn6MGt5XVddb8bJtoN7iAtxzr2MxyHcwk=";
+    hash = "sha256-BTggky5behIxbVxyDZ09uobw0FBopboE9uUBEVgCgR4=";
   };
 
-  vendorHash = "sha256-18rsa91PiqZv70EK3K6K1l6N2mIpoVpkX29amKCo5cg=";
+  vendorHash = "sha256-4C35LBxSm6EkcOznQY1hT2vX9bwFfps/q76VqqPKBfI=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch b/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch
deleted file mode 100644
index 3d4f674ff2c41..0000000000000
--- a/pkgs/tools/misc/glasgow/0001-Relax-Amaranth-git-dependency.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 95d86c080a559d9c9f0498fb93d43d3fef377080 Mon Sep 17 00:00:00 2001
-From: Jack Leightcap <jack@leightcap.com>
-Date: Sat, 13 May 2023 17:28:54 -0400
-Subject: [PATCH] Relax Amaranth git dependency
-
-Signed-off-by: Jack Leightcap <jack@leightcap.com>
----
- software/pyproject.toml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/software/pyproject.toml b/software/pyproject.toml
-index 6d1e2f1..6dfcc9e 100644
---- a/software/pyproject.toml
-+++ b/software/pyproject.toml
-@@ -20,8 +20,8 @@ classifiers = [
- ]
- 
- dependencies = [
--  "amaranth @ git+https://github.com/amaranth-lang/amaranth.git",
--  "fx2>=0.11",
-+  "amaranth",
-+  "fx2",
-   "libusb1>=1.8.1",
-   "aiohttp~=3.8",
-   "pyvcd",
--- 
-2.38.4
-
diff --git a/pkgs/tools/misc/hdf5/bin-mv.patch b/pkgs/tools/misc/hdf5/bin-mv.patch
deleted file mode 100644
index 45649977e5669..0000000000000
--- a/pkgs/tools/misc/hdf5/bin-mv.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -rc hdf5-1.8.5/configure hdf5-1.8.5-new/configure
-*** hdf5-1.8.5/configure	2010-06-04 20:26:04.000000000 +0200
---- hdf5-1.8.5-new/configure	2010-08-02 10:30:26.000000000 +0200
-***************
-*** 30587,30598 ****
-    sed 's/#define /#define H5_/' <src/H5config.h |\
-      sed 's/#undef /#undef H5_/' >pubconf
-    if test ! -f src/H5pubconf.h; then
-!     /bin/mv -f pubconf src/H5pubconf.h
-    elif (diff pubconf src/H5pubconf.h >/dev/null); then
-      rm -f pubconf
-      echo "src/H5pubconf.h is unchanged"
-    else
-!     /bin/mv -f pubconf src/H5pubconf.h
-    fi
-    echo "Post process src/libhdf5.settings"
-    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
---- 30587,30598 ----
-    sed 's/#define /#define H5_/' <src/H5config.h |\
-      sed 's/#undef /#undef H5_/' >pubconf
-    if test ! -f src/H5pubconf.h; then
-!     mv -f pubconf src/H5pubconf.h
-    elif (diff pubconf src/H5pubconf.h >/dev/null); then
-      rm -f pubconf
-      echo "src/H5pubconf.h is unchanged"
-    else
-!     mv -f pubconf src/H5pubconf.h
-    fi
-    echo "Post process src/libhdf5.settings"
-    sed '/^#/d' < src/libhdf5.settings > libhdf5.settings.TMP
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 092d591b88a82..b078361bf0574 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.90.0";
+  version = "0.90.1";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-FL0lNlofXHTdn5o6g4FHNYauzJkjCKTrspSXP9slp/A=";
+    hash = "sha256-JKcYvJtuN38VrhcVFHRc0CKTH+x8HShs1/Ui0iN1jNo=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-6Vr4Nk4mp505H3oAznAQ2mJl6qYFbHyO5MqgYeinnf8=";
+  vendorHash = "sha256-vaWOUc4CwiCDqe1szrBcgbHXQH/OkGTN0iqh+3CKPLQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/pls/default.nix b/pkgs/tools/misc/pls/default.nix
deleted file mode 100644
index c6d6d2e52835f..0000000000000
--- a/pkgs/tools/misc/pls/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, python3, fetchFromGitHub }:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "pls";
-  version = "5.4.0";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "dhruvkb";
-    repo = "pls";
-    rev = version;
-    sha256 = "sha256-h93Kz+ETdHfnzypa8JjMvbzA1o/KS1UuTG8/vhEt7Vo=";
-  };
-
-  nativeBuildInputs = [ python3.pkgs.poetry-core ];
-
-  propagatedBuildInputs = with python3.pkgs; [
-    pyyaml
-    requests
-    rich
-  ];
-
-  nativeCheckInputs = with python3.pkgs; [
-    freezegun
-    jsonschema
-    pytestCheckHook
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'rich = "^12.5.1"' 'rich = "*"' \
-  '';
-
-  pytestFlagsArray = [ "tests/" "--ignore=tests/e2e" ];
-
-  pythonImportsCheck = [ "pls" ];
-
-  meta = with lib; {
-    homepage = "https://dhruvkb.github.io/pls/";
-    description = "Prettier and powerful ls";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ arjan-s ];
-  };
-}
diff --git a/pkgs/tools/misc/svu/default.nix b/pkgs/tools/misc/svu/default.nix
index 352f4d0ab721e..0fafaffc153b4 100644
--- a/pkgs/tools/misc/svu/default.nix
+++ b/pkgs/tools/misc/svu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "svu";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "caarlos0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FmSBh2XxwxmIbX2TILnk+YUYbMQQbOb89uvnpl4b+7Y=";
+    sha256 = "sha256-MztFramrNqxYmdTRf857HOC7H66dLvezG6LL9njxWUs=";
   };
 
   vendorHash = "sha256-+e1oL08KvBSNaRepGR2SBBrEDJaGxl5V9rOBysGEfQs=";
diff --git a/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch b/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch
deleted file mode 100644
index 088f9b4032d27..0000000000000
--- a/pkgs/tools/networking/curl/7.79.1-darwin-no-systemconfiguration.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-On darwin, providing SystemConfiguration to curl currently results in a
-reference loop, so we have to disable the check for it and the feature
-which requires it (NAT64).
-
-Patching actual configure script here as we also don't want to require
-autoconf in the bootstrap loop just to regenerate a patched configure.ac.
-
---- a/configure   2021-10-16 00:51:59.000000000 +0100
-+++ b/configure   2021-10-16 01:06:46.000000000 +0100
-@@ -21556,7 +221556,7 @@
-     if test "x$build_for_macos" != xno; then
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- printf "%s\n" "yes" >&6; }
--      LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework SystemConfiguration"
-+      LDFLAGS="$LDFLAGS -framework CoreFoundation"
-     else
-       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
- printf "%s\n" "no" >&6; }
-@@ -22211,9 +22211,6 @@
- fi
- 
- 
--if test "$HAVE_GETHOSTBYNAME" != "1"; then
--  as_fn_error $? "couldn't find libraries for gethostbyname()" "$LINENO" 5
--fi
- 
- 
- curl_includes_winsock2="\
-diff --git a/lib/curl_setup.h b/lib/curl_setup.h
-index b43714da7..7674778b7 100644
---- a/lib/curl_setup.h
-+++ b/lib/curl_setup.h
-@@ -250,20 +250,6 @@
- 
- #include <curl/system.h>
- 
--/*
-- * Use getaddrinfo to resolve the IPv4 address literal. If the current network
-- * interface doesn't support IPv4, but supports IPv6, NAT64, and DNS64,
-- * performing this task will result in a synthesized IPv6 address.
-- */
--#if defined(__APPLE__) && !defined(USE_ARES)
--#include <TargetConditionals.h>
--#define USE_RESOLVE_ON_IPS 1
--#  if TARGET_OS_MAC && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) && \
--     defined(ENABLE_IPV6)
--#    define CURL_MACOS_CALL_COPYPROXIES 1
--#  endif
--#endif
--
- #ifdef USE_LWIPSOCK
- #  include <lwip/init.h>
- #  include <lwip/sockets.h>
diff --git a/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch b/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch
deleted file mode 100644
index 5e5cfd50af3e7..0000000000000
--- a/pkgs/tools/networking/driftnet/libwebsockets-4.3.0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/http_display/httpd.c b/src/http_display/httpd.c
-index f4709ef..7921d23 100644
---- a/src/http_display/httpd.c
-+++ b/src/http_display/httpd.c
-@@ -191,7 +191,6 @@ static void * http_server_dispatch(void *arg)
-         LWSMPRO_FILE,                  /* mount type is a directory in a filesystem */
-         1,                                     /* strlen("/"), ie length of the mountpoint */
-         NULL,
--        { NULL, NULL } // sentinel
-     };
-
-     memset(&info, 0, sizeof info);
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index 158b2cb275bc1..4a31bb1494b79 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    hash = "sha256-22Nio6yfkL9HWNrI+kk5dGfojTtB/h0sizCWH9w9so8=";
+    hash = "sha256-t9USry3I6tc8EKsfkq28/hPJMbaf0BqqOdzCl3oXd60=";
   };
 
-  cargoHash = "sha256-YfvcCnFXDoZXp/Aug0jVQkilsvSzS+JF90U0QvVFksE=";
+  cargoHash = "sha256-QERmZOyC4U6ZpCkL7ap5MRvPEE2vqK/tD+CrBLg07J0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/tools/networking/hping/default.nix b/pkgs/tools/networking/hping/default.nix
index 33663a44d2a96..11a8cad05b9cd 100644
--- a/pkgs/tools/networking/hping/default.nix
+++ b/pkgs/tools/networking/hping/default.nix
@@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString stdenv.isLinux ''
     sed -i -e 's|#include <net/bpf.h>|#include <pcap/bpf.h>|' \
       libpcap_stuff.c script.c
+  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace configure --replace 'BYTEORDER=`./byteorder -m`' BYTEORDER=${
+      {
+        littleEndian = "__LITTLE_ENDIAN_BITFIELD";
+        bigEndian = "__BIG_ENDIAN_BITFIELD";
+      }.${stdenv.hostPlatform.parsed.cpu.significantByte.name}}
+    substituteInPlace Makefile.in --replace './hping3 -v' ""
   '';
 
   configureFlags = [ (if withTcl then "TCLSH=${tcl}/bin/tclsh" else "--no-tcl") ];
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 6888b5aa4ab2b..1812dc690e180 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -26,13 +26,13 @@
 
 let
   pname = "mozillavpn";
-  version = "2.16.1";
+  version = "2.19.0";
   src = fetchFromGitHub {
     owner = "mozilla-mobile";
     repo = "mozilla-vpn-client";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-UMWBn3DoEU1fG7qh6F0GOhOqod+grPwp15wSSdP0eCo=";
+    hash = "sha256-aXfxUtGm+vq8U3jYTxYhOP7UXL6ukCJgmGQO2Wsqobo=";
   };
   patches = [ ];
 
@@ -46,19 +46,19 @@ let
     inherit src patches;
     name = "${pname}-${version}-extension-bridge";
     preBuild = "cd extension/bridge";
-    hash = "sha256-1wYTRc+NehiHwAd/2CmsJNv/TV6wH5wXwNiUdjzEUIk=";
+    hash = "sha256-23GTXsbjL8qfGA5NdPlrbdaA8rg8vOZsZCXvevi7Chc=";
   };
   signatureDeps = rustPlatform.fetchCargoTarball {
     inherit src patches;
     name = "${pname}-${version}-signature";
     preBuild = "cd signature";
-    hash = "sha256-oaKkQWMYkAy1c2biVt+GyjHBeYb2XkuRvFrWQJJIdPw=";
+    hash = "sha256-TB172hVIilDTl+y0shNp55if+FhrXjWSaGNF7K6GSH8=";
   };
   qtgleanDeps = rustPlatform.fetchCargoTarball {
     inherit src patches;
     name = "${pname}-${version}-qtglean";
     preBuild = "cd qtglean";
-    hash = "sha256-cqfiOBS8xFC2BbYp6BJWK6NHIU0tILSgu4eo3Ik4YqY=";
+    hash = "sha256-tfQ2ogSDDXNPeygBy+el+71iwcafSfY78hvYPHurKPE=";
   };
 
 in
@@ -110,7 +110,7 @@ stdenv.mkDerivation {
   dontCargoSetupPostUnpack = true;
 
   postPatch = ''
-    substituteInPlace src/apps/vpn/cmake/linux.cmake \
+    substituteInPlace src/cmake/linux.cmake \
       --replace '/etc/xdg/autostart' "$out/etc/xdg/autostart" \
       --replace '/usr/share/dbus-1' "$out/share/dbus-1" \
       --replace '${"$"}{SYSTEMD_UNIT_DIR}' "$out/lib/systemd/system"
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index 4872900b0fb72..b52912d5e9a08 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "2.1";
+  version = "2.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "sha256-GxQfh/ps5oM9G6B1EVgnjo8LqHD1hMqdnju1PCQq3kA=";
+    sha256 = "sha256-mnh0qzmgPDfimN/M33HntYj90Xcgc/uF8tKbzeQV1Yg=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/photon/destdir.patch b/pkgs/tools/networking/photon/destdir.patch
deleted file mode 100644
index e6cf997f2e7c4..0000000000000
--- a/pkgs/tools/networking/photon/destdir.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/photon.py.old b/photon.py
-index 92498e4..f7e2c3d 100644
---- a/photon.py.old
-+++ b/photon.py
-@@ -185,7 +185,7 @@ if args.user_agent:
-     user_agents = args.user_agent.split(',')
- else:
-     user_agents = []
--    with open(os.getcwd() + '/core/user-agents.txt', 'r') as uas:
-+    with open('DESTDIR/core/user-agents.txt', 'r') as uas:
-         for agent in uas:
-             user_agents.append(agent.strip('\n'))
- 
-@@ -534,4 +534,4 @@ if args.export:
- if not colors: # if colors are disabled
-     print ('%s Results saved in %s directory' % (good, output_dir))
- else:
--    print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir))
-\ No newline at end of file
-+    print ('%s Results saved in \033[;1m%s\033[0m directory' % (good, output_dir))
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index d75a49f6c9e6e..361eacae4d0ea 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5n5AnuJQvw/26X3UWdLvegFhwYzjtS7o0d4cN3c3bfQ=";
+    hash = "sha256-SaWSmc498eLkWddnsHFpR6BPSbX/VHAlq+X4B7JG3Rk=";
   };
 
-  vendorHash = "sha256-UvLZY4vMS6dI6z9kPcSzbB/cW/7rfbrlhcWh51q5sak=";
+  vendorHash = "sha256-Frbv2KD5hJ5HHUdY9mm0aZ9NA5TN1D0am+FhpJZTvr4=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/package-management/micromamba/default.nix b/pkgs/tools/package-management/micromamba/default.nix
index 182f58ea9da81..5ff23ec7188d6 100644
--- a/pkgs/tools/package-management/micromamba/default.nix
+++ b/pkgs/tools/package-management/micromamba/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "micromamba";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "mamba-org";
     repo = "mamba";
     rev = "micromamba-" + version;
-    hash = "sha256-/9CzcnPd1D8jSl/pfl54+8/728r+GCqWFXahl47MJ3g=";
+    hash = "sha256-29SuR4RDW0+yNR1RHlm3I4avy0CjBTGxv1FKxMDZxO0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch b/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch
deleted file mode 100644
index 5dfbfd780f1ca..0000000000000
--- a/pkgs/tools/security/aflplusplus/qemu-no-etc-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index d6b9dc1..ce7c493 100644
---- a/Makefile
-+++ b/Makefile
-@@ -601,7 +601,7 @@ install-localstatedir:
- endif
- 
- 
--install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir
-+install: all $(if $(BUILD_DOCS),install-doc) install-datadir
- ifneq ($(TOOLS),)
- 	$(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir))
- endif
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index 440ca40ec68df..080fc8ae3e320 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Gtg4zoMTOW/nrFm7PF4/96VGcMALg2msVZ3E7lGm5KA=";
+    hash = "sha256-SmD3Dq5LicPRe3lWFsq4zqM/yDZ1LsgRwSUA5/RbN9I=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/dalfox/default.nix b/pkgs/tools/security/dalfox/default.nix
index b6d21b801efca..8c72a93d340f2 100644
--- a/pkgs/tools/security/dalfox/default.nix
+++ b/pkgs/tools/security/dalfox/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dalfox";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "hahwul";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-AG5CNqkxPQJQ+HN3JGUIgSYxgFigmUqVGn1yAHmo7Mo=";
+    sha256 = "sha256-7wSmPmS8m+rYhYlREzKlPUiUfDvru9zwFFvSCDq6JY8=";
   };
 
-  vendorHash = "sha256-OLT85GOcTnWmU+ZRem2+vY29nzvzXhnmIN2W+U6phPk=";
+  vendorHash = "sha256-W+37EL3e7G+U0EZUDuVqjZpfIf5+HcirH8NVsC+1NvA=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 272caf42e90e7..92b964ad2c95f 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.66.3";
+  version = "3.66.5";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-zS5nIULnzoOG43nNcVb6MdmKNDcDK75mh3SOMB5BXIY=";
+    sha256 = "sha256-/kcGfTDthm4gp1M4lSeY1x8Q7EWVX2pZVjF2rAbz+Es=";
   };
 
   vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index acfbad10cd55d..fb4bc02ef2b6d 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2023-12-02";
+  version = "2023-12-05";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rITeDc1PQFjV4ZlBK97T+hvIzuWMIoPxBLscqkXiMwc=";
+    hash = "sha256-01cf6EqWvrAc7XMLRN6qlkmU/P5brPwCUj0ziq0KGV8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/fscan/default.nix b/pkgs/tools/security/fscan/default.nix
index cda7fb968d3dc..00ce9d8ec78e3 100644
--- a/pkgs/tools/security/fscan/default.nix
+++ b/pkgs/tools/security/fscan/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fscan";
-  version = "1.8.3";
+  version = "1.8.3-build3";
 
   src = fetchFromGitHub {
     owner = "shadow1ng";
     repo = "fscan";
     rev = version;
-    hash = "sha256-uoM/nMtgIqyzpOoSQKD5k4LXAXoA8G5N4In8tZlngqs=";
+    hash = "sha256-GtOCd8JaR6tx8hoB+P9QXrEnN7Wvmv7jddhc2/8hjvQ=";
   };
 
   vendorHash = "sha256-hvb2IfypwYauF3ubE36u0bTU+l/FWP/CZt6dFd9zc6s=";
@@ -18,7 +18,6 @@ buildGoModule rec {
     homepage = "https://github.com/shadow1ng/fscan";
     license = licenses.mit;
     maintainers = with maintainers; [ Misaka13514 ];
-    platforms = with platforms; unix ++ windows;
     mainProgram = "fscan";
   };
 }
diff --git a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch b/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch
deleted file mode 100644
index 65804bac76425..0000000000000
--- a/pkgs/tools/security/gnupg/gpgkey2ssh-20.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tools/gpgkey2ssh.c b/tools/gpgkey2ssh.c
-index 903fb5b..d5611dc 100644
---- a/tools/gpgkey2ssh.c
-+++ b/tools/gpgkey2ssh.c
-@@ -268,7 +268,7 @@ main (int argc, char **argv)
-   keyid = argv[1];
- 
-   ret = asprintf (&command,
--		  "gpg --list-keys --with-colons --with-key-data '%s'",
-+		  "@out@/bin/gpg --list-keys --with-colons --with-key-data '%s'",
- 		  keyid);
-   assert (ret > 0);
- 
-
diff --git a/pkgs/tools/security/gotestwaf/default.nix b/pkgs/tools/security/gotestwaf/default.nix
index 8f9d8776687fa..78ba5e06e4b92 100644
--- a/pkgs/tools/security/gotestwaf/default.nix
+++ b/pkgs/tools/security/gotestwaf/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gotestwaf";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "wallarm";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5cvyKCzisfuoMPuQpiRnIBCTw2yMdA1yavKNS9OwW58=";
+    hash = "sha256-fBmn+p5uVGnI4lyL12cX4S8eda79k2Y0RPQG9iZQs2Q=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix
index 10f67d5f0b356..a1fbd44b02320 100644
--- a/pkgs/tools/security/jadx/default.nix
+++ b/pkgs/tools/security/jadx/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , gradle
 , jdk
+, quark-engine
 , makeWrapper
 , perl
 , imagemagick
@@ -114,7 +115,9 @@ in stdenv.mkDerivation (finalAttrs: {
     cp -R build/jadx/lib $out
     for prog in jadx jadx-gui; do
       cp build/jadx/bin/$prog $out/bin
-      wrapProgram $out/bin/$prog --set JAVA_HOME ${jdk.home}
+      wrapProgram $out/bin/$prog \
+        --set JAVA_HOME ${jdk.home} \
+        --prefix PATH : "${lib.makeBinPath [ quark-engine ]}"
     done
 
     for size in 16 32 48; do
@@ -153,6 +156,6 @@ in stdenv.mkDerivation (finalAttrs: {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ delroth ];
+    maintainers = with maintainers; [ delroth emilytrau ];
   };
 })
diff --git a/pkgs/tools/security/rblake2sum/default.nix b/pkgs/tools/security/rblake2sum/default.nix
index a5a4a1bce76c3..8f2a868363560 100644
--- a/pkgs/tools/security/rblake2sum/default.nix
+++ b/pkgs/tools/security/rblake2sum/default.nix
@@ -24,5 +24,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/crev-dev/rblake2sum";
     license = [ licenses.mit ];
     maintainers = with maintainers; [ dpc ];
+    mainProgram = "rblake2sum";
   };
 }
diff --git a/pkgs/tools/security/rblake3sum/default.nix b/pkgs/tools/security/rblake3sum/default.nix
new file mode 100644
index 0000000000000..341dcd06fb6a7
--- /dev/null
+++ b/pkgs/tools/security/rblake3sum/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, Security
+}:
+rustPlatform.buildRustPackage {
+  pname = "rblake3sum";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "rustshop";
+    repo = "rblake3sum";
+    rev = "6a8e2576ccc05214eacb75b75a9d4cfdf272161c";
+    hash = "sha256-UFk6SJVA58WXhH1CIuT48MEF19yPUe1HD+ekn4LDj8g=";
+  };
+
+  cargoHash = "sha256-SE/Zg/UEV/vhB/VDcn8Y70OUIoxbJBh6H2QgFMkWPc4=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "A recursive blake3 digest (hash) of a file-system path";
+    homepage = "https://github.com/rustshop/rblake3sum";
+    license = [ licenses.mit ];
+    maintainers = with maintainers; [ dpc ];
+    mainProgram = "rblake3sum";
+  };
+}
diff --git a/pkgs/tools/security/step-kms-plugin/default.nix b/pkgs/tools/security/step-kms-plugin/default.nix
index 66413b1798aca..9e948bf52dd6f 100644
--- a/pkgs/tools/security/step-kms-plugin/default.nix
+++ b/pkgs/tools/security/step-kms-plugin/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "step-kms-plugin";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pbSv3qTQkeYWtg5HKu9kUIWYw6t6yKKA4GQuiwGEPD8=";
+    hash = "sha256-l0MMcLghhqVVQAdhk0a0nDqYvJbXCV2PFbRtiGQcDn0=";
   };
 
-  vendorHash = "sha256-hb1Nn/+PVhhBByQ8I9MuUEd5di5jEZVMtSpm0+qBXQk=";
+  vendorHash = "sha256-3du8KlM08N5hKmzZWYZdfPOL5R+BspbK6ABF+RSJzHg=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index ca392d68a96d7..e7516cc83d0dc 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vault-bin";
-  version = "1.15.2";
+  version = "1.15.3";
 
   src =
     let
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-aawDrQu8wEZqJ/uyCJjtWcgy8Ut34B5P+odqddE5P3M=";
-        aarch64-linux = "sha256-thLVw//yIgPCAV9CdrRlINLg+cO5aB279I2aboZMF6w=";
-        i686-linux = "sha256-bUhtnQB5YZdDuB4uondln0D3itoTr+1FaqjgTiT76WA=";
-        x86_64-darwin = "sha256-+wZrWwbpibtCla1ydhDnLJsHrVymLzEXVE1KftZ+pOs=";
-        aarch64-darwin = "sha256-2FGiCzIAEyXTqRaKEDZK5d/PWl4EmvJl9NieiOdgOeY=";
+        x86_64-linux = "sha256-rRXpRxuslOvvNgK6W0BG/LWs2sAGGCuSxcbVbsmrtN0=";
+        aarch64-linux = "sha256-vD/S+aZGa+JFRBV9WML9WbhrFpB8FynM62ZJ0zkWtDU=";
+        i686-linux = "sha256-Y9KpL0kZxlgfkBSyXJVSND2hSJ1y+FuXKPK0/P2YX2w=";
+        x86_64-darwin = "sha256-i85GQSJK7dPoLP7XBrz7CiISCG8KbGylL++ecy/CXRY=";
+        aarch64-darwin = "sha256-eZAuUNbigJ/kye8p3yu+Qf+p47IkxKJntR2sGFpM+j8=";
       };
     in
     fetchzip {
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     description = "A tool for managing secrets, this binary includes the UI";
     homepage = "https://www.vaultproject.io";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.mpl20;
+    license = licenses.bsl11;
     maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man techknowlogick mkaito ];
     mainProgram = "vault";
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
diff --git a/pkgs/tools/security/wpscan/Gemfile.lock b/pkgs/tools/security/wpscan/Gemfile.lock
index b233f57a58179..186144a3b1a91 100644
--- a/pkgs/tools/security/wpscan/Gemfile.lock
+++ b/pkgs/tools/security/wpscan/Gemfile.lock
@@ -1,57 +1,57 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.1.7.4)
+    activesupport (6.1.7.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    addressable (2.8.4)
+    addressable (2.8.5)
       public_suffix (>= 2.0.2, < 6.0)
-    cms_scanner (0.13.8)
-      ethon (>= 0.14, < 0.16)
+    cms_scanner (0.13.9)
+      ethon (>= 0.14, < 0.17)
       get_process_mem (~> 0.2.5)
-      nokogiri (>= 1.11.4, < 1.14.0)
+      nokogiri (>= 1.11.4, < 1.16.0)
       opt_parse_validator (~> 1.9.5)
-      public_suffix (~> 4.0.3)
-      ruby-progressbar (>= 1.10, < 1.12)
-      sys-proctable (~> 1.2.2)
+      public_suffix (>= 4.0.3, < 5.1.0)
+      ruby-progressbar (>= 1.10, < 1.14)
+      sys-proctable (>= 1.2.2, < 1.4.0)
       typhoeus (>= 1.3, < 1.5)
       xmlrpc (~> 0.3)
       yajl-ruby (~> 1.4.1)
     concurrent-ruby (1.2.2)
-    ethon (0.15.0)
+    ethon (0.16.0)
       ffi (>= 1.15.0)
-    ffi (1.15.5)
+    ffi (1.16.3)
     get_process_mem (0.2.7)
       ffi (~> 1.0)
     i18n (1.14.1)
       concurrent-ruby (~> 1.0)
-    mini_portile2 (2.8.2)
-    minitest (5.18.1)
-    nokogiri (1.13.10)
-      mini_portile2 (~> 2.8.0)
+    mini_portile2 (2.8.5)
+    minitest (5.20.0)
+    nokogiri (1.15.5)
+      mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     opt_parse_validator (1.9.5)
       activesupport (>= 5.2, < 6.2.0)
       addressable (>= 2.5, < 2.9)
-    public_suffix (4.0.7)
-    racc (1.7.1)
-    ruby-progressbar (1.11.0)
-    sys-proctable (1.2.7)
+    public_suffix (5.0.4)
+    racc (1.7.3)
+    ruby-progressbar (1.13.0)
+    sys-proctable (1.3.0)
       ffi (~> 1.1)
-    typhoeus (1.4.0)
+    typhoeus (1.4.1)
       ethon (>= 0.9.0)
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
     webrick (1.8.1)
-    wpscan (3.8.24)
-      cms_scanner (~> 0.13.8)
-    xmlrpc (0.3.2)
+    wpscan (3.8.25)
+      cms_scanner (~> 0.13.9)
+    xmlrpc (0.3.3)
       webrick
     yajl-ruby (1.4.3)
-    zeitwerk (2.6.8)
+    zeitwerk (2.6.12)
 
 PLATFORMS
   ruby
@@ -60,4 +60,4 @@ DEPENDENCIES
   wpscan
 
 BUNDLED WITH
-   2.4.13
+   2.4.22
diff --git a/pkgs/tools/security/wpscan/gemset.nix b/pkgs/tools/security/wpscan/gemset.nix
index 5cae455dd0143..abe19a29bf8f4 100644
--- a/pkgs/tools/security/wpscan/gemset.nix
+++ b/pkgs/tools/security/wpscan/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s465919p6fcgcsqin8w8hay2m598dvnzks490hbsb0p68sdz69m";
+      sha256 = "1nhrdih0rk46i0s6x7nqhbypmj1hf23zl5gfl9xasb6k4r2a1dxk";
       type = "gem";
     };
-    version = "6.1.7.4";
+    version = "6.1.7.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
+      sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   cms_scanner = {
     dependencies = ["ethon" "get_process_mem" "nokogiri" "opt_parse_validator" "public_suffix" "ruby-progressbar" "sys-proctable" "typhoeus" "xmlrpc" "yajl-ruby"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15d7djrrkrcwznglgkr4y80jbsbxaf071qhjnn4i1c4n7nszwwfj";
+      sha256 = "0p3vdkkd04r31d503z5v0480xlq1fhiw77icbk5s17y6dwfacydy";
       type = "gem";
     };
-    version = "0.13.8";
+    version = "0.13.9";
   };
   concurrent-ruby = {
     groups = ["default"];
@@ -48,20 +48,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
+      sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v";
       type = "gem";
     };
-    version = "0.15.0";
+    version = "0.16.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.3";
   };
   get_process_mem = {
     dependencies = ["ffi"];
@@ -90,20 +90,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6";
+      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.5";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb";
+      sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
       type = "gem";
     };
-    version = "5.18.1";
+    version = "5.20.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -111,10 +111,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
+      sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
       type = "gem";
     };
-    version = "1.13.10";
+    version = "1.15.5";
   };
   opt_parse_validator = {
     dependencies = ["activesupport" "addressable"];
@@ -132,30 +132,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
+      sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "5.0.4";
   };
   racc = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
+      sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.3";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
+      sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.13.0";
   };
   sys-proctable = {
     dependencies = ["ffi"];
@@ -163,10 +163,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "121ix0bl19pawhljs17sfgddkd0hgxlhchsz9kxw14ipmskjq9ah";
+      sha256 = "0m3fj6j1qpfszqnsvr6wpak0d9vw5ggylaqkalhl3m50kbbimxii";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.3.0";
   };
   typhoeus = {
     dependencies = ["ethon"];
@@ -174,10 +174,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
+      sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qh7x5sjx1i9h8zrp86qz126brxbqx0c3wxc8vn7fpln0y78nw9q";
+      sha256 = "1x04asq0aznbm6m79jlsv7mjbhq755759s4bi3qbyrv5rwpy7hji";
       type = "gem";
     };
-    version = "3.8.24";
+    version = "3.8.25";
   };
   xmlrpc = {
     dependencies = ["webrick"];
@@ -217,10 +217,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xa79ry3976ylap38cr5g6q3m81plm611flqd3dwgnmgbkycb6jp";
+      sha256 = "0fwfnccagsjrbvrav5nbk3zracj9zncr7i375nn20jd4cfy4cggc";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "0.3.3";
   };
   yajl-ruby = {
     groups = ["default"];
@@ -237,9 +237,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ck6bj7wa73dkdh13735jl06k6cfny98glxjkas82aivlmyzqqbk";
+      sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn";
       type = "gem";
     };
-    version = "2.6.8";
+    version = "2.6.12";
   };
 }
diff --git a/pkgs/tools/virtualization/distrobuilder/default.nix b/pkgs/tools/virtualization/distrobuilder/default.nix
index e6b867139165d..da2f1a9091565 100644
--- a/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -60,7 +60,7 @@ buildGoModule rec {
     description = "System container image builder for LXC and LXD";
     homepage = "https://github.com/lxc/distrobuilder";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ megheaiulian adamcstephens ];
+    maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
     mainProgram = "distrobuilder";
   };
diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
index e78b36c9f84f9..cea1553e0bc6f 100644
--- a/pkgs/tools/virtualization/xe-guest-utilities/default.nix
+++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
@@ -6,16 +6,17 @@
 
 buildGoModule rec {
   pname = "xe-guest-utilities";
-  version = "7.30.0";
+  version = "8.3.1";
 
   src = fetchFromGitHub {
     owner = "xenserver";
     repo = "xe-guest-utilities";
     rev = "v${version}";
-    hash = "sha256-gMb8QIUg8t0SiTtUzqeh4XM5hHgCXuf5KlV3OeoU0LI=";
+    hash = "sha256-d0WdezcT44ExeHSnoJ3Dn0u/IRlhWreOZPSVw6Q1h/w=";
   };
 
-  vendorHash = "sha256-zhpDvo8iujE426/gxJY+Pqfv99vLNKHqyMQbbXIKodY=";
+  deleteVendor = true;
+  vendorHash = "sha256-X/BI+ZhoqCGCmJfccyEBVgZc70aRTp3rL5j+rBWG5fE=";
 
   postPatch = ''
     substituteInPlace mk/xen-vcpu-hotplug.rules \
diff --git a/pkgs/tools/wayland/swaysome/default.nix b/pkgs/tools/wayland/swaysome/default.nix
index 4acf4115a0480..308592e450f94 100644
--- a/pkgs/tools/wayland/swaysome/default.nix
+++ b/pkgs/tools/wayland/swaysome/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swaysome";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitLab {
     owner = "hyask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-KmGAp0EPnnM+hPRpUGsbt+NU2v5mcPaRUqo0pqUr1L8=";
+    sha256 = "sha256-U5W/9VL1t1/R4ADPxseBV6CMKx04I4vbp7sFmSqRZXk=";
   };
 
-  cargoHash = "sha256-9sOR99CaTyMQoGMKP2Cag6YNxmgEqNPE/kiJPziqB9U=";
+  cargoHash = "sha256-QA3EQsYgjwx8QX50yaxiJyAPDlpYYqiqLiXco1kJmw0=";
 
   meta = with lib; {
     description = "Helper to make sway behave more like awesomewm";
diff --git a/pkgs/tools/wayland/wob/default.nix b/pkgs/tools/wayland/wob/default.nix
index 67f7904192f92..3dc21b64fb119 100644
--- a/pkgs/tools/wayland/wob/default.nix
+++ b/pkgs/tools/wayland/wob/default.nix
@@ -5,6 +5,7 @@
 , meson
 , ninja
 , pkg-config
+, cmocka
 , scdoc
 , wayland-scanner
 , wayland
@@ -14,20 +15,20 @@
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.14.2";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    sha256 = "sha256-u4jLVLGcMTgDEgN8jW5d59m3GorJX7Z6+qKhzvbON3k=";
+    sha256 = "sha256-9LFAEo17w861ldMJU+t1oLAKoM6gJc4Em4tSwQDXbKU=";
   };
 
   strictDeps = true;
   depsBuildBuild = [
     pkg-config
   ];
-  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
+  nativeBuildInputs = [ meson ninja pkg-config cmocka scdoc wayland-scanner ];
   buildInputs = [ inih wayland wayland-protocols ]
     ++ lib.optional stdenv.isLinux libseccomp;
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 76cb0383a0ba6..bb1e8b1880b1b 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -69,7 +69,9 @@ mapAliases ({
   alsaUtils = alsa-utils; # Added 2021-06-10
   angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
   ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
+  apacheAnt_1_9 = throw "Ant 1.9 has been removed since it's not used in nixpkgs anymore"; # Added 2023-11-12
   antimicroX = antimicrox; # Added 2021-10-31
+  arcanPackages = throw "arcanPackages was removed and its sub-attributes were promoted to top-level"; # Added 2023-11-26
   ardour_6 = throw "ardour_6 has been removed in favor of newer versions"; # Added 2023-10-13
   aseprite-unfree = aseprite; # Added 2023-08-26
   asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
@@ -285,6 +287,7 @@ mapAliases ({
   geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10
   ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18
   go-dependency-manager = throw "'go-dependency-manager' is unmaintained and the go community now uses 'go.mod' mostly instead"; # Added 2023-10-04
+  gotktrix = throw "'gotktrix' has been removed, as it was broken and unmaintained"; # Added 2023-12-06
   git-subset = throw "'git-subset' has been removed in favor of 'git-filter-repo'"; # Added 2023-01-13
 
   gitAndTools = self // {
@@ -652,6 +655,7 @@ mapAliases ({
   noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
   noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09
   noto-fonts-extra = noto-fonts; # Added 2023-04-08
+  nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl";
 
   ### O ###
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c9a80d2a57411..67aaee744cdf9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3027,8 +3027,6 @@ with pkgs;
 
   xplorer = callPackage ../applications/file-managers/xplorer { };
 
-  ytree = callPackage ../applications/file-managers/ytree { };
-
   johnny-reborn-engine = callPackage ../applications/misc/johnny-reborn { };
 
   johnny-reborn = callPackage ../applications/misc/johnny-reborn/with-data.nix { };
@@ -3916,8 +3914,6 @@ with pkgs;
 
   goperf = callPackage ../development/tools/goperf { };
 
-  gotktrix = callPackage ../applications/networking/instant-messengers/gotktrix { };
-
   graphite-cli = nodePackages.graphite-cli;
 
   gucci = callPackage ../tools/text/gucci { };
@@ -6328,6 +6324,10 @@ with pkgs;
       inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  rblake3sum = callPackage ../tools/security/rblake3sum {
+      inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   reg = callPackage ../tools/virtualization/reg { };
 
   retool = callPackage ../applications/misc/retool { };
@@ -7102,7 +7102,7 @@ with pkgs;
   ibus-theme-tools = callPackage ../tools/misc/ibus-theme-tools { };
 
   interception-tools = callPackage ../tools/inputmethods/interception-tools { };
-  interception-tools-plugins = {
+  interception-tools-plugins = recurseIntoAttrs {
     caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { };
     dual-function-keys = callPackage ../tools/inputmethods/interception-tools/dual-function-keys.nix { };
   };
@@ -7322,6 +7322,10 @@ with pkgs;
   cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; };
   cudaPackages_12 = cudaPackages_12_0;
 
+  # Use the older cudaPackages for tensorflow and jax, as determined by cudnn
+  # compatibility: https://www.tensorflow.org/install/source#gpu
+  cudaPackagesGoogle = cudaPackages_11;
+
   # TODO: try upgrading once there is a cuDNN release supporting CUDA 12. No
   # such cuDNN release as of 2023-01-10.
   cudaPackages = recurseIntoAttrs cudaPackages_11;
@@ -11278,16 +11282,6 @@ with pkgs;
 
   nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher;
 
-  nvidia-thrust = callPackage ../development/libraries/nvidia-thrust { };
-
-  nvidia-thrust-intel = callPackage ../development/libraries/nvidia-thrust {
-    hostSystem = "TBB";
-    deviceSystem = if config.cudaSupport then "CUDA" else "TBB";
-  };
-
-  nvidia-thrust-cuda = callPackage ../development/libraries/nvidia-thrust {
-    deviceSystem = "CUDA";
-  };
 
   miller = callPackage ../tools/text/miller { };
 
@@ -12194,8 +12188,6 @@ with pkgs;
 
   plowshare = callPackage ../tools/misc/plowshare { };
 
-  pls = callPackage ../tools/misc/pls { };
-
   pm2 = nodePackages.pm2;
 
   pmenu = callPackage ../tools/X11/pmenu { };
@@ -17554,7 +17546,7 @@ with pkgs;
 
   clojure = callPackage ../development/interpreters/clojure {
     # set this to an LTS version of java
-    jdk = jdk17;
+    jdk = jdk21;
   };
 
   clojure-lsp = callPackage ../development/tools/misc/clojure-lsp { };
@@ -18043,8 +18035,8 @@ with pkgs;
   smiley-sans = callPackage ../data/fonts/smiley-sans { };
 
   inherit (callPackages ../applications/networking/cluster/spark { })
-    spark_3_4 spark_3_3 spark_3_2;
-  spark3 = spark_3_4;
+    spark_3_5 spark_3_4 spark_3_3;
+  spark3 = spark_3_5;
   spark = spark3;
 
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
@@ -18418,7 +18410,6 @@ with pkgs;
   antlr = antlr4;
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
-  apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
   ant = apacheAnt;
 
   apacheKafka = apacheKafka_3_5;
@@ -18488,9 +18479,10 @@ with pkgs;
   electron_22 = electron_22-bin;
   electron_23 = electron_23-bin;
   electron_24 = electron_24-bin;
-  electron_25 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_25 then electron-source.electron_25 else electron_25-bin;
+  electron_25 = electron_25-bin;
   electron_26 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_26 then electron-source.electron_26 else electron_26-bin;
   electron_27 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_27 then electron-source.electron_27 else electron_27-bin;
+  electron_28 = electron-source.electron_28;
   electron = electron_27;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
@@ -20763,6 +20755,9 @@ with pkgs;
     # catboost requires clang 12+ for build
     # after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
     inherit (llvmPackages_12) stdenv;
+
+    # https://github.com/catboost/catboost/issues/2540
+    cudaPackages = cudaPackages_11;
   };
 
   ndn-cxx = callPackage ../development/libraries/ndn-cxx { };
@@ -24585,6 +24580,9 @@ with pkgs;
 
   protobuf = protobuf_24;
 
+  protobuf_25 = callPackage ../development/libraries/protobuf/25.nix {
+    abseil-cpp = abseil-cpp_202308;
+  };
   protobuf_24 = callPackage ../development/libraries/protobuf/24.nix { };
   protobuf_23 = callPackage ../development/libraries/protobuf/23.nix { };
   protobuf_21 = callPackage ../development/libraries/protobuf/21.nix {
@@ -27147,6 +27145,7 @@ with pkgs;
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-artifactory-exporter = callPackage ../servers/monitoring/prometheus/artifactory-exporter.nix { };
+  prometheus-atlas-exporter = callPackage ../servers/monitoring/prometheus/atlas-exporter.nix { };
   prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
   prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
   prometheus-bird-exporter = callPackage ../servers/monitoring/prometheus/bird-exporter.nix { };
@@ -27410,6 +27409,8 @@ with pkgs;
 
   tailscale = callPackage ../servers/tailscale { };
 
+  tailscale-nginx-auth = callPackage ../by-name/ta/tailscale-nginx-auth/package.nix { };
+
   tailscale-systray = callPackage ../applications/misc/tailscale-systray { };
 
   tailspin = callPackage ../tools/misc/tailspin { };
@@ -31962,8 +31963,6 @@ with pkgs;
 
   firefox_decrypt = python3Packages.callPackage ../tools/security/firefox_decrypt { };
 
-  fmtoy = callPackage ../tools/audio/fmtoy { };
-
   flac = callPackage ../applications/audio/flac { };
 
   redoflacs = callPackage ../applications/audio/redoflacs { };
@@ -38683,7 +38682,28 @@ with pkgs;
 
   ### DESKTOP ENVIRONMENTS
 
-  arcanPackages = recurseIntoAttrs (callPackage ../desktops/arcan { });
+  arcan-wrapped = arcan.wrapper.override { };
+  arcan-all-wrapped = arcan.wrapper.override {
+    name = "arcan-all-wrapped";
+    appls = [ cat9 durden pipeworld ];
+
+  };
+  cat9-wrapped = arcan.wrapper.override {
+    name = "cat9-wrapped";
+    appls = [ cat9 ];
+  };
+  durden-wrapped = arcan.wrapper.override {
+    name = "durden-wrapped";
+    appls = [ durden ];
+  };
+  pipeworld-wrapped = arcan.wrapper.override {
+    name = "pipeworld-wrapped";
+    appls = [ pipeworld ];
+  };
+  prio-wrapped = arcan.wrapper.override {
+    name = "prio-wrapped";
+    appls = [ prio ];
+  };
 
   budgie = recurseIntoAttrs (callPackage ../desktops/budgie { });
   budgiePlugins = recurseIntoAttrs (callPackage ../desktops/budgie/plugins { });
@@ -39315,6 +39335,7 @@ with pkgs;
   osi = callPackage ../development/libraries/science/math/osi { };
 
   or-tools = callPackage ../development/libraries/science/math/or-tools {
+    stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
     python = python3;
     protobuf = protobuf_21;
     # or-tools builds with -std=c++20, so abseil-cpp must
@@ -39431,7 +39452,6 @@ with pkgs;
     singlePrec = true;
     enableMpi = true;
     enableCuda = true;
-    cudatoolkit = cudatoolkit_11;
     fftw = fftwSinglePrec;
   });
 
@@ -39973,7 +39993,6 @@ with pkgs;
 
   faissWithCuda = faiss.override {
     cudaSupport = true;
-    nvidia-thrust = nvidia-thrust-cuda;
   };
 
   fityk = callPackage ../applications/science/misc/fityk { };
diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix
index a2f49a98ccd53..3912422785bc4 100644
--- a/pkgs/top-level/cuda-packages.nix
+++ b/pkgs/top-level/cuda-packages.nix
@@ -24,6 +24,7 @@ let
 
     buildCuTensorPackage = final.callPackage ../development/libraries/science/math/cutensor/generic.nix;
 
+    # FIXME: Include non-x86_64 platforms
     cuTensorVersions = {
       "1.2.2.5" = {
         hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY=";
@@ -31,12 +32,24 @@ let
       "1.5.0.3" = {
         hash = "sha256-T96+lPC6OTOkIs/z3QWg73oYVSyidN0SVkBWmT9VRx0=";
       };
+      "2.0.0.7" = {
+        hash = "sha256-32M4rtGOW2rgxJUhBT0WBtKkHhh9f17M+RgK9rvE72g=";
+      };
     };
 
     inherit (final) cudaMajorMinorVersion cudaMajorVersion;
 
+    cudaToCutensor = {
+      "10" = "1.2.25";
+      "11" = "1.5.0.3";
+      "12" = "2.0.0.7";
+    };
+
+    versionNewer = lib.flip lib.versionOlder;
+    latestVersion = (builtins.head (lib.sort versionNewer (builtins.attrNames cuTensorVersions)));
+
     cutensor = buildCuTensorPackage rec {
-      version = if cudaMajorMinorVersion == "10.1" then "1.2.2.5" else "1.5.0.3";
+      version = cudaToCutensor.${cudaMajorVersion} or latestVersion;
       inherit (cuTensorVersions.${version}) hash;
       # This can go into generic.nix
       libPath = "lib/${if cudaMajorVersion == "10" then cudaMajorMinorVersion else cudaMajorVersion}";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index cda91b8c627b4..08e863c385525 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -312,8 +312,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     phalcon = callPackage ../development/php-packages/phalcon { };
 
-    php-spx = callPackage ../development/php-packages/php-spx { };
-
     pinba = callPackage ../development/php-packages/pinba { };
 
     protobuf = callPackage ../development/php-packages/protobuf { };
@@ -332,6 +330,8 @@ lib.makeScope pkgs.newScope (self: with self; {
       inherit (pkgs) darwin;
     };
 
+    spx = callPackage ../development/php-packages/spx { };
+
     sqlsrv = callPackage ../development/php-packages/sqlsrv { };
 
     ssh2 = callPackage ../development/php-packages/ssh2 { };
@@ -345,6 +345,8 @@ lib.makeScope pkgs.newScope (self: with self; {
     xdebug = callPackage ../development/php-packages/xdebug { };
 
     yaml = callPackage ../development/php-packages/yaml { };
+  } // lib.optionalAttrs config.allowAliases {
+    php-spx = throw "php-spx is deprecated, use spx instead";
   } // (
     # Core extensions
     let
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 39ba30a93b7dd..c2bd5f3904096 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -225,6 +225,8 @@ mapAliases ({
   lazy_imports = lazy-imports; # added 2023-10-13
   lektor = throw "lektor has been promoted to a top-level attribute"; # added 2023-08-01
   line_profiler = line-profiler; # added 2023-11-04
+  livestreamer = throw "'livestreamer' has been removed, as it unmaintained. A currently maintained fork is 'streamlink'."; # added 2023-11-14
+  livestreamer-curses = throw "'livestreamer-curses' has been removed as it, and livestreamer itself are unmaintained."; # added 2023-11-14
   logilab_astng = throw "logilab-astng has not been released since 2013 and is unmaintained"; # added 2022-11-29
   logilab_common = logilab-common; # added 2022-11-21
   loo-py = loopy; # added 2022-05-03
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f18355db4d9ea..9ace4959843cc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1378,6 +1378,8 @@ self: super: with self; {
   else
     callPackage ../development/python-modules/bcrypt { };
 
+  bdffont = callPackage ../development/python-modules/bdffont { };
+
   beaker = callPackage ../development/python-modules/beaker { };
 
   before-after = callPackage ../development/python-modules/before-after { };
@@ -1962,6 +1964,8 @@ self: super: with self; {
 
   characteristic = callPackage ../development/python-modules/characteristic { };
 
+  character-encoding-utils = callPackage ../development/python-modules/character-encoding-utils { };
+
   chardet = callPackage ../development/python-modules/chardet { };
 
   charset-normalizer = callPackage ../development/python-modules/charset-normalizer { };
@@ -2467,7 +2471,8 @@ self: super: with self; {
 
   cufflinks = callPackage ../development/python-modules/cufflinks { };
 
-  cupy = callPackage ../development/python-modules/cupy { };
+  # cupy 12.2.0 possibly incompatible with cutensor 2.0 that comes with cudaPackages_12
+  cupy = callPackage ../development/python-modules/cupy { cudaPackages = pkgs.cudaPackages_11; };
 
   curio = callPackage ../development/python-modules/curio { };
 
@@ -6150,6 +6155,8 @@ self: super: with self; {
 
   lc7001 = callPackage ../development/python-modules/lc7001 { };
 
+  lcd-i2c = callPackage ../development/python-modules/lcd-i2c { };
+
   lcgit = callPackage ../development/python-modules/lcgit { };
 
   lcov_cobertura = callPackage ../development/python-modules/lcov_cobertura { };
@@ -6440,6 +6447,10 @@ self: super: with self; {
 
   lingua = callPackage ../development/python-modules/lingua { };
 
+  linien-client = callPackage ../development/python-modules/linien-client { };
+
+  linien-common = callPackage ../development/python-modules/linien-common { };
+
   linkify-it-py = callPackage ../development/python-modules/linkify-it-py { };
 
   linknlink = callPackage ../development/python-modules/linknlink { };
@@ -6470,10 +6481,6 @@ self: super: with self; {
 
   livereload = callPackage ../development/python-modules/livereload { };
 
-  livestreamer = callPackage ../development/python-modules/livestreamer { };
-
-  livestreamer-curses = callPackage ../development/python-modules/livestreamer-curses { };
-
   lizard = callPackage ../development/python-modules/lizard { };
 
   llfuse = callPackage ../development/python-modules/llfuse {
@@ -8545,6 +8552,8 @@ self: super: with self; {
 
   opcua-widgets = callPackage ../development/python-modules/opcua-widgets { };
 
+  open-clip-torch = callPackage ../development/python-modules/open-clip-torch { };
+
   open-garage = callPackage ../development/python-modules/open-garage { };
 
   open-meteo = callPackage ../development/python-modules/open-meteo { };
@@ -9232,6 +9241,8 @@ self: super: with self; {
 
   pixelmatch = callPackage ../development/python-modules/pixelmatch { };
 
+  pixel-font-builder = callPackage ../development/python-modules/pixel-font-builder { };
+
   pixel-ring = callPackage ../development/python-modules/pixel-ring { };
 
   pjsua2 = (toPythonModule (pkgs.pjsip.override {
@@ -10609,6 +10620,8 @@ self: super: with self; {
 
   pymicrobot = callPackage ../development/python-modules/pymicrobot { };
 
+  pymiele = callPackage ../development/python-modules/pymiele { };
+
   pymilter = callPackage ../development/python-modules/pymilter { };
 
   pymilvus = callPackage ../development/python-modules/pymilvus { };
@@ -12307,6 +12320,8 @@ self: super: with self; {
 
   rencode = callPackage ../development/python-modules/rencode { };
 
+  renson-endura-delta = callPackage ../development/python-modules/renson-endura-delta { };
+
   reorder-python-imports = callPackage ../development/python-modules/reorder-python-imports { };
 
   reolink = callPackage ../development/python-modules/reolink { };
@@ -13942,7 +13957,6 @@ self: super: with self; {
   callPackage ../development/python-modules/tensorflow {
     inherit (pkgs.darwin) cctools;
     inherit (pkgs.config) cudaSupport;
-    inherit (self.tensorflow-bin) cudaPackages;
     inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security;
     flatbuffers-core = pkgs.flatbuffers;
     flatbuffers-python = self.flatbuffers;
@@ -13975,7 +13989,7 @@ self: super: with self; {
 
   tensorly = callPackage ../development/python-modules/tensorly { };
 
-  tensorrt = callPackage ../development/python-modules/tensorrt { };
+  tensorrt = callPackage ../development/python-modules/tensorrt { cudaPackages = pkgs.cudaPackages_11; };
 
   tensorstore = callPackage ../development/python-modules/tensorstore { };
 
@@ -15407,6 +15421,8 @@ self: super: with self; {
 
   unicrypto = callPackage ../development/python-modules/unicrypto { };
 
+  unidata-blocks = callPackage ../development/python-modules/unidata-blocks { };
+
   unidecode = callPackage ../development/python-modules/unidecode { };
 
   unidic = callPackage ../development/python-modules/unidic { };
@@ -15783,6 +15799,8 @@ self: super: with self; {
 
   webcolors = callPackage ../development/python-modules/webcolors { };
 
+  webdataset = callPackage ../development/python-modules/webdataset { };
+
   webdav4 = callPackage ../development/python-modules/webdav4 { };
 
   webdavclient3 = callPackage ../development/python-modules/webdavclient3 { };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 2a068d5afd719..9acaacea24a4d 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -142,13 +142,13 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP
 
   liblastfm = callPackage ../development/libraries/liblastfm { };
 
-  libopenshot = callPackage ../applications/video/openshot-qt/libopenshot.nix {
+  libopenshot = callPackage ../development/libraries/libopenshot {
     stdenv = if pkgs.stdenv.isDarwin then pkgs.overrideSDK pkgs.stdenv "11.0" else pkgs.stdenv;
   };
 
   packagekit-qt = callPackage ../tools/package-management/packagekit/qt.nix { };
 
-  libopenshot-audio = callPackage ../applications/video/openshot-qt/libopenshot-audio.nix {
+  libopenshot-audio = callPackage ../development/libraries/libopenshot-audio {
     inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate AGL Cocoa Foundation;
   };