summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/Uses/pyqt.mk2
-rw-r--r--audio/mac/Makefile2
-rw-r--r--audio/mac/distinfo6
-rw-r--r--biology/vsearch/files/patch-src_arch.cc32
-rw-r--r--devel/libphonenumber/Makefile2
-rw-r--r--devel/libphonenumber/distinfo6
-rw-r--r--devel/ninja/Makefile2
-rw-r--r--devel/ninja/distinfo6
-rw-r--r--devel/py-sip/Makefile8
-rw-r--r--devel/py-sip/distinfo16
-rw-r--r--filesystems/nbt/Makefile2
-rw-r--r--misc/qt5ct/Makefile21
-rw-r--r--misc/qt5ct/distinfo6
-rw-r--r--misc/qt5ct/pkg-plist2
-rw-r--r--misc/qt6ct/Makefile4
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp16
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt4
-rw-r--r--net/nbdkit/Makefile4
-rw-r--r--net/nbdkit/distinfo6
-rw-r--r--net/nbdkit/pkg-plist14
-rw-r--r--science/afni/Makefile2
-rw-r--r--science/afni/distinfo6
-rw-r--r--security/vuxml/vuln/2025.xml94
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/py-hcloud/Makefile2
-rw-r--r--sysutils/py-hcloud/distinfo6
-rw-r--r--sysutils/py-rendercv/Makefile43
-rw-r--r--sysutils/py-rendercv/distinfo3
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py21
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py11
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py46
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py20
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py23
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py8
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py22
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py19
-rw-r--r--sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py38
-rw-r--r--sysutils/py-rendercv/pkg-descr5
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/R-cran-litedown/Makefile4
-rw-r--r--textproc/R-cran-litedown/distinfo6
-rw-r--r--textproc/libmrss/Makefile18
-rw-r--r--textproc/libmrss/distinfo5
-rw-r--r--textproc/libmrss/pkg-plist2
-rw-r--r--textproc/py-typst/Makefile27
-rw-r--r--textproc/py-typst/Makefile.crates381
-rw-r--r--textproc/py-typst/distinfo765
-rw-r--r--textproc/py-typst/files/patch-Cargo.lock26
-rw-r--r--textproc/py-typst/files/patch-Cargo.toml12
-rw-r--r--textproc/py-typst/pkg-descr2
-rw-r--r--www/gallery-dl/Makefile2
-rw-r--r--www/gallery-dl/distinfo6
-rw-r--r--www/gohugo/Makefile3
-rw-r--r--www/gohugo/distinfo10
-rw-r--r--www/oauth2-proxy/Makefile103
-rw-r--r--www/oauth2-proxy/distinfo190
-rw-r--r--www/oauth2-proxy/files/patch-go.mod10
-rw-r--r--x11-fonts/Makefile1
-rw-r--r--x11-fonts/py-rendercv-fonts/Makefile21
-rw-r--r--x11-fonts/py-rendercv-fonts/distinfo3
-rw-r--r--x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml9
-rw-r--r--x11-fonts/py-rendercv-fonts/pkg-descr2
68 files changed, 1843 insertions, 394 deletions
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index 52be74e48e82..880221be3b56 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -110,7 +110,7 @@ MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
# Qt version-agnostic components
PYQTBUILDER_VERSION= 1.19.1
QSCI2_VERSION= 2.14.1
-SIP_VERSION= 6.15.0 # ,1
+SIP_VERSION= 6.15.1 # ,1
# Qt 5 components
PYQT5SIP_VERSION= 12.17.2
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index fca05e2559f6..0d8944bea982 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mac
-PORTVERSION= 11.89
+PORTVERSION= 11.90
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index e9bf9d189a7a..6fd754e6fed3 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1764901120
-SHA256 (MAC_1189_SDK.zip) = e641cf51139ede6e2b3055dedc24e79e43443339dee0d8ef8b0b7aa50ae22008
-SIZE (MAC_1189_SDK.zip) = 1735541
+TIMESTAMP = 1766250730
+SHA256 (MAC_1190_SDK.zip) = 6aeb626ba379af91b69a76047d5fb6e8f498630fa4274f865eecfd2b5ccc74d0
+SIZE (MAC_1190_SDK.zip) = 1735265
diff --git a/biology/vsearch/files/patch-src_arch.cc b/biology/vsearch/files/patch-src_arch.cc
new file mode 100644
index 000000000000..bf8d2e77dda7
--- /dev/null
+++ b/biology/vsearch/files/patch-src_arch.cc
@@ -0,0 +1,32 @@
+--- src/arch.cc.orig 2025-12-20 13:37:07 UTC
++++ src/arch.cc
+@@ -67,7 +67,7 @@
+ #include <cstdlib> // std::realloc, std::free
+
+
+-constexpr auto memalignment = 16;
++constexpr auto vsearch_memalignment = 16;
+
+
+ auto arch_get_memused() -> uint64_t
+@@ -223,9 +223,9 @@ auto xmalloc(std::size_t size) -> void *
+ size = std::max(size, minimal_allocation);
+ void * ptr = nullptr;
+ #ifdef _WIN32
+- ptr = _aligned_malloc(size, memalignment);
++ ptr = _aligned_malloc(size, vsearch_memalignment);
+ #else
+- if (posix_memalign(&ptr, memalignment, size) != 0)
++ if (posix_memalign(&ptr, vsearch_memalignment, size) != 0)
+ {
+ ptr = nullptr;
+ }
+@@ -243,7 +243,7 @@ auto xrealloc(void * ptr, std::size_t size) -> void *
+ static constexpr auto minimal_allocation = std::size_t{1};
+ size = std::max(size, minimal_allocation);
+ #ifdef _WIN32
+- void * new_ptr = _aligned_realloc(ptr, size, memalignment);
++ void * new_ptr = _aligned_realloc(ptr, size, vsearch_memalignment);
+ #else
+ void * new_ptr = realloc(ptr, size);
+ #endif
diff --git a/devel/libphonenumber/Makefile b/devel/libphonenumber/Makefile
index 25b307b796fe..7fa33a12d2fc 100644
--- a/devel/libphonenumber/Makefile
+++ b/devel/libphonenumber/Makefile
@@ -1,6 +1,6 @@
PORTNAME= libphonenumber
DISTVERSIONPREFIX= v
-DISTVERSION= 9.0.18
+DISTVERSION= 9.0.21
CATEGORIES= devel
MAINTAINER= kde@FreeBSD.org
diff --git a/devel/libphonenumber/distinfo b/devel/libphonenumber/distinfo
index c068ffe93f13..772a783e2316 100644
--- a/devel/libphonenumber/distinfo
+++ b/devel/libphonenumber/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763449489
-SHA256 (google-libphonenumber-v9.0.18_GH0.tar.gz) = fdcf2677367b93595d3c7ccbbd58e8e086bbdd5fd58bc01400b445786f9544f7
-SIZE (google-libphonenumber-v9.0.18_GH0.tar.gz) = 13017109
+TIMESTAMP = 1766251070
+SHA256 (google-libphonenumber-v9.0.21_GH0.tar.gz) = 4261a7c38744b3b4859a424a193714ef55b53cd9f3d3d463f9ac589a2c778102
+SIZE (google-libphonenumber-v9.0.21_GH0.tar.gz) = 13022920
diff --git a/devel/ninja/Makefile b/devel/ninja/Makefile
index 931e9b910a68..5bfff5d38364 100644
--- a/devel/ninja/Makefile
+++ b/devel/ninja/Makefile
@@ -1,5 +1,5 @@
PORTNAME= ninja
-PORTVERSION= 1.13.1
+PORTVERSION= 1.13.2
DISTVERSIONPREFIX= v
PORTEPOCH= 4
CATEGORIES= devel
diff --git a/devel/ninja/distinfo b/devel/ninja/distinfo
index 60e7d21f0fd6..0fc2bc91fd57 100644
--- a/devel/ninja/distinfo
+++ b/devel/ninja/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755246529
-SHA256 (ninja-build-ninja-v1.13.1_GH0.tar.gz) = f0055ad0369bf2e372955ba55128d000cfcc21777057806015b45e4accbebf23
-SIZE (ninja-build-ninja-v1.13.1_GH0.tar.gz) = 292098
+TIMESTAMP = 1766255207
+SHA256 (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 974d6b2f4eeefa25625d34da3cb36bdcebe7fbce40f4c16ac0835fd1c0cbae17
+SIZE (ninja-build-ninja-v1.13.2_GH0.tar.gz) = 292385
diff --git a/devel/py-sip/Makefile b/devel/py-sip/Makefile
index d36b47aeb6c3..5596f8a478f4 100644
--- a/devel/py-sip/Makefile
+++ b/devel/py-sip/Makefile
@@ -1,18 +1,10 @@
PORTNAME= sip
PORTVERSION= ${SIP_VERSION}
-PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITES_SIP}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-PATCH_SITES= https://github.com/Python-SIP/sip/commit/
-PATCHFILES= 79da3321082f17d594b29c22dd94e58276d5d23e.patch:-p1 \
- c8424f0208c09c272977cd75b242b01d45d8ad55.patch:-p1 \
- 25010f24cde1f247bb27031543ef5f684fb3c080.patch:-p1 \
- 97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch:-p1 \
- 8cb66d205024005cca5851395b82dd59942fa1f8.patch:-p1
-
MAINTAINER= kde@FreeBSD.org
COMMENT= Python to C and C++ bindings generator
WWW= https://github.com/Python-SIP/sip
diff --git a/devel/py-sip/distinfo b/devel/py-sip/distinfo
index 45f3e5d4954e..da0980593c08 100644
--- a/devel/py-sip/distinfo
+++ b/devel/py-sip/distinfo
@@ -1,13 +1,3 @@
-TIMESTAMP = 1766213878
-SHA256 (sip-6.15.0.tar.gz) = 3920f26515456ee21114a1f8282144f8c156b1aabc3b44424155d5f81396025f
-SIZE (sip-6.15.0.tar.gz) = 2563129
-SHA256 (79da3321082f17d594b29c22dd94e58276d5d23e.patch) = 78f88cc5ce72a5edd89ee035024b0484cc4901a252a1bf27f11b5923286539bc
-SIZE (79da3321082f17d594b29c22dd94e58276d5d23e.patch) = 743
-SHA256 (c8424f0208c09c272977cd75b242b01d45d8ad55.patch) = 260ab48086ac070b7fc139d194d2f49668595265d13bc88c0676551c1d2f163a
-SIZE (c8424f0208c09c272977cd75b242b01d45d8ad55.patch) = 1569
-SHA256 (25010f24cde1f247bb27031543ef5f684fb3c080.patch) = 3963f0fe344bc122fbe9eea68e90da34588fd5f6371958874a3d0687beb13083
-SIZE (25010f24cde1f247bb27031543ef5f684fb3c080.patch) = 2471
-SHA256 (97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch) = 9722f6ef69fc95507bbbbcc2b150939e6f333510da43d0b2742f21ca461f64d9
-SIZE (97b0fd965d9eaba621d6a438f0e7436916ffc3e7.patch) = 3799
-SHA256 (8cb66d205024005cca5851395b82dd59942fa1f8.patch) = 4fe967cd9fd905525be97ad60b28c157cf76a5d05a53fefb040f3fa3145ba5e0
-SIZE (8cb66d205024005cca5851395b82dd59942fa1f8.patch) = 1393
+TIMESTAMP = 1766250366
+SHA256 (sip-6.15.1.tar.gz) = dc2e58c1798a74e1b31c28e837339822fe8fa55288ae30e8986eb28100ebca5a
+SIZE (sip-6.15.1.tar.gz) = 2563506
diff --git a/filesystems/nbt/Makefile b/filesystems/nbt/Makefile
index ae706dc35e0b..aa39c72adf37 100644
--- a/filesystems/nbt/Makefile
+++ b/filesystems/nbt/Makefile
@@ -5,7 +5,7 @@ MASTER_SITES= SF/nbtfsutils
PKGNAMEPREFIX= fusefs-
DISTNAME= nbtfsutils-${REVISION_DATE}-${REVISION_HASH}-src
-MAINTAINER= msl0000023508@gmail.com
+MAINTAINER= whr@rivoreo.one
COMMENT= Editing Named Binary Tag (NBT) as using a file system
WWW= https://sourceforge.net/projects/nbtfsutils/
diff --git a/misc/qt5ct/Makefile b/misc/qt5ct/Makefile
index 48146e305384..a5e6fbfeacc9 100644
--- a/misc/qt5ct/Makefile
+++ b/misc/qt5ct/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qt5ct
-DISTVERSION= 1.8
+DISTVERSION= 1.9
CATEGORIES= misc
MASTER_SITES= SF/${PORTNAME}
@@ -9,22 +9,17 @@ WWW= https://sourceforge.net/projects/qt5ct/
LICENSE= BSD2CLAUSE
-LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2
-
-USES= cmake compiler:c++11-lang gettext-runtime gl gnome qt:5 \
- tar:bz2 xorg
-USE_QT= concurrent core dbus gui paths svg widgets \
- buildtools:build linguisttools:build qmake:build
-USE_GL= egl gl
-USE_XORG= x11 xext xrender
-USE_GNOME= glib20
+USES= cmake compiler:c++11-lang gl qt:5 tar:bz2 xorg
+USE_QT= concurrent core dbus gui paths widgets \
+ buildtools:build linguisttools:build qmake:build \
+ svg:run
+USE_GL= gl
USE_LDCONFIG= yes
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}/${DOCSDIR} && \
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/misc/qt5ct/distinfo b/misc/qt5ct/distinfo
index 77e24eacc32a..ec2557c36d73 100644
--- a/misc/qt5ct/distinfo
+++ b/misc/qt5ct/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1697071130
-SHA256 (qt5ct-1.8.tar.bz2) = 23b74054415ea4124328772ef9a6f95083a9b86569e128034a3ff75dfad808e9
-SIZE (qt5ct-1.8.tar.bz2) = 85945
+TIMESTAMP = 1766255501
+SHA256 (qt5ct-1.9.tar.bz2) = dc10e6939d423b925981ce67febb1a015b6f61c022a9cc7e6c8b5efea4588bff
+SIZE (qt5ct-1.9.tar.bz2) = 87416
diff --git a/misc/qt5ct/pkg-plist b/misc/qt5ct/pkg-plist
index 65564c802436..4872ba691e2d 100644
--- a/misc/qt5ct/pkg-plist
+++ b/misc/qt5ct/pkg-plist
@@ -1,6 +1,6 @@
bin/qt5ct
lib/libqt5ct-common.so
-lib/libqt5ct-common.so.1.8
+lib/libqt5ct-common.so.1.9
%%QT_PLUGINDIR%%/platformthemes/libqt5ct.so
%%QT_PLUGINDIR%%/styles/libqt5ct-style.so
share/applications/qt5ct.desktop
diff --git a/misc/qt6ct/Makefile b/misc/qt6ct/Makefile
index 4ee6c8b1fb14..ed9197db83c7 100644
--- a/misc/qt6ct/Makefile
+++ b/misc/qt6ct/Makefile
@@ -20,7 +20,7 @@ USE_QT= base svg:run tools:build
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}/${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}/${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
new file mode 100644
index 000000000000..35699524d9bf
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__propertydict.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_propertydict.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_propertydict.cpp
+@@ -31,7 +31,7 @@ PwPropertyDict toPropertyDict(const spa_dict &dict)
+
+ PwPropertyDict toPropertyDict(const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ PwPropertyDict map;
+ for (const spa_dict_item &item : items)
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
new file mode 100644
index 000000000000..d2fddc373701
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_pipewire_qpipewire__support.cpp
@@ -0,0 +1,16 @@
+Fix build on i386.
+
+error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka
+'unsigned int') to 'qsizetype' (aka 'int') in initializer list
+
+--- src/multimedia/pipewire/qpipewire_support.cpp.orig 2025-11-13 22:23:51 UTC
++++ src/multimedia/pipewire/qpipewire_support.cpp
+@@ -16,7 +16,7 @@ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ // debug support
+ QDebug operator<<(QDebug dbg, const spa_dict &dict)
+ {
+- QSpan<const spa_dict_item> items{ dict.items, dict.n_items };
++ QSpan<const spa_dict_item> items{ dict.items, static_cast<qsizetype>(dict.n_items) };
+
+ QDebugStateSaver saver(dbg);
+ dbg.nospace();
diff --git a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
index e8ba5dbeb30e..4ac8d13cf740 100644
--- a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
+++ b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-08-15 19:16:13 UTC
+--- src/plugins/multimedia/ffmpeg/CMakeLists.txt.orig 2025-11-13 22:23:51 UTC
+++ src/plugins/multimedia/ffmpeg/CMakeLists.txt
-@@ -92,7 +92,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
+@@ -94,7 +94,7 @@ qt_internal_add_module(FFmpegMediaPluginImplPrivate
../../../3rdparty/signalsmith-stretch
)
diff --git a/net/nbdkit/Makefile b/net/nbdkit/Makefile
index d6fe1b73312f..a69762e098e9 100644
--- a/net/nbdkit/Makefile
+++ b/net/nbdkit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nbdkit
-PORTVERSION= 1.44.4
+PORTVERSION= 1.46.0
CATEGORIES= net
# XXX Although nbdkit uses github for its homepage, the release tarballs served
# by github haven't been through autoconf. So we must download the sources
@@ -68,6 +68,8 @@ RUBY_CONFIGURE_ENABLE= ruby
SSH_LIB_DEPENDS= libssh.so:security/libssh
SSH_CONFIGURE_WITH= ssh
ZLIB_CONFIGURE_WITH= zlib
+# Fix "WARNING: zlib-ng not found, zlib operations will run slower"
+ZLIB_LIB_DEPENDS= libz-ng.so:archivers/zlib-ng
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
ZSTD_CONFIGURE_WITH= libzstd
diff --git a/net/nbdkit/distinfo b/net/nbdkit/distinfo
index bfeb3cec6b8c..b3e37afe7a71 100644
--- a/net/nbdkit/distinfo
+++ b/net/nbdkit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761865788
-SHA256 (nbdkit-1.44.4.tar.gz) = 281d83daf954e04c739a5f29d10e5440de69e9009654a2935aee7cbf3aebca91
-SIZE (nbdkit-1.44.4.tar.gz) = 2659658
+TIMESTAMP = 1766254321
+SHA256 (nbdkit-1.46.0.tar.gz) = 149aebf9a754786adc619a286e16803e7043fb742f6ee8709b8e26dd7949d0ce
+SIZE (nbdkit-1.46.0.tar.gz) = 2739966
diff --git a/net/nbdkit/pkg-plist b/net/nbdkit/pkg-plist
index 0a4abbe09224..3b7d0d063b04 100644
--- a/net/nbdkit/pkg-plist
+++ b/net/nbdkit/pkg-plist
@@ -3,9 +3,10 @@ include/nbdkit-common.h
include/nbdkit-filter.h
include/nbdkit-plugin.h
include/nbdkit-version.h
+lib/nbdkit/filters/nbdkit-count-filter.so
+lib/nbdkit/filters/nbdkit-map-filter.so
lib/nbdkit/filters/nbdkit-blocksize-filter.so
lib/nbdkit/filters/nbdkit-cache-filter.so
-lib/nbdkit/filters/nbdkit-cacheextents-filter.so
lib/nbdkit/filters/nbdkit-cow-filter.so
lib/nbdkit/filters/nbdkit-delay-filter.so
lib/nbdkit/filters/nbdkit-error-filter.so
@@ -38,7 +39,6 @@ lib/nbdkit/plugins/nbdkit-example3-plugin.so
lib/nbdkit/plugins/nbdkit-file-plugin.so
lib/nbdkit/plugins/nbdkit-floppy-plugin.so
lib/nbdkit/plugins/nbdkit-full-plugin.so
-%%ZLIB%%lib/nbdkit/plugins/nbdkit-gzip-plugin.so
lib/nbdkit/plugins/nbdkit-info-plugin.so
%%LIBVIRT%%lib/nbdkit/plugins/nbdkit-libvirt-plugin.so
lib/nbdkit/plugins/nbdkit-memory-plugin.so
@@ -80,12 +80,13 @@ lib/nbdkit/plugins/nbdkit-cdi-plugin.so
lib/nbdkit/plugins/nbdkit-ondemand-plugin.so
lib/nbdkit/plugins/nbdkit-ones-plugin.so
lib/nbdkit/plugins/nbdkit-sparse-random-plugin.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-gzip-filter.so
+%%ZLIB%%lib/nbdkit/filters/nbdkit-indexed-gzip-filter.so
libdata/pkgconfig/nbdkit.pc
sbin/nbdkit
share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-blocksize-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cache-filter.1.gz
-%%MANPAGES%%share/man/man1/nbdkit-cacheextents-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-captive.1.gz
%%MANPAGES%%share/man/man1/nbdkit-cow-filter.1.gz
%%MANPAGES%%%%CURL%%share/man/man1/nbdkit-curl-plugin.1.gz
@@ -103,7 +104,8 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man1/nbdkit-floppy-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-fua-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-full-plugin.1.gz
-%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-plugin.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-gzip-filter.1.gz
+%%MANPAGES%%%%ZLIB%%share/man/man1/nbdkit-indexed-gzip-filter.1.gz
%%MANPAGES%%share/man/man1/nbdkit-info-plugin.1.gz
%%MANPAGES%%share/man/man1/nbdkit-ip-filter.1.gz
%%MANPAGES%%%%LIBVIRT%%share/man/man1/nbdkit-libvirt-plugin.1.gz
@@ -232,3 +234,7 @@ share/bash-completion/completions/nbdkit
%%MANPAGES%%share/man/man3/nbdkit_vdebug.3.gz
%%MANPAGES%%share/man/man3/nbdkit_verror.3.gz
%%MANPAGES%%share/man/man3/nbdkit_vprintf_intern.3.gz
+%%MANPAGES%%share/man/man1/nbdkit-count-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-map-filter.1.gz
+%%MANPAGES%%share/man/man1/nbdkit-release-notes-1.46.1.gz
+%%MANPAGES%%share/man/man3/nbdkit_debug_hexdump.3.gz
diff --git a/science/afni/Makefile b/science/afni/Makefile
index 769ec31d6078..34ba89750d14 100644
--- a/science/afni/Makefile
+++ b/science/afni/Makefile
@@ -1,6 +1,6 @@
PORTNAME= afni
DISTVERSIONPREFIX= AFNI_
-DISTVERSION= 25.3.03
+DISTVERSION= 25.3.04
CATEGORIES= science biology graphics perl5 python
MAINTAINER= fernape@FreeBSD.org
diff --git a/science/afni/distinfo b/science/afni/distinfo
index 180cfc9188c5..c7f2994532ab 100644
--- a/science/afni/distinfo
+++ b/science/afni/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765278441
-SHA256 (afni-afni-AFNI_25.3.03_GH0.tar.gz) = ee896e0168661fd7d708fa1dd454ab7334ae96bbba7c0ec93e63a5a21c69540d
-SIZE (afni-afni-AFNI_25.3.03_GH0.tar.gz) = 53428208
+TIMESTAMP = 1766142229
+SHA256 (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 0079691f2044d0986c2a1bfd10cc3002dafd20b6f97a51983f470c376015eb7c
+SIZE (afni-afni-AFNI_25.3.04_GH0.tar.gz) = 53431518
diff --git a/security/vuxml/vuln/2025.xml b/security/vuxml/vuln/2025.xml
index 8daf847a93d7..3e5428cd52a1 100644
--- a/security/vuxml/vuln/2025.xml
+++ b/security/vuxml/vuln/2025.xml
@@ -1,3 +1,97 @@
+ <vuln vid="c32cb4b7-ddcb-11f0-902c-b42e991fc52e">
+ <topic>smb4k -- Critical vulnerabilities in Mount Helper</topic>
+ <affects>
+<package>
+<name>smb4k</name>
+<range><lt>4.0.4</lt></range>
+</package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>vulndb reports:</p>
+ <blockquote cite="https://vuldb.com/?id.336198">
+ <p>A vulnerability, which was classified as critical, was
+ found in smb4k up to 4.0.4. Affected is some unknown
+ functionality of the component Mount Helper. The
+ manipulation with an unknown input leads to a access control
+ vulnerability. CWE is classifying the issue as CWE-284. The
+ product does not restrict or incorrectly restricts access to
+ a resource from an unauthorized actor. This is going to have
+ an impact on integrity, and availability. The advisory is
+ available at seclists.org. The exploitability is told to be
+ easy. Local access is required to approach this attack. The
+ technical details are unknown and an exploit is not
+ available.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-66002</cvename>
+ <url>https://vuldb.com/?id.336198</url>
+ <cvename>CVE-2025-66003</cvename>
+ <url>https://vuldb.com/?id.336199</url>
+ </references>
+ <dates>
+ <discovery>2025-12-20</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="2a33d28e-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Use-after-free</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/show_bug.cgi?id=2000597 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/show_bug.cgi?id=2000597">
+ <p>Use-after-free in the Disability Access APIs component.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14860</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14860</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="23437e07-ddc0-11f0-902c-b42e991fc52e">
+ <topic>Firefox -- Memory safety bugs</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>146.0.1,2</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700 reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/buglist.cgi?bug_id=1996570%2C1999700">
+ <p>Memory safety bugs present in Firefox 146. Some of these
+ bugs showed evidence of memory corruption and we presume
+ that with enough effort some of these could have been
+ exploited to run arbitrary code.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-14861</cvename>
+ <url>https://cveawg.mitre.org/api/cve/CVE-2025-14861</url>
+ </references>
+ <dates>
+ <discovery>2025-12-18</discovery>
+ <entry>2025-12-20</entry>
+ </dates>
+ </vuln>
+
<vuln vid="f99e70c2-dcb8-11f0-a15a-a8a1599412c6">
<topic>chromium -- multiple security fixes</topic>
<affects>
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 2ce5f3d8dc01..7b71b1c7ea29 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1101,6 +1101,7 @@
SUBDIR += py-queuelib
SUBDIR += py-ranger
SUBDIR += py-rdiff-backup
+ SUBDIR += py-rendercv
SUBDIR += py-resolve-march-native
SUBDIR += py-salt
SUBDIR += py-salt-tower
diff --git a/sysutils/py-hcloud/Makefile b/sysutils/py-hcloud/Makefile
index 6c7e24195143..b40c2c92102e 100644
--- a/sysutils/py-hcloud/Makefile
+++ b/sysutils/py-hcloud/Makefile
@@ -1,5 +1,5 @@
PORTNAME= hcloud
-DISTVERSION= 2.12.0
+DISTVERSION= 2.13.0
CATEGORIES= sysutils python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/sysutils/py-hcloud/distinfo b/sysutils/py-hcloud/distinfo
index 7e211ca87b40..95367c84c550 100644
--- a/sysutils/py-hcloud/distinfo
+++ b/sysutils/py-hcloud/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1765457422
-SHA256 (hcloud-2.12.0.tar.gz) = f145b18efc6d70fff3d48b244edfde29c0fe3dddfbbadcfe71d63f41f52441f7
-SIZE (hcloud-2.12.0.tar.gz) = 152256
+TIMESTAMP = 1766235980
+SHA256 (hcloud-2.13.0.tar.gz) = 974b22a36c347e113ff8b25abd2cd3868011288485192b562729dba6b22375e1
+SIZE (hcloud-2.13.0.tar.gz) = 153639
diff --git a/sysutils/py-rendercv/Makefile b/sysutils/py-rendercv/Makefile
new file mode 100644
index 000000000000..4eb46c2ca27c
--- /dev/null
+++ b/sysutils/py-rendercv/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= rendercv
+DISTVERSION= 2.5
+CATEGORIES= sysutils python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Typst-based CV/resume generator
+WWW= https://github.com/rendercv/rendercv \
+ https://pypi.org/project/rendercv
+
+LICENSE= MIT
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uv-build>=0:devel/py-uv-build@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}phonenumbers>=0:devel/py-phonenumbers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=0:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic-extra-types>=0:devel/py-pydantic-extra-types@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}email-validator>=0:mail/py-email-validator@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0:devel/py-ruamel.yaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= CLI MARKDOWN WATCHDOG TYPST FONT
+OPTIONS_DEFAULT= CLI MARKDOWN WATCHDOG TYPST FONT
+
+CLI_DESC= Enable Command-line interface support
+MARKDOWN_DESC= Convert Markdown to HTML
+WATCHDOG_DESC= Monitor files for updates
+TYPST_DESC= Render PDF from Typst source files
+FONT_DESC= Font files for RenderCV
+
+CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typer>=0:devel/py-typer@${PY_FLAVOR}
+MARKDOWN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown>=0:textproc/py-markdown@${PY_FLAVOR}
+WATCHDOG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchdog>=0:devel/py-watchdog@${PY_FLAVOR}
+TYPST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typst>=0:textproc/py-typst@${PY_FLAVOR}
+FONT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rendercv-fonts>=0:x11-fonts/py-rendercv-fonts@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/sysutils/py-rendercv/distinfo b/sysutils/py-rendercv/distinfo
new file mode 100644
index 000000000000..c6f5b4128d33
--- /dev/null
+++ b/sysutils/py-rendercv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766178034
+SHA256 (rendercv-2.5.tar.gz) = 7e5b51c7ed4340fa2e78084a3d74aa4784aa3e42e53d585c3c8433082982434b
+SIZE (rendercv-2.5.tar.gz) = 77147
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
new file mode 100644
index 000000000000..7c8350de5c53
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_error__handler.py
@@ -0,0 +1,20 @@
+--- src/rendercv/cli/error_handler.py.orig 2025-12-20 00:46:25 UTC
++++ src/rendercv/cli/error_handler.py
+@@ -8,7 +8,7 @@ from rendercv.exception import RenderCVUserError
+ from rendercv.exception import RenderCVUserError
+
+
+-def handle_user_errors[T, **P](function: Callable[P, None]) -> Callable[P, None]:
++def handle_user_errors(function):
+ """Decorator that catches user errors and displays friendly messages without stack traces.
+
+ Why:
+@@ -33,7 +33,7 @@ def handle_user_errors[T, **P](function: Callable[P, N
+ """
+
+ @functools.wraps(function)
+- def wrapper(*args: P.args, **kwargs: P.kwargs) -> None:
++ def wrapper(*args, **kwargs) -> None:
+ try:
+ return function(*args, **kwargs)
+ except RenderCVUserError as e:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
new file mode 100644
index 000000000000..3ede1d8e2ce3
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_cli_render__command_run__rendercv.py
@@ -0,0 +1,21 @@
+--- src/rendercv/cli/render_command/run_rendercv.py.orig 2025-12-20 00:43:25 UTC
++++ src/rendercv/cli/render_command/run_rendercv.py
+@@ -19,13 +19,13 @@ from .progress_panel import ProgressPanel
+ from .progress_panel import ProgressPanel
+
+
+-def timed_step[T, **P](
++def timed_step(
+ message: str,
+ progress_panel: ProgressPanel,
+- func: Callable[P, T],
+- *args: P.args,
+- **kwargs: P.kwargs,
+-) -> T:
++ func,
++ *args,
++ **kwargs,
++):
+ """Execute function, measure timing, and update progress panel with result.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
new file mode 100644
index 000000000000..d3fbd6e1175e
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_renderer_templater_entry__templates__from__input.py
@@ -0,0 +1,20 @@
+--- src/rendercv/renderer/templater/entry_templates_from_input.py.orig 2025-12-20 00:49:48 UTC
++++ src/rendercv/renderer/templater/entry_templates_from_input.py
+@@ -14,14 +14,14 @@ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+ uppercase_word_pattern = re.compile(r"\b[A-Z_]+\b")
+
+
+-def render_entry_templates[EntryType: Entry](
+- entry: EntryType,
++def render_entry_templates(
++ entry,
+ *,
+ templates: Templates,
+ locale: Locale,
+ show_time_span: bool,
+ current_date: Date,
+-) -> EntryType:
++):
+ """Expand entry templates by substituting field placeholders with processed values.
+
+ Why:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
new file mode 100644
index 000000000000..c3e40f6ba6fd
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__complex__fields.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py.orig 2025-12-19 21:42:57 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py
+@@ -37,7 +37,7 @@ def validate_exact_date(date: str | int) -> str | int:
+ return date
+
+
+-type ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
++ExactDate = Annotated[str | int, pydantic.AfterValidator(validate_exact_date)]
+
+
+ def get_date_object(date: str | int, current_date: Date | None = None) -> Date:
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
new file mode 100644
index 000000000000..8c792c689936
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_entries_bases_entry__with__date.py
@@ -0,0 +1,11 @@
+--- src/rendercv/schema/models/cv/entries/bases/entry_with_date.py.orig 2025-12-19 21:34:29 UTC
++++ src/rendercv/schema/models/cv/entries/bases/entry_with_date.py
+@@ -31,7 +31,7 @@ def validate_arbitrary_date(date: int | str) -> int |
+ return date
+
+
+-type ArbitraryDate = Annotated[
++ArbitraryDate = Annotated[
+ int | str, pydantic.AfterValidator(validate_arbitrary_date)
+ ]
+
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
new file mode 100644
index 000000000000..d2f7a9c12c81
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_section.py
@@ -0,0 +1,46 @@
+--- src/rendercv/schema/models/cv/section.py.orig 2025-12-19 21:43:39 UTC
++++ src/rendercv/schema/models/cv/section.py
+@@ -21,7 +21,7 @@ from .entries.reversed_numbered import ReversedNumbere
+ # Below needs to be updated when new entry types are added.
+
+ # str is an entry type (TextEntry) but not a model, so it's not included in EntryModel.
+-type EntryModel = (
++EntryModel = (
+ OneLineEntry
+ | NormalEntry
+ | ExperienceEntry
+@@ -31,13 +31,22 @@ type EntryModel = (
+ | NumberedEntry
+ | ReversedNumberedEntry
+ )
+-type Entry = EntryModel | str
++Entry = EntryModel | str
+ ########################################################################################
+-available_entry_models: tuple[type[EntryModel], ...] = get_args(EntryModel.__value__)
++available_entry_models: tuple[type[EntryModel], ...] = (
++ OneLineEntry,
++ NormalEntry,
++ ExperienceEntry,
++ EducationEntry,
++ PublicationEntry,
++ BulletEntry,
++ NumberedEntry,
++ ReversedNumberedEntry
++)
+ available_entry_type_names: tuple[str, ...] = tuple(
+ [entry_type.__name__ for entry_type in available_entry_models] + ["TextEntry"]
+ )
+-type ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
++ListOfEntries = list[str] | reduce( # pyright: ignore[reportInvalidTypeForm]
+ or_, [list[entry_type] for entry_type in available_entry_models]
+ )
+
+@@ -244,7 +253,7 @@ def validate_section(sections_input: Any) -> Any:
+ # Create a custom type named Section, which is a list of entries. The entries can be any
+ # of the available entry types. The section is validated with the `validate_section`
+ # function.
+-type Section = Annotated[
++Section = Annotated[
+ pydantic.json_schema.SkipJsonSchema[Any] | ListOfEntries,
+ pydantic.BeforeValidator(lambda entries: validate_section(entries)),
+ ]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
new file mode 100644
index 000000000000..50d71355c92c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_cv_social__network.py
@@ -0,0 +1,20 @@
+--- src/rendercv/schema/models/cv/social_network.py.orig 2025-12-19 21:44:26 UTC
++++ src/rendercv/schema/models/cv/social_network.py
+@@ -10,7 +10,7 @@ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+ from ..base import BaseModelWithoutExtraKeys
+
+ url_validator = pydantic.TypeAdapter(pydantic.HttpUrl)
+-type SocialNetworkName = Literal[
++SocialNetworkName = Literal[
+ "LinkedIn",
+ "GitHub",
+ "GitLab",
+@@ -27,7 +27,7 @@ type SocialNetworkName = Literal[
+ "Leetcode",
+ "X",
+ ]
+-available_social_networks = get_args(SocialNetworkName.__value__)
++#available_social_networks = get_args(SocialNetworkName.__value__)
+ url_dictionary: dict[SocialNetworkName, str] = {
+ "LinkedIn": "https://linkedin.com/in/",
+ "GitHub": "https://github.com/",
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
new file mode 100644
index 000000000000..2519ce6c6ec4
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_built__in__design.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/design/built_in_design.py.orig 2025-12-19 21:32:57 UTC
++++ src/rendercv/schema/models/design/built_in_design.py
+@@ -37,14 +37,13 @@ def discover_other_themes() -> list[type[ClassicTheme]
+
+ return discovered
+
++discovered_other_themes = discover_other_themes()
+
+ # Build discriminated union dynamically
+-type BuiltInDesign = Annotated[
+- ClassicTheme | reduce(or_, discover_other_themes()), # pyright: ignore[reportInvalidTypeForm]
++BuiltInDesign = Annotated[
++ ClassicTheme | reduce(or_, discovered_other_themes), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="theme"),
+ ]
+-available_themes: list[str] = [
+- ThemeClass.model_fields["theme"].default
+- for ThemeClass in get_args(get_args(BuiltInDesign.__value__)[0])
+-]
++discovered_other_themes.append(ClassicTheme)
++available_themes: list[str] = [ThemeClass.model_fields["theme"].default for ThemeClass in discovered_other_themes]
+ built_in_design_adapter = pydantic.TypeAdapter(BuiltInDesign)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
new file mode 100644
index 000000000000..30f05b163fbc
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_classic__theme.py
@@ -0,0 +1,23 @@
+--- src/rendercv/schema/models/design/classic_theme.py.orig 2025-12-19 21:33:55 UTC
++++ src/rendercv/schema/models/design/classic_theme.py
+@@ -7,14 +7,14 @@ from rendercv.schema.models.design.typst_dimension imp
+ from rendercv.schema.models.design.font_family import FontFamily as FontFamilyType
+ from rendercv.schema.models.design.typst_dimension import TypstDimension
+
+-type Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
+-type BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
+-type Alignment = Literal["left", "center", "right"]
+-type SectionTitleType = Literal[
++Bullet = Literal["●", "•", "◦", "-", "◆", "★", "■", "—", "○"]
++BodyAlignment = Literal["left", "justified", "justified-with-no-hyphenation"]
++Alignment = Literal["left", "center", "right"]
++SectionTitleType = Literal[
+ "with_partial_line", "with_full_line", "without_line", "moderncv"
+ ]
+-type PhoneNumberFormatType = Literal["national", "international", "E164"]
+-type PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
++PhoneNumberFormatType = Literal["national", "international", "E164"]
++PageSize = Literal["a4", "a5", "us-letter", "us-executive"]
+
+ length_common_description = (
+ "It can be specified with units (cm, in, pt, mm, ex, em). For example, `0.1cm`."
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
new file mode 100644
index 000000000000..0563084ad505
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_font__family.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/font_family.py.orig 2025-12-19 21:33:15 UTC
++++ src/rendercv/schema/models/design/font_family.py
+@@ -50,4 +50,4 @@ available_font_families = sorted(
+ )
+
+
+-type FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
++FontFamily = SkipJsonSchema[str] | Literal[*tuple(available_font_families)] # pyright: ignore[reportInvalidTypeForm]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
new file mode 100644
index 000000000000..f9c2dfb78d2c
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_design_typst__dimension.py
@@ -0,0 +1,8 @@
+--- src/rendercv/schema/models/design/typst_dimension.py.orig 2025-12-19 21:33:37 UTC
++++ src/rendercv/schema/models/design/typst_dimension.py
+@@ -29,4 +29,4 @@ def validate_typst_dimension(dimension: str) -> str:
+ return dimension
+
+
+-type TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
++TypstDimension = Annotated[str, pydantic.AfterValidator(validate_typst_dimension)]
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
new file mode 100644
index 000000000000..78889b6444b0
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_locale_locale.py
@@ -0,0 +1,22 @@
+--- src/rendercv/schema/models/locale/locale.py.orig 2025-12-19 21:44:44 UTC
++++ src/rendercv/schema/models/locale/locale.py
+@@ -37,14 +37,13 @@ def discover_other_locales() -> list[type[EnglishLocal
+
+ return discovered
+
++discovered_other_locales = discover_other_locales()
+
+ # Build discriminated union dynamically
+-type Locale = Annotated[
+- EnglishLocale | reduce(or_, discover_other_locales()), # pyright: ignore[reportInvalidTypeForm]
++Locale = Annotated[
++ EnglishLocale | reduce(or_, discovered_other_locales), # pyright: ignore[reportInvalidTypeForm]
+ pydantic.Field(discriminator="language"),
+ ]
+-available_locales = [
+- LocaleModel.model_fields["language"].default
+- for LocaleModel in get_args(get_args(Locale.__value__)[0])
+-]
++discovered_other_locales.append(EnglishLocale)
++available_locales = [LocaleModel.model_fields["language"].default for LocaleModel in discovered_other_locales]
+ locale_adapter = pydantic.TypeAdapter(Locale)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
new file mode 100644
index 000000000000..74b7cab315b6
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_models_path.py
@@ -0,0 +1,19 @@
+--- src/rendercv/schema/models/path.py.orig 2025-12-19 21:40:25 UTC
++++ src/rendercv/schema/models/path.py
+@@ -60,14 +60,14 @@ def serialize_path(path: pathlib.Path) -> str:
+ return str(path.relative_to(pathlib.Path.cwd()))
+
+
+-type ExistingPathRelativeToInput = Annotated[
++ExistingPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=True)
+ ),
+ ]
+
+-type PlannedPathRelativeToInput = Annotated[
++PlannedPathRelativeToInput = Annotated[
+ pathlib.Path,
+ pydantic.AfterValidator(
+ lambda path, info: resolve_relative_path(path, info, must_exist=False)
diff --git a/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
new file mode 100644
index 000000000000..8760ecb47deb
--- /dev/null
+++ b/sysutils/py-rendercv/files/patch-src_rendercv_schema_variant__pydantic__model__generator.py
@@ -0,0 +1,38 @@
+--- src/rendercv/schema/variant_pydantic_model_generator.py.orig 2025-12-19 21:48:58 UTC
++++ src/rendercv/schema/variant_pydantic_model_generator.py
+@@ -6,17 +6,17 @@ from rendercv.exception import RenderCVInternalError
+
+ from rendercv.exception import RenderCVInternalError
+
+-type FieldSpec = tuple[type[Any], FieldInfo]
++FieldSpec = tuple[type[Any], FieldInfo]
+
+
+-def create_variant_pydantic_model[T: pydantic.BaseModel](
++def create_variant_pydantic_model(
+ variant_name: str,
+ defaults: dict[str, Any],
+- base_class: type[T],
++ base_class,
+ discriminator_field: str,
+ class_name_suffix: str,
+ module_name: str,
+-) -> type[T]:
++):
+ """Create Pydantic model variant with customized defaults.
+
+ Why:
+@@ -190,10 +190,10 @@ def create_discriminator_field_spec(
+ return (cast(type[Any], field_annotation), new_field)
+
+
+-def deep_merge_nested_object[T: pydantic.BaseModel](
+- base_nested_obj: T,
++def deep_merge_nested_object(
++ base_nested_obj,
+ updates: dict[str, Any],
+-) -> T:
++):
+ """Recursively merge nested dictionary updates into Pydantic model instance.
+
+ Why:
diff --git a/sysutils/py-rendercv/pkg-descr b/sysutils/py-rendercv/pkg-descr
new file mode 100644
index 000000000000..58a97762cbe9
--- /dev/null
+++ b/sysutils/py-rendercv/pkg-descr
@@ -0,0 +1,5 @@
+RenderCV is a python tool for creating a CV from YAML.
+
+Write your CV or resume as YAML, then run RenderCV, and get a PDF
+with perfect typography. No template wrestling. No broken layouts.
+Consistent spacing, every time.
diff --git a/textproc/Makefile b/textproc/Makefile
index 3c3c7be8edd0..a960bb4c4eb9 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1721,6 +1721,7 @@
SUBDIR += py-ttp
SUBDIR += py-ttp-templates
SUBDIR += py-typogrify
+ SUBDIR += py-typst
SUBDIR += py-uc-micro-py
SUBDIR += py-ucl
SUBDIR += py-ufal.udpipe
diff --git a/textproc/R-cran-litedown/Makefile b/textproc/R-cran-litedown/Makefile
index 0e8252c78fa8..f97f50d7409b 100644
--- a/textproc/R-cran-litedown/Makefile
+++ b/textproc/R-cran-litedown/Makefile
@@ -1,5 +1,5 @@
PORTNAME= litedown
-DISTVERSION= 0.8
+DISTVERSION= 0.9
CATEGORIES= textproc
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -11,7 +11,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= R-cran-commonmark>=2.0.0:textproc/R-cran-commonmark \
- R-cran-xfun>=0.54:misc/R-cran-xfun
+ R-cran-xfun>=0.55:misc/R-cran-xfun
TEST_DEPENDS= R-cran-rbibutils>0:textproc/R-cran-rbibutils \
R-cran-rstudioapi>0:devel/R-cran-rstudioapi \
R-cran-tinytex>0:print/R-cran-tinytex
diff --git a/textproc/R-cran-litedown/distinfo b/textproc/R-cran-litedown/distinfo
index a96e433c3001..091abd5aa147 100644
--- a/textproc/R-cran-litedown/distinfo
+++ b/textproc/R-cran-litedown/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1762181533
-SHA256 (litedown_0.8.tar.gz) = 13d004556dee69130c151f8232b0f78ff6006f0bf77389314a04542ea35ab138
-SIZE (litedown_0.8.tar.gz) = 101850
+TIMESTAMP = 1766246162
+SHA256 (litedown_0.9.tar.gz) = 35e1c58fd063c300d37ee0b1874827dbcbbc43b625a2d0011e4f4d5556e3f53f
+SIZE (litedown_0.9.tar.gz) = 103182
diff --git a/textproc/libmrss/Makefile b/textproc/libmrss/Makefile
index 0d1bf0791394..96aa534b9729 100644
--- a/textproc/libmrss/Makefile
+++ b/textproc/libmrss/Makefile
@@ -1,12 +1,10 @@
PORTNAME= libmrss
-PORTVERSION= 0.19.2
-PORTREVISION= 8
+DISTVERSION= 0.19.4
CATEGORIES= textproc
-MASTER_SITES= http://www.autistici.org/bakunin/libmrss/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= juw@posteo.de
COMMENT= C library for parsing, writing, and creating RSS
-WWW= http://www2.autistici.org/bakunin/libmrss/doc/
+WWW= https://github.com/bakulf/libmrss/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,12 +12,12 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libcurl.so:ftp/curl \
libnxml.so:textproc/libnxml
+USES= autoreconf libtool localbase pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= bakulf
+USE_LDCONFIG= yes
+
GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
-USES= libtool pathfix pkgconfig
-USE_LDCONFIG= yes
-
.include <bsd.port.mk>
diff --git a/textproc/libmrss/distinfo b/textproc/libmrss/distinfo
index dfa49400401e..7f74d9150964 100644
--- a/textproc/libmrss/distinfo
+++ b/textproc/libmrss/distinfo
@@ -1,2 +1,3 @@
-SHA256 (libmrss-0.19.2.tar.gz) = 071416adcae5c1a9317a4a313f2deb34667e3cc2be4487fb3076528ce45b210b
-SIZE (libmrss-0.19.2.tar.gz) = 375238
+TIMESTAMP = 1765649342
+SHA256 (bakulf-libmrss-0.19.4_GH0.tar.gz) = 28022247056b04ca3f12a9e21134d42304526b2a67b7d6baf139e556af1151c6
+SIZE (bakulf-libmrss-0.19.4_GH0.tar.gz) = 43963
diff --git a/textproc/libmrss/pkg-plist b/textproc/libmrss/pkg-plist
index 07fec9456eed..276d6fcfaa16 100644
--- a/textproc/libmrss/pkg-plist
+++ b/textproc/libmrss/pkg-plist
@@ -2,5 +2,5 @@ include/mrss.h
lib/libmrss.a
lib/libmrss.so
lib/libmrss.so.0
-lib/libmrss.so.0.19.2
+lib/libmrss.so.0.19.4
libdata/pkgconfig/mrss.pc
diff --git a/textproc/py-typst/Makefile b/textproc/py-typst/Makefile
new file mode 100644
index 000000000000..64cdf90dd288
--- /dev/null
+++ b/textproc/py-typst/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= typst
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.14.4
+CATEGORIES= textproc python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Python binding to typst
+WWW= https://github.com/messense/typst-py \
+ https://pypi.org/project/typst
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=0:devel/py-maturin@${PY_FLAVOR}
+
+USES= cargo python ssl
+USE_GITHUB= yes
+GH_ACCOUNT= messense
+GH_PROJECT= typst-py
+USE_PYTHON= autoplist pep517
+
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TEST= no
+
+.include <bsd.port.mk>
diff --git a/textproc/py-typst/Makefile.crates b/textproc/py-typst/Makefile.crates
new file mode 100644
index 000000000000..275a575c4cf2
--- /dev/null
+++ b/textproc/py-typst/Makefile.crates
@@ -0,0 +1,381 @@
+CARGO_CRATES= adler2-2.0.1 \
+ aho-corasick-1.1.4 \
+ android_system_properties-0.1.5 \
+ approx-0.5.1 \
+ ar_archive_writer-0.2.0 \
+ arrayref-0.3.9 \
+ arrayvec-0.7.6 \
+ autocfg-1.5.0 \
+ az-1.2.1 \
+ base64-0.22.1 \
+ biblatex-0.11.0 \
+ bincode-1.3.3 \
+ bit-set-0.8.0 \
+ bit-vec-0.8.0 \
+ bitflags-1.3.2 \
+ bitflags-2.10.0 \
+ bumpalo-3.19.0 \
+ by_address-1.2.1 \
+ bytemuck-1.24.0 \
+ bytemuck_derive-1.10.2 \
+ byteorder-lite-0.1.0 \
+ cc-1.2.48 \
+ cfg-if-1.0.4 \
+ chinese-number-0.7.7 \
+ chinese-variant-1.1.3 \
+ chrono-0.4.42 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ citationberg-0.6.1 \
+ cobs-0.3.0 \
+ codespan-reporting-0.13.1 \
+ codex-0.2.0 \
+ color_quant-1.1.0 \
+ comemo-0.5.0 \
+ comemo-macros-0.5.0 \
+ core-foundation-0.9.4 \
+ core-foundation-sys-0.8.7 \
+ core_maths-0.1.1 \
+ crc32fast-1.5.0 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.4 \
+ csv-1.4.0 \
+ csv-core-0.1.13 \
+ data-url-0.3.2 \
+ deranged-0.5.5 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
+ ecow-0.2.6 \
+ either-1.15.0 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ enum-ordinalize-4.3.2 \
+ enum-ordinalize-derive-4.3.2 \
+ env_proxy-0.4.1 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ euclid-0.22.11 \
+ fancy-regex-0.16.2 \
+ fast-srgb8-1.0.0 \
+ fastrand-2.3.0 \
+ fdeflate-0.3.7 \
+ filetime-0.2.26 \
+ find-msvc-tools-0.1.5 \
+ flate2-1.1.5 \
+ float-cmp-0.9.0 \
+ float-cmp-0.10.0 \
+ fnv-1.0.7 \
+ font-types-0.10.1 \
+ fontconfig-parser-0.5.8 \
+ fontdb-0.23.0 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.2 \
+ getrandom-0.2.16 \
+ getrandom-0.3.4 \
+ gif-0.13.3 \
+ gif-0.14.1 \
+ glidesort-0.1.2 \
+ half-2.7.1 \
+ hashbrown-0.16.1 \
+ hayagriva-0.9.1 \
+ hayro-0.4.0 \
+ hayro-font-0.3.0 \
+ hayro-interpret-0.4.0 \
+ hayro-svg-0.2.0 \
+ hayro-syntax-0.4.0 \
+ hayro-write-0.3.0 \
+ heck-0.5.0 \
+ hypher-0.1.6 \
+ iana-time-zone-0.1.64 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_collections-2.1.1 \
+ icu_locale_core-2.1.1 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.1 \
+ icu_normalizer-2.1.1 \
+ icu_normalizer_data-2.1.1 \
+ icu_properties-1.5.1 \
+ icu_properties-2.1.1 \
+ icu_properties_data-1.5.1 \
+ icu_properties_data-2.1.1 \
+ icu_provider-1.5.0 \
+ icu_provider-2.1.1 \
+ icu_provider_adapters-1.5.0 \
+ icu_provider_blob-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ icu_segmenter-1.5.0 \
+ icu_segmenter_data-1.5.1 \
+ idna-1.1.0 \
+ idna_adapter-1.2.1 \
+ image-0.25.9 \
+ image-webp-0.2.4 \
+ imagesize-0.13.0 \
+ imagesize-0.14.0 \
+ indexmap-2.12.1 \
+ indoc-2.0.7 \
+ infer-0.19.0 \
+ itoa-1.0.15 \
+ js-sys-0.3.83 \
+ kamadak-exif-0.6.1 \
+ krilla-0.6.0 \
+ krilla-svg-0.3.0 \
+ kurbo-0.11.3 \
+ kurbo-0.12.0 \
+ libc-0.2.178 \
+ libm-0.2.15 \
+ libredox-0.1.10 \
+ libz-rs-sys-0.5.3 \
+ linked-hash-map-0.5.6 \
+ linux-raw-sys-0.11.0 \
+ lipsum-0.9.1 \
+ litemap-0.7.5 \
+ litemap-0.8.1 \
+ lock_api-0.4.14 \
+ log-0.4.29 \
+ memchr-2.7.6 \
+ memmap2-0.9.9 \
+ memoffset-0.9.1 \
+ miniz_oxide-0.8.9 \
+ moxcms-0.7.10 \
+ mutate_once-0.1.2 \
+ native-tls-0.2.14 \
+ num-bigint-0.4.6 \
+ num-conv-0.1.0 \
+ num-integer-0.1.46 \
+ num-traits-0.2.19 \
+ object-0.32.2 \
+ once_cell-1.21.3 \
+ openssl-0.10.75 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-src-300.5.4+3.5.4 \
+ openssl-sys-0.9.111 \
+ option-ext-0.2.0 \
+ palette-0.7.6 \
+ palette_derive-0.7.6 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ paste-1.0.15 \
+ pathdiff-0.2.3 \
+ pdf-writer-0.14.0 \
+ percent-encoding-2.3.2 \
+ phf-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ pico-args-0.5.0 \
+ pixglyph-0.6.0 \
+ pkg-config-0.3.32 \
+ plist-1.8.0 \
+ png-0.17.16 \
+ png-0.18.0 \
+ portable-atomic-1.11.1 \
+ postcard-1.1.3 \
+ potential_utf-0.1.4 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ proc-macro-hack-0.5.20+deprecated \
+ proc-macro2-1.0.103 \
+ psm-0.1.28 \
+ pxfm-0.1.26 \
+ pyo3-0.27.2 \
+ pyo3-build-config-0.27.2 \
+ pyo3-ffi-0.27.2 \
+ pyo3-macros-0.27.2 \
+ pyo3-macros-backend-0.27.2 \
+ python3-dll-a-0.2.14 \
+ qcms-0.3.0 \
+ quick-error-2.0.1 \
+ quick-xml-0.38.4 \
+ quote-1.0.42 \
+ r-efi-5.3.0 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ read-fonts-0.35.0 \
+ redox_syscall-0.5.18 \
+ redox_users-0.5.2 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-syntax-0.8.8 \
+ resvg-0.45.1 \
+ rgb-0.8.52 \
+ roman-numerals-rs-3.1.0 \
+ roxmltree-0.20.0 \
+ rust_decimal-1.39.0 \
+ rustc-hash-2.1.1 \
+ rustix-1.1.2 \
+ rustversion-1.0.22 \
+ rustybuzz-0.20.1 \
+ ryu-1.0.20 \
+ same-file-1.0.6 \
+ schannel-0.1.28 \
+ scopeguard-1.2.0 \
+ security-framework-2.11.1 \
+ security-framework-sys-2.15.0 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_json-1.0.145 \
+ serde_spanned-0.6.9 \
+ serde_yaml-0.9.34+deprecated \
+ shlex-1.3.0 \
+ simd-adler32-0.3.7 \
+ simplecss-0.2.2 \
+ siphasher-1.0.1 \
+ skrifa-0.37.0 \
+ slab-0.4.11 \
+ slotmap-1.0.7 \
+ smallvec-1.15.1 \
+ spin-0.9.8 \
+ stable_deref_trait-1.2.1 \
+ stacker-0.1.22 \
+ strict-num-0.1.1 \
+ strum-0.27.2 \
+ strum_macros-0.27.2 \
+ subsetter-0.2.3 \
+ svgtypes-0.15.3 \
+ syn-2.0.111 \
+ synstructure-0.13.2 \
+ syntect-5.3.0 \
+ tar-0.4.44 \
+ target-lexicon-0.13.3 \
+ tempfile-3.23.0 \
+ termcolor-1.4.1 \
+ thin-vec-0.2.14 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
+ time-0.3.44 \
+ time-core-0.1.6 \
+ time-macros-0.2.24 \
+ tiny-skia-0.11.4 \
+ tiny-skia-path-0.11.4 \
+ tinystr-0.7.6 \
+ tinystr-0.8.2 \
+ tinyvec-1.10.0 \
+ tinyvec_macros-0.1.1 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ toml_write-0.1.2 \
+ ttf-parser-0.25.1 \
+ two-face-0.4.4 \
+ typed-arena-2.0.2 \
+ typst-0.14.1 \
+ typst-assets-0.14.1 \
+ typst-eval-0.14.1 \
+ typst-html-0.14.1 \
+ typst-kit-0.14.1 \
+ typst-layout-0.14.1 \
+ typst-library-0.14.1 \
+ typst-macros-0.14.1 \
+ typst-pdf-0.14.1 \
+ typst-realize-0.14.1 \
+ typst-render-0.14.1 \
+ typst-svg-0.14.1 \
+ typst-syntax-0.14.1 \
+ typst-timing-0.14.1 \
+ typst-utils-0.14.1 \
+ unic-langid-0.9.6 \
+ unic-langid-impl-0.9.6 \
+ unic-langid-macros-0.9.6 \
+ unic-langid-macros-impl-0.9.6 \
+ unicode-bidi-0.3.18 \
+ unicode-bidi-mirroring-0.4.0 \
+ unicode-ccc-0.4.0 \
+ unicode-ident-1.0.22 \
+ unicode-math-class-0.1.0 \
+ unicode-normalization-0.1.25 \
+ unicode-properties-0.1.4 \
+ unicode-script-0.5.8 \
+ unicode-segmentation-1.12.0 \
+ unicode-vo-0.1.0 \
+ unicode-width-0.2.2 \
+ unindent-0.2.4 \
+ unsafe-libyaml-0.2.11 \
+ unscanny-0.1.0 \
+ ureq-2.12.1 \
+ url-2.5.7 \
+ usvg-0.45.1 \
+ utf8_iter-1.0.4 \
+ vcpkg-0.2.15 \
+ version_check-0.9.5 \
+ walkdir-2.5.0 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasip2-1.0.1+wasi-0.2.4 \
+ wasm-bindgen-0.2.106 \
+ wasm-bindgen-macro-0.2.106 \
+ wasm-bindgen-macro-support-0.2.106 \
+ wasm-bindgen-shared-0.2.106 \
+ wasmi-0.51.2 \
+ wasmi_collections-0.51.2 \
+ wasmi_core-0.51.2 \
+ wasmi_ir-0.51.2 \
+ wasmparser-0.228.0 \
+ weezl-0.1.12 \
+ winapi-util-0.1.11 \
+ windows-core-0.62.2 \
+ windows-implement-0.60.2 \
+ windows-interface-0.59.3 \
+ windows-link-0.2.1 \
+ windows-result-0.4.1 \
+ windows-strings-0.5.1 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-sys-0.61.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.1 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.1 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.1 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.1 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.1 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.1 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.1 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.1 \
+ winnow-0.7.14 \
+ wit-bindgen-0.46.0 \
+ write-fonts-0.43.0 \
+ writeable-0.5.5 \
+ writeable-0.6.2 \
+ xattr-1.6.1 \
+ xmlparser-0.13.6 \
+ xmlwriter-0.1.0 \
+ xmp-writer-0.3.2 \
+ yaml-rust-0.4.5 \
+ yoke-0.7.5 \
+ yoke-0.8.1 \
+ yoke-derive-0.7.5 \
+ yoke-derive-0.8.1 \
+ zerocopy-0.8.31 \
+ zerocopy-derive-0.8.31 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zerotrie-0.1.3 \
+ zerotrie-0.2.3 \
+ zerovec-0.10.4 \
+ zerovec-0.11.5 \
+ zerovec-derive-0.10.3 \
+ zerovec-derive-0.11.2 \
+ zlib-rs-0.5.3 \
+ zune-core-0.4.12 \
+ zune-core-0.5.0 \
+ zune-jpeg-0.4.21 \
+ zune-jpeg-0.5.5
diff --git a/textproc/py-typst/distinfo b/textproc/py-typst/distinfo
new file mode 100644
index 000000000000..a6f7820fe9de
--- /dev/null
+++ b/textproc/py-typst/distinfo
@@ -0,0 +1,765 @@
+TIMESTAMP = 1766173952
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/ar_archive_writer-0.2.0.crate) = f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a
+SIZE (rust/crates/ar_archive_writer-0.2.0.crate) = 31814
+SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
+SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/az-1.2.1.crate) = 7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973
+SIZE (rust/crates/az-1.2.1.crate) = 27842
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/biblatex-0.11.0.crate) = 53d0c374feba1b9a59042a7c1cf00ce7c34b977b9134fe7c42b08e5183729f66
+SIZE (rust/crates/biblatex-0.11.0.crate) = 98441
+SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
+SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3
+SIZE (rust/crates/bit-set-0.8.0.crate) = 16289
+SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7
+SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43
+SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
+SHA256 (rust/crates/by_address-1.2.1.crate) = 64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06
+SIZE (rust/crates/by_address-1.2.1.crate) = 8437
+SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
+SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
+SHA256 (rust/crates/bytemuck_derive-1.10.2.crate) = f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff
+SIZE (rust/crates/bytemuck_derive-1.10.2.crate) = 25678
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/cc-1.2.48.crate) = c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a
+SIZE (rust/crates/cc-1.2.48.crate) = 92458
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/chinese-number-0.7.7.crate) = 49fccaef6346f6d6a741908d3b79fe97c2debe2fbb5eb3a7d00ff5981b52bb6c
+SIZE (rust/crates/chinese-number-0.7.7.crate) = 17318
+SHA256 (rust/crates/chinese-variant-1.1.3.crate) = 7588475145507237ded760e52bf2f1085495245502033756d28ea72ade0e498b
+SIZE (rust/crates/chinese-variant-1.1.3.crate) = 2179
+SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
+SIZE (rust/crates/chrono-0.4.42.crate) = 238174
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/citationberg-0.6.1.crate) = 1f6597e8bdbca37f1f56e5a80d15857b0932aead21a78d20de49e99e74933046
+SIZE (rust/crates/citationberg-0.6.1.crate) = 66778
+SHA256 (rust/crates/cobs-0.3.0.crate) = 0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1
+SIZE (rust/crates/cobs-0.3.0.crate) = 15639
+SHA256 (rust/crates/codespan-reporting-0.13.1.crate) = af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681
+SIZE (rust/crates/codespan-reporting-0.13.1.crate) = 57424
+SHA256 (rust/crates/codex-0.2.0.crate) = 9589e1effc5cacbea347899645c654158b03b2053d24bb426fd3128ced6e423c
+SIZE (rust/crates/codex-0.2.0.crate) = 43026
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/comemo-0.5.0.crate) = 649d7b2d867b569729c03c0f6968db10bc95921182a1f2b2012b1b549492f39d
+SIZE (rust/crates/comemo-0.5.0.crate) = 28954
+SHA256 (rust/crates/comemo-macros-0.5.0.crate) = 51c87fc7e85487493ddedae1a3a34b897c77ad8825375b79265a8a162c28d535
+SIZE (rust/crates/comemo-macros-0.5.0.crate) = 10000
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.4.crate) = 460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5
+SIZE (rust/crates/crunchy-0.2.4.crate) = 3887
+SHA256 (rust/crates/csv-1.4.0.crate) = 52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938
+SIZE (rust/crates/csv-1.4.0.crate) = 888642
+SHA256 (rust/crates/csv-core-0.1.13.crate) = 704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782
+SIZE (rust/crates/csv-core-0.1.13.crate) = 26119
+SHA256 (rust/crates/data-url-0.3.2.crate) = be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376
+SIZE (rust/crates/data-url-0.3.2.crate) = 23862
+SHA256 (rust/crates/deranged-0.5.5.crate) = ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587
+SIZE (rust/crates/deranged-0.5.5.crate) = 24438
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/ecow-0.2.6.crate) = 78e4f79b296fbaab6ce2e22d52cb4c7f010fe0ebe7a32e34fa25885fd797bd02
+SIZE (rust/crates/ecow-0.2.6.crate) = 29987
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced
+SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901
+SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/enum-ordinalize-4.3.2.crate) = 4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0
+SIZE (rust/crates/enum-ordinalize-4.3.2.crate) = 4465
+SHA256 (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631
+SIZE (rust/crates/enum-ordinalize-derive-4.3.2.crate) = 8434
+SHA256 (rust/crates/env_proxy-0.4.1.crate) = 3a5019be18538406a43b5419a5501461f0c8b49ea7dfda0cfc32f4e51fc44be1
+SIZE (rust/crates/env_proxy-0.4.1.crate) = 11256
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/euclid-0.22.11.crate) = ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48
+SIZE (rust/crates/euclid-0.22.11.crate) = 79261
+SHA256 (rust/crates/fancy-regex-0.16.2.crate) = 998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f
+SIZE (rust/crates/fancy-regex-0.16.2.crate) = 100662
+SHA256 (rust/crates/fast-srgb8-1.0.0.crate) = dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1
+SIZE (rust/crates/fast-srgb8-1.0.0.crate) = 17214
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed
+SIZE (rust/crates/filetime-0.2.26.crate) = 17273
+SHA256 (rust/crates/find-msvc-tools-0.1.5.crate) = 3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844
+SIZE (rust/crates/find-msvc-tools-0.1.5.crate) = 30942
+SHA256 (rust/crates/flate2-1.1.5.crate) = bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb
+SIZE (rust/crates/flate2-1.1.5.crate) = 77015
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8
+SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/font-types-0.10.1.crate) = 39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5
+SIZE (rust/crates/font-types-0.10.1.crate) = 24859
+SHA256 (rust/crates/fontconfig-parser-0.5.8.crate) = bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646
+SIZE (rust/crates/fontconfig-parser-0.5.8.crate) = 40928
+SHA256 (rust/crates/fontdb-0.23.0.crate) = 457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905
+SIZE (rust/crates/fontdb-0.23.0.crate) = 108324
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
+SHA256 (rust/crates/gif-0.13.3.crate) = 4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b
+SIZE (rust/crates/gif-0.13.3.crate) = 36010
+SHA256 (rust/crates/gif-0.14.1.crate) = f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e
+SIZE (rust/crates/gif-0.14.1.crate) = 38581
+SHA256 (rust/crates/glidesort-0.1.2.crate) = f2e102e6eb644d3e0b186fc161e4460417880a0a0b87d235f2e5b8fb30f2e9e0
+SIZE (rust/crates/glidesort-0.1.2.crate) = 33672
+SHA256 (rust/crates/half-2.7.1.crate) = 6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b
+SIZE (rust/crates/half-2.7.1.crate) = 61040
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/hayagriva-0.9.1.crate) = 1cb69425736f184173b3ca6e27fcba440a61492a790c786b1c6af7e06a03e575
+SIZE (rust/crates/hayagriva-0.9.1.crate) = 460242
+SHA256 (rust/crates/hayro-0.4.0.crate) = 048488ba88552bb0fb2a7e4001c64d5bed65d1a92167186a1bb9151571f32e60
+SIZE (rust/crates/hayro-0.4.0.crate) = 36512
+SHA256 (rust/crates/hayro-font-0.3.0.crate) = 10e7e97ce840a6a70e7901e240ec65ba61106b66b37a4a1b899a2ce484248463
+SIZE (rust/crates/hayro-font-0.3.0.crate) = 38468
+SHA256 (rust/crates/hayro-interpret-0.4.0.crate) = 56204c972d08e844f3db13b1e14be769f846e576699b46d4f4637cc4f8f70102
+SIZE (rust/crates/hayro-interpret-0.4.0.crate) = 365232
+SHA256 (rust/crates/hayro-svg-0.2.0.crate) = e8c673304cec6e0dfd3b4f71fccecd45646899aa70279b62d3f933842abc4ac5
+SIZE (rust/crates/hayro-svg-0.2.0.crate) = 14532
+SHA256 (rust/crates/hayro-syntax-0.4.0.crate) = 3f9e5c7dbc0f11dc42775d1a6cc00f5f5137b90b6288dd7fe5f71d17b14d10be
+SIZE (rust/crates/hayro-syntax-0.4.0.crate) = 116992
+SHA256 (rust/crates/hayro-write-0.3.0.crate) = cc05d8b4bc878b9aee48d980ecb25ed08f1dd9fad6da5ab4d9b7c56ec03a0cf6
+SIZE (rust/crates/hayro-write-0.3.0.crate) = 7835
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hypher-0.1.6.crate) = 74e25026c579b170c59f8d3ddfc523d7dab0abe079f09eb8edaebd2417044f60
+SIZE (rust/crates/hypher-0.1.6.crate) = 852784
+SHA256 (rust/crates/iana-time-zone-0.1.64.crate) = 33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb
+SIZE (rust/crates/iana-time-zone-0.1.64.crate) = 33152
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/icu_collections-1.5.0.crate) = db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526
+SIZE (rust/crates/icu_collections-1.5.0.crate) = 82762
+SHA256 (rust/crates/icu_collections-2.1.1.crate) = 4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43
+SIZE (rust/crates/icu_collections-2.1.1.crate) = 87233
+SHA256 (rust/crates/icu_locale_core-2.1.1.crate) = edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6
+SIZE (rust/crates/icu_locale_core-2.1.1.crate) = 70876
+SHA256 (rust/crates/icu_locid-1.5.0.crate) = 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637
+SIZE (rust/crates/icu_locid-1.5.0.crate) = 55131
+SHA256 (rust/crates/icu_locid_transform-1.5.0.crate) = 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e
+SIZE (rust/crates/icu_locid_transform-1.5.0.crate) = 29094
+SHA256 (rust/crates/icu_locid_transform_data-1.5.1.crate) = 7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d
+SIZE (rust/crates/icu_locid_transform_data-1.5.1.crate) = 42937
+SHA256 (rust/crates/icu_normalizer-2.1.1.crate) = 5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599
+SIZE (rust/crates/icu_normalizer-2.1.1.crate) = 67132
+SHA256 (rust/crates/icu_normalizer_data-2.1.1.crate) = 7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a
+SIZE (rust/crates/icu_normalizer_data-2.1.1.crate) = 68649
+SHA256 (rust/crates/icu_properties-1.5.1.crate) = 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5
+SIZE (rust/crates/icu_properties-1.5.1.crate) = 64479
+SHA256 (rust/crates/icu_properties-2.1.1.crate) = e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99
+SIZE (rust/crates/icu_properties-2.1.1.crate) = 59036
+SHA256 (rust/crates/icu_properties_data-1.5.1.crate) = 85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2
+SIZE (rust/crates/icu_properties_data-1.5.1.crate) = 229231
+SHA256 (rust/crates/icu_properties_data-2.1.1.crate) = 02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899
+SIZE (rust/crates/icu_properties_data-2.1.1.crate) = 162431
+SHA256 (rust/crates/icu_provider-1.5.0.crate) = 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9
+SIZE (rust/crates/icu_provider-1.5.0.crate) = 52722
+SHA256 (rust/crates/icu_provider-2.1.1.crate) = 85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614
+SIZE (rust/crates/icu_provider-2.1.1.crate) = 50907
+SHA256 (rust/crates/icu_provider_adapters-1.5.0.crate) = d6324dfd08348a8e0374a447ebd334044d766b1839bb8d5ccf2482a99a77c0bc
+SIZE (rust/crates/icu_provider_adapters-1.5.0.crate) = 16576
+SHA256 (rust/crates/icu_provider_blob-1.5.0.crate) = c24b98d1365f55d78186c205817631a4acf08d7a45bdf5dc9dcf9c5d54dccf51
+SIZE (rust/crates/icu_provider_blob-1.5.0.crate) = 14296
+SHA256 (rust/crates/icu_provider_macros-1.5.0.crate) = 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6
+SIZE (rust/crates/icu_provider_macros-1.5.0.crate) = 6436
+SHA256 (rust/crates/icu_segmenter-1.5.0.crate) = a717725612346ffc2d7b42c94b820db6908048f39434504cb130e8b46256b0de
+SIZE (rust/crates/icu_segmenter-1.5.0.crate) = 610798
+SHA256 (rust/crates/icu_segmenter_data-1.5.1.crate) = a1e52775179941363cc594e49ce99284d13d6948928d8e72c755f55e98caa1eb
+SIZE (rust/crates/icu_segmenter_data-1.5.1.crate) = 3385006
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/image-0.25.9.crate) = e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a
+SIZE (rust/crates/image-0.25.9.crate) = 294591
+SHA256 (rust/crates/image-webp-0.2.4.crate) = 525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3
+SIZE (rust/crates/image-webp-0.2.4.crate) = 68478
+SHA256 (rust/crates/imagesize-0.13.0.crate) = edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285
+SIZE (rust/crates/imagesize-0.13.0.crate) = 17033
+SHA256 (rust/crates/imagesize-0.14.0.crate) = 09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c
+SIZE (rust/crates/imagesize-0.14.0.crate) = 22706
+SHA256 (rust/crates/indexmap-2.12.1.crate) = 0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2
+SIZE (rust/crates/indexmap-2.12.1.crate) = 100184
+SHA256 (rust/crates/indoc-2.0.7.crate) = 79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706
+SIZE (rust/crates/indoc-2.0.7.crate) = 17184
+SHA256 (rust/crates/infer-0.19.0.crate) = a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7
+SIZE (rust/crates/infer-0.19.0.crate) = 19091
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/js-sys-0.3.83.crate) = 464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8
+SIZE (rust/crates/js-sys-0.3.83.crate) = 56425
+SHA256 (rust/crates/kamadak-exif-0.6.1.crate) = 1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837
+SIZE (rust/crates/kamadak-exif-0.6.1.crate) = 57852
+SHA256 (rust/crates/krilla-0.6.0.crate) = a0ddfec86fec13d068075e14f22a7e217c281f3ed69ddcb427bf3f5d504fd674
+SIZE (rust/crates/krilla-0.6.0.crate) = 176861
+SHA256 (rust/crates/krilla-svg-0.3.0.crate) = f485e1a850201a01dcd8d73e7cf09f2cd4c4cc85c2cd296359094d49336d8ef7
+SIZE (rust/crates/krilla-svg-0.3.0.crate) = 19060
+SHA256 (rust/crates/kurbo-0.11.3.crate) = c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62
+SIZE (rust/crates/kurbo-0.11.3.crate) = 137586
+SHA256 (rust/crates/kurbo-0.12.0.crate) = ce9729cc38c18d86123ab736fd2e7151763ba226ac2490ec092d1dd148825e32
+SIZE (rust/crates/kurbo-0.12.0.crate) = 153541
+SHA256 (rust/crates/libc-0.2.178.crate) = 37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091
+SIZE (rust/crates/libc-0.2.178.crate) = 783720
+SHA256 (rust/crates/libm-0.2.15.crate) = f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de
+SIZE (rust/crates/libm-0.2.15.crate) = 156108
+SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
+SIZE (rust/crates/libredox-0.1.10.crate) = 7332
+SHA256 (rust/crates/libz-rs-sys-0.5.3.crate) = 8b484ba8d4f775eeca644c452a56650e544bf7e617f1d170fe7298122ead5222
+SIZE (rust/crates/libz-rs-sys-0.5.3.crate) = 47421
+SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
+SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
+SHA256 (rust/crates/lipsum-0.9.1.crate) = 636860251af8963cc40f6b4baadee105f02e21b28131d76eba8e40ce84ab8064
+SIZE (rust/crates/lipsum-0.9.1.crate) = 34495
+SHA256 (rust/crates/litemap-0.7.5.crate) = 23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856
+SIZE (rust/crates/litemap-0.7.5.crate) = 29962
+SHA256 (rust/crates/litemap-0.8.1.crate) = 6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77
+SIZE (rust/crates/litemap-0.8.1.crate) = 34172
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/memmap2-0.9.9.crate) = 744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490
+SIZE (rust/crates/memmap2-0.9.9.crate) = 34576
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/moxcms-0.7.10.crate) = 80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608
+SIZE (rust/crates/moxcms-0.7.10.crate) = 176635
+SHA256 (rust/crates/mutate_once-0.1.2.crate) = 13d2233c9842d08cfe13f9eac96e207ca6a2ea10b80259ebe8ad0268be27d2af
+SIZE (rust/crates/mutate_once-0.1.2.crate) = 4508
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/openssl-0.10.75.crate) = 08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328
+SIZE (rust/crates/openssl-0.10.75.crate) = 288136
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
+SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
+SHA256 (rust/crates/openssl-src-300.5.4+3.5.4.crate) = a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72
+SIZE (rust/crates/openssl-src-300.5.4+3.5.4.crate) = 7102203
+SHA256 (rust/crates/openssl-sys-0.9.111.crate) = 82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321
+SIZE (rust/crates/openssl-sys-0.9.111.crate) = 80871
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/palette-0.7.6.crate) = 4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6
+SIZE (rust/crates/palette-0.7.6.crate) = 230913
+SHA256 (rust/crates/palette_derive-0.7.6.crate) = f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30
+SIZE (rust/crates/palette_derive-0.7.6.crate) = 17073
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3
+SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495
+SHA256 (rust/crates/pdf-writer-0.14.0.crate) = 92a79477295a713c2ed425aa82a8b5d20cec3fdee203706cbe6f3854880c1c81
+SIZE (rust/crates/pdf-writer-0.14.0.crate) = 1944789
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+SHA256 (rust/crates/phf-0.13.1.crate) = c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf
+SIZE (rust/crates/phf-0.13.1.crate) = 24786
+SHA256 (rust/crates/phf_generator-0.13.1.crate) = 135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737
+SIZE (rust/crates/phf_generator-0.13.1.crate) = 15952
+SHA256 (rust/crates/phf_macros-0.13.1.crate) = 812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef
+SIZE (rust/crates/phf_macros-0.13.1.crate) = 21732
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315
+SIZE (rust/crates/pico-args-0.5.0.crate) = 11545
+SHA256 (rust/crates/pixglyph-0.6.0.crate) = 3c1106193bc18a4b840eb075ff6664c8a0b0270f0531bb12a7e9c803e53b55c5
+SIZE (rust/crates/pixglyph-0.6.0.crate) = 23135
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
+SHA256 (rust/crates/plist-1.8.0.crate) = 740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07
+SIZE (rust/crates/plist-1.8.0.crate) = 54623
+SHA256 (rust/crates/png-0.17.16.crate) = 82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526
+SIZE (rust/crates/png-0.17.16.crate) = 117975
+SHA256 (rust/crates/png-0.18.0.crate) = 97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0
+SIZE (rust/crates/png-0.18.0.crate) = 118041
+SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
+SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
+SHA256 (rust/crates/postcard-1.1.3.crate) = 6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24
+SIZE (rust/crates/postcard-1.1.3.crate) = 43968
+SHA256 (rust/crates/potential_utf-0.1.4.crate) = b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77
+SIZE (rust/crates/potential_utf-0.1.4.crate) = 9514
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
+SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068
+SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045
+SHA256 (rust/crates/proc-macro2-1.0.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
+SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
+SHA256 (rust/crates/psm-0.1.28.crate) = d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01
+SIZE (rust/crates/psm-0.1.28.crate) = 24836
+SHA256 (rust/crates/pxfm-0.1.26.crate) = b3502d6155304a4173a5f2c34b52b7ed0dd085890326cb50fd625fdf39e86b3b
+SIZE (rust/crates/pxfm-0.1.26.crate) = 862711
+SHA256 (rust/crates/pyo3-0.27.2.crate) = ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d
+SIZE (rust/crates/pyo3-0.27.2.crate) = 1171342
+SHA256 (rust/crates/pyo3-build-config-0.27.2.crate) = b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6
+SIZE (rust/crates/pyo3-build-config-0.27.2.crate) = 35564
+SHA256 (rust/crates/pyo3-ffi-0.27.2.crate) = 1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089
+SIZE (rust/crates/pyo3-ffi-0.27.2.crate) = 78552
+SHA256 (rust/crates/pyo3-macros-0.27.2.crate) = 0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02
+SIZE (rust/crates/pyo3-macros-0.27.2.crate) = 8913
+SHA256 (rust/crates/pyo3-macros-backend-0.27.2.crate) = 03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9
+SIZE (rust/crates/pyo3-macros-backend-0.27.2.crate) = 82513
+SHA256 (rust/crates/python3-dll-a-0.2.14.crate) = d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8
+SIZE (rust/crates/python3-dll-a-0.2.14.crate) = 103489
+SHA256 (rust/crates/qcms-0.3.0.crate) = edecfcd5d755a5e5d98e24cf43113e7cdaec5a070edd0f6b250c03a573da30fa
+SIZE (rust/crates/qcms-0.3.0.crate) = 53550
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quick-xml-0.38.4.crate) = b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c
+SIZE (rust/crates/quick-xml-0.38.4.crate) = 205035
+SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
+SIZE (rust/crates/quote-1.0.42.crate) = 31504
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/read-fonts-0.35.0.crate) = 6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358
+SIZE (rust/crates/read-fonts-0.35.0.crate) = 416793
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/redox_users-0.5.2.crate) = a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac
+SIZE (rust/crates/redox_users-0.5.2.crate) = 17280
+SHA256 (rust/crates/regex-1.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-syntax-0.8.8.crate) = 7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58
+SIZE (rust/crates/regex-syntax-0.8.8.crate) = 359141
+SHA256 (rust/crates/resvg-0.45.1.crate) = a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43
+SIZE (rust/crates/resvg-0.45.1.crate) = 78002
+SHA256 (rust/crates/rgb-0.8.52.crate) = 0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce
+SIZE (rust/crates/rgb-0.8.52.crate) = 22449
+SHA256 (rust/crates/roman-numerals-rs-3.1.0.crate) = c85cd47a33a4510b1424fe796498e174c6a9cf94e606460ef022a19f3e4ff85e
+SIZE (rust/crates/roman-numerals-rs-3.1.0.crate) = 5308
+SHA256 (rust/crates/roxmltree-0.20.0.crate) = 6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97
+SIZE (rust/crates/roxmltree-0.20.0.crate) = 54594
+SHA256 (rust/crates/rust_decimal-1.39.0.crate) = 35affe401787a9bd846712274d97654355d21b2a2c092a3139aabe31e9022282
+SIZE (rust/crates/rust_decimal-1.39.0.crate) = 154142
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+SHA256 (rust/crates/rustybuzz-0.20.1.crate) = fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702
+SIZE (rust/crates/rustybuzz-0.20.1.crate) = 272721
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/schannel-0.1.28.crate) = 891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1
+SIZE (rust/crates/schannel-0.1.28.crate) = 42312
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/security-framework-2.11.1.crate) = 897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02
+SIZE (rust/crates/security-framework-2.11.1.crate) = 80188
+SHA256 (rust/crates/security-framework-sys-2.15.0.crate) = cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0
+SIZE (rust/crates/security-framework-sys-2.15.0.crate) = 20718
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_spanned-0.6.9.crate) = bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3
+SIZE (rust/crates/serde_spanned-0.6.9.crate) = 10210
+SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47
+SIZE (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 65290
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simplecss-0.2.2.crate) = 7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c
+SIZE (rust/crates/simplecss-0.2.2.crate) = 22136
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/skrifa-0.37.0.crate) = 8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841
+SIZE (rust/crates/skrifa-0.37.0.crate) = 283031
+SHA256 (rust/crates/slab-0.4.11.crate) = 7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589
+SIZE (rust/crates/slab-0.4.11.crate) = 18549
+SHA256 (rust/crates/slotmap-1.0.7.crate) = dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a
+SIZE (rust/crates/slotmap-1.0.7.crate) = 61390
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/stacker-0.1.22.crate) = e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59
+SIZE (rust/crates/stacker-0.1.22.crate) = 17269
+SHA256 (rust/crates/strict-num-0.1.1.crate) = 6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731
+SIZE (rust/crates/strict-num-0.1.1.crate) = 5104
+SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
+SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
+SHA256 (rust/crates/subsetter-0.2.3.crate) = cb6895a12ac5599bb6057362f00e8a3cf1daab4df33f553a55690a44e4fed8d0
+SIZE (rust/crates/subsetter-0.2.3.crate) = 47016
+SHA256 (rust/crates/svgtypes-0.15.3.crate) = 68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc
+SIZE (rust/crates/svgtypes-0.15.3.crate) = 43696
+SHA256 (rust/crates/syn-2.0.111.crate) = 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
+SIZE (rust/crates/syn-2.0.111.crate) = 302117
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/syntect-5.3.0.crate) = 656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925
+SIZE (rust/crates/syntect-5.3.0.crate) = 833348
+SHA256 (rust/crates/tar-0.4.44.crate) = 1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a
+SIZE (rust/crates/tar-0.4.44.crate) = 61020
+SHA256 (rust/crates/target-lexicon-0.13.3.crate) = df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c
+SIZE (rust/crates/target-lexicon-0.13.3.crate) = 28498
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/thin-vec-0.2.14.crate) = 144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d
+SIZE (rust/crates/thin-vec-0.2.14.crate) = 35087
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
+SHA256 (rust/crates/time-0.3.44.crate) = 91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d
+SIZE (rust/crates/time-0.3.44.crate) = 143200
+SHA256 (rust/crates/time-core-0.1.6.crate) = 40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b
+SIZE (rust/crates/time-core-0.1.6.crate) = 9105
+SHA256 (rust/crates/time-macros-0.2.24.crate) = 30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3
+SIZE (rust/crates/time-macros-0.2.24.crate) = 24715
+SHA256 (rust/crates/tiny-skia-0.11.4.crate) = 83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab
+SIZE (rust/crates/tiny-skia-0.11.4.crate) = 201082
+SHA256 (rust/crates/tiny-skia-path-0.11.4.crate) = 9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93
+SIZE (rust/crates/tiny-skia-path-0.11.4.crate) = 47764
+SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
+SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/tinystr-0.8.2.crate) = 42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869
+SIZE (rust/crates/tinystr-0.8.2.crate) = 23942
+SHA256 (rust/crates/tinyvec-1.10.0.crate) = bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa
+SIZE (rust/crates/tinyvec-1.10.0.crate) = 51996
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
+SIZE (rust/crates/toml-0.8.23.crate) = 36050
+SHA256 (rust/crates/toml_datetime-0.6.11.crate) = 22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c
+SIZE (rust/crates/toml_datetime-0.6.11.crate) = 16125
+SHA256 (rust/crates/toml_edit-0.22.27.crate) = 41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a
+SIZE (rust/crates/toml_edit-0.22.27.crate) = 78602
+SHA256 (rust/crates/toml_write-0.1.2.crate) = 5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801
+SIZE (rust/crates/toml_write-0.1.2.crate) = 15660
+SHA256 (rust/crates/ttf-parser-0.25.1.crate) = d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31
+SIZE (rust/crates/ttf-parser-0.25.1.crate) = 201121
+SHA256 (rust/crates/two-face-0.4.4.crate) = 3d112cfd41c1387546416bcf49c4ae2a1fcacda0d42c9e97120e9798c90c0923
+SIZE (rust/crates/two-face-0.4.4.crate) = 3454955
+SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a
+SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848
+SHA256 (rust/crates/typst-0.14.1.crate) = e6be5a48cf976b492e1c8a538f02ced94fc3b71eae85984eb24f22f3eb9d01e8
+SIZE (rust/crates/typst-0.14.1.crate) = 27567
+SHA256 (rust/crates/typst-assets-0.14.1.crate) = 98b250f6c1ddd0f435db2283c7eb36a9b72bee34d6397625bf7f817c64ad7c62
+SIZE (rust/crates/typst-assets-0.14.1.crate) = 6376952
+SHA256 (rust/crates/typst-eval-0.14.1.crate) = a9b70724d6eb428b7a07bc15ea1a148c950a37eda34d8f26930812e9f5abfa3c
+SIZE (rust/crates/typst-eval-0.14.1.crate) = 43170
+SHA256 (rust/crates/typst-html-0.14.1.crate) = 4985608c896e00fc4219403040662ca771a58be79cc3d2c105b61f33715f6be2
+SIZE (rust/crates/typst-html-0.14.1.crate) = 59485
+SHA256 (rust/crates/typst-kit-0.14.1.crate) = 2beb0686fd072c53b1fd7c37fa2d6639df6fdaa75f86765d39bbee6c78d8eece
+SIZE (rust/crates/typst-kit-0.14.1.crate) = 33286
+SHA256 (rust/crates/typst-layout-0.14.1.crate) = 02c528f8279f9557f28a37af07d26ed7cd293884a9ffa79f5d604bf4cded1a1f
+SIZE (rust/crates/typst-layout-0.14.1.crate) = 209308
+SHA256 (rust/crates/typst-library-0.14.1.crate) = 839303e0c6e49bc893fafc51ed761eab44b97aa38dce913242fafbd553b2557c
+SIZE (rust/crates/typst-library-0.14.1.crate) = 516051
+SHA256 (rust/crates/typst-macros-0.14.1.crate) = 405ca56a99f8dd89df041ca53f42c4f0fb9ff287e52b255f44e5a9100bbc3605
+SIZE (rust/crates/typst-macros-0.14.1.crate) = 25331
+SHA256 (rust/crates/typst-pdf-0.14.1.crate) = 60dfaf70750b95d0389a8448bb8105600dcf6ba24443e28557627b7b51c47db0
+SIZE (rust/crates/typst-pdf-0.14.1.crate) = 83058
+SHA256 (rust/crates/typst-realize-0.14.1.crate) = c31c5d5374f04f06a430355e6fc40b6539d641bad6d0da386c5492065e210c5b
+SIZE (rust/crates/typst-realize-0.14.1.crate) = 35893
+SHA256 (rust/crates/typst-render-0.14.1.crate) = 7315528cda4882c33baa39f6ea1abf993b5a36f883b98b46e5dc05c4e9ade9fa
+SIZE (rust/crates/typst-render-0.14.1.crate) = 32960
+SHA256 (rust/crates/typst-svg-0.14.1.crate) = 045a396e4543906fae4868c0c621a2a6322aa56d4023d207cdab30517e39787a
+SIZE (rust/crates/typst-svg-0.14.1.crate) = 37609
+SHA256 (rust/crates/typst-syntax-0.14.1.crate) = 19e223636668a2930e0a46b18e3786d4ae02f69ac5d9dda58e34ca431403d05c
+SIZE (rust/crates/typst-syntax-0.14.1.crate) = 77819
+SHA256 (rust/crates/typst-timing-0.14.1.crate) = 3347a043b8659b104f198abe825a6c419d0675da276489c310a5620aea799816
+SIZE (rust/crates/typst-timing-0.14.1.crate) = 11867
+SHA256 (rust/crates/typst-utils-0.14.1.crate) = 737d445f5c0cb75b382a6841953a9e22daadad2c264402b41ebf5388356369fd
+SIZE (rust/crates/typst-utils-0.14.1.crate) = 23764
+SHA256 (rust/crates/unic-langid-0.9.6.crate) = a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05
+SIZE (rust/crates/unic-langid-0.9.6.crate) = 9031
+SHA256 (rust/crates/unic-langid-impl-0.9.6.crate) = dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658
+SIZE (rust/crates/unic-langid-impl-0.9.6.crate) = 90020
+SHA256 (rust/crates/unic-langid-macros-0.9.6.crate) = d5957eb82e346d7add14182a3315a7e298f04e1ba4baac36f7f0dbfedba5fc25
+SIZE (rust/crates/unic-langid-macros-0.9.6.crate) = 6517
+SHA256 (rust/crates/unic-langid-macros-impl-0.9.6.crate) = a1249a628de3ad34b821ecb1001355bca3940bcb2f88558f1a8bd82e977f75b5
+SIZE (rust/crates/unic-langid-macros-impl-0.9.6.crate) = 7073
+SHA256 (rust/crates/unicode-bidi-0.3.18.crate) = 5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5
+SIZE (rust/crates/unicode-bidi-0.3.18.crate) = 58300
+SHA256 (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe
+SIZE (rust/crates/unicode-bidi-mirroring-0.4.0.crate) = 8169
+SHA256 (rust/crates/unicode-ccc-0.4.0.crate) = ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e
+SIZE (rust/crates/unicode-ccc-0.4.0.crate) = 8942
+SHA256 (rust/crates/unicode-ident-1.0.22.crate) = 9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5
+SIZE (rust/crates/unicode-ident-1.0.22.crate) = 47919
+SHA256 (rust/crates/unicode-math-class-0.1.0.crate) = 7d246cf599d5fae3c8d56e04b20eb519adb89a8af8d0b0fbcded369aa3647d65
+SIZE (rust/crates/unicode-math-class-0.1.0.crate) = 15441
+SHA256 (rust/crates/unicode-normalization-0.1.25.crate) = 5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8
+SIZE (rust/crates/unicode-normalization-0.1.25.crate) = 128462
+SHA256 (rust/crates/unicode-properties-0.1.4.crate) = 7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d
+SIZE (rust/crates/unicode-properties-0.1.4.crate) = 42752
+SHA256 (rust/crates/unicode-script-0.5.8.crate) = 383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee
+SIZE (rust/crates/unicode-script-0.5.8.crate) = 48253
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94
+SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3
+SIZE (rust/crates/unindent-0.2.4.crate) = 7422
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/unscanny-0.1.0.crate) = e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47
+SIZE (rust/crates/unscanny-0.1.0.crate) = 10338
+SHA256 (rust/crates/ureq-2.12.1.crate) = 02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d
+SIZE (rust/crates/ureq-2.12.1.crate) = 115366
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
+SHA256 (rust/crates/usvg-0.45.1.crate) = 80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef
+SIZE (rust/crates/usvg-0.45.1.crate) = 136945
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
+SHA256 (rust/crates/wasm-bindgen-0.2.106.crate) = 0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd
+SIZE (rust/crates/wasm-bindgen-0.2.106.crate) = 48417
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3
+SIZE (rust/crates/wasm-bindgen-macro-0.2.106.crate) = 9266
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.106.crate) = 49711
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.106.crate) = cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4
+SIZE (rust/crates/wasm-bindgen-shared-0.2.106.crate) = 10115
+SHA256 (rust/crates/wasmi-0.51.2.crate) = 118030b2d125bc893e0cc5b1ce156eb41461f4373308cb5f2e3c698533b5e547
+SIZE (rust/crates/wasmi-0.51.2.crate) = 244288
+SHA256 (rust/crates/wasmi_collections-0.51.2.crate) = 653fa20efc966818934524dceb54b1b81e6f845bbcc2e155d6e9fc32becf667e
+SIZE (rust/crates/wasmi_collections-0.51.2.crate) = 19338
+SHA256 (rust/crates/wasmi_core-0.51.2.crate) = 65701f60308c7e46cca85f273ad17e80c60998cc63d3fa168ac393f62b123038
+SIZE (rust/crates/wasmi_core-0.51.2.crate) = 50291
+SHA256 (rust/crates/wasmi_ir-0.51.2.crate) = a6539f63bf2a6838f27876e2877f0b00a088e84f91e92445620cc6b977fde032
+SIZE (rust/crates/wasmi_ir-0.51.2.crate) = 34476
+SHA256 (rust/crates/wasmparser-0.228.0.crate) = 4abf1132c1fdf747d56bbc1bb52152400c70f336870f968b85e89ea422198ae3
+SIZE (rust/crates/wasmparser-0.228.0.crate) = 249009
+SHA256 (rust/crates/weezl-0.1.12.crate) = a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88
+SIZE (rust/crates/weezl-0.1.12.crate) = 46045
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-core-0.62.2.crate) = b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb
+SIZE (rust/crates/windows-core-0.62.2.crate) = 36932
+SHA256 (rust/crates/windows-implement-0.60.2.crate) = 053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf
+SIZE (rust/crates/windows-implement-0.60.2.crate) = 15325
+SHA256 (rust/crates/windows-interface-0.59.3.crate) = 3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358
+SIZE (rust/crates/windows-interface-0.59.3.crate) = 11809
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-result-0.4.1.crate) = 7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5
+SIZE (rust/crates/windows-result-0.4.1.crate) = 13381
+SHA256 (rust/crates/windows-strings-0.5.1.crate) = 7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091
+SIZE (rust/crates/windows-strings-0.5.1.crate) = 13966
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.5.crate) = 4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3
+SIZE (rust/crates/windows-targets-0.53.5.crate) = 7126
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.1.crate) = 787748
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.1.crate) = b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006
+SIZE (rust/crates/windows_aarch64_msvc-0.53.1.crate) = 838009
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnu-0.53.1.crate) = 960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3
+SIZE (rust/crates/windows_i686_gnu-0.53.1.crate) = 939775
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.1.crate) = fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c
+SIZE (rust/crates/windows_i686_gnullvm-0.53.1.crate) = 857396
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_i686_msvc-0.53.1.crate) = 1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2
+SIZE (rust/crates/windows_i686_msvc-0.53.1.crate) = 907688
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499
+SIZE (rust/crates/windows_x86_64_gnu-0.53.1.crate) = 903712
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.1.crate) = 787739
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650
+SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
+SHA256 (rust/crates/winnow-0.7.14.crate) = 5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829
+SIZE (rust/crates/winnow-0.7.14.crate) = 184718
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
+SHA256 (rust/crates/write-fonts-0.43.0.crate) = 886614b5ce857341226aa091f3c285e450683894acaaa7887f366c361efef79d
+SIZE (rust/crates/write-fonts-0.43.0.crate) = 254330
+SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
+SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/writeable-0.6.2.crate) = 9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9
+SIZE (rust/crates/writeable-0.6.2.crate) = 25181
+SHA256 (rust/crates/xattr-1.6.1.crate) = 32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156
+SIZE (rust/crates/xattr-1.6.1.crate) = 15952
+SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4
+SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718
+SHA256 (rust/crates/xmlwriter-0.1.0.crate) = ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9
+SIZE (rust/crates/xmlwriter-0.1.0.crate) = 6261
+SHA256 (rust/crates/xmp-writer-0.3.2.crate) = ce9e2f4a404d9ebffc0a9832cf4f50907220ba3d7fffa9099261a5cab52f2dd7
+SIZE (rust/crates/xmp-writer-0.3.2.crate) = 21529
+SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85
+SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783
+SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
+SIZE (rust/crates/yoke-0.7.5.crate) = 29673
+SHA256 (rust/crates/yoke-0.8.1.crate) = 72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954
+SIZE (rust/crates/yoke-0.8.1.crate) = 32016
+SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
+SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
+SHA256 (rust/crates/yoke-derive-0.8.1.crate) = b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d
+SIZE (rust/crates/yoke-derive-0.8.1.crate) = 7593
+SHA256 (rust/crates/zerocopy-0.8.31.crate) = fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3
+SIZE (rust/crates/zerocopy-0.8.31.crate) = 257633
+SHA256 (rust/crates/zerocopy-derive-0.8.31.crate) = d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a
+SIZE (rust/crates/zerocopy-derive-0.8.31.crate) = 90835
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
+SHA256 (rust/crates/zerotrie-0.1.3.crate) = fb594dd55d87335c5f60177cee24f19457a5ec10a065e0a3014722ad252d0a1f
+SIZE (rust/crates/zerotrie-0.1.3.crate) = 74008
+SHA256 (rust/crates/zerotrie-0.2.3.crate) = 2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851
+SIZE (rust/crates/zerotrie-0.2.3.crate) = 69547
+SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
+SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
+SHA256 (rust/crates/zerovec-0.11.5.crate) = 6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002
+SIZE (rust/crates/zerovec-0.11.5.crate) = 119620
+SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
+SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
+SHA256 (rust/crates/zerovec-derive-0.11.2.crate) = eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3
+SIZE (rust/crates/zerovec-derive-0.11.2.crate) = 21421
+SHA256 (rust/crates/zlib-rs-0.5.3.crate) = 36134c44663532e6519d7a6dfdbbe06f6f8192bde8ae9ed076e9b213f0e31df7
+SIZE (rust/crates/zlib-rs-0.5.3.crate) = 206418
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-core-0.5.0.crate) = 111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773
+SIZE (rust/crates/zune-core-0.5.0.crate) = 27393
+SHA256 (rust/crates/zune-jpeg-0.4.21.crate) = 29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713
+SIZE (rust/crates/zune-jpeg-0.4.21.crate) = 68268
+SHA256 (rust/crates/zune-jpeg-0.5.5.crate) = dc6fb7703e32e9a07fb3f757360338b3a567a5054f21b5f52a666752e333d58e
+SIZE (rust/crates/zune-jpeg-0.5.5.crate) = 77168
+SHA256 (messense-typst-py-v0.14.4_GH0.tar.gz) = a3983d668d56483d473a10b8395695bea28f06444ac15f3eaae988488eef85d4
+SIZE (messense-typst-py-v0.14.4_GH0.tar.gz) = 55686
diff --git a/textproc/py-typst/files/patch-Cargo.lock b/textproc/py-typst/files/patch-Cargo.lock
new file mode 100644
index 000000000000..737c34cce5e4
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.lock
@@ -0,0 +1,26 @@
+--- Cargo.lock.orig 2025-12-19 20:10:04 UTC
++++ Cargo.lock
+@@ -1505,15 +1505,6 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00
+ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
+
+ [[package]]
+-name = "openssl-src"
+-version = "300.5.4+3.5.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a507b3792995dae9b0df8a1c1e3771e8418b7c2d9f0baeba32e6fe8b06c7cb72"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+ name = "openssl-sys"
+ version = "0.9.111"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1521,7 +1512,6 @@ dependencies = [
+ dependencies = [
+ "cc",
+ "libc",
+- "openssl-src",
+ "pkg-config",
+ "vcpkg",
+ ]
diff --git a/textproc/py-typst/files/patch-Cargo.toml b/textproc/py-typst/files/patch-Cargo.toml
new file mode 100644
index 000000000000..96edc6b3f87d
--- /dev/null
+++ b/textproc/py-typst/files/patch-Cargo.toml
@@ -0,0 +1,12 @@
+--- Cargo.toml.orig 2025-12-19 20:11:31 UTC
++++ Cargo.toml
+@@ -27,8 +27,7 @@ typst-kit = { version = "0.14.1", features = [
+ typst = "0.14.1"
+ typst-kit = { version = "0.14.1", features = [
+ "downloads",
+- "embed-fonts",
+- "vendor-openssl",
++ "embed-fonts"
+ ] }
+ typst-pdf = "0.14.1"
+ typst-svg = "0.14.1"
diff --git a/textproc/py-typst/pkg-descr b/textproc/py-typst/pkg-descr
new file mode 100644
index 000000000000..5d3c3642d67c
--- /dev/null
+++ b/textproc/py-typst/pkg-descr
@@ -0,0 +1,2 @@
+Python binding to typst, a new markup-based typesetting system that
+is powerful and easy to learn.
diff --git a/www/gallery-dl/Makefile b/www/gallery-dl/Makefile
index 136b1997104d..d51acefe7c87 100644
--- a/www/gallery-dl/Makefile
+++ b/www/gallery-dl/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gallery-dl
-DISTVERSION= 1.31.0
+DISTVERSION= 1.31.1
CATEGORIES= www
MASTER_SITES= PYPI \
https://github.com/mikf/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/www/gallery-dl/distinfo b/www/gallery-dl/distinfo
index 3f7915ed1078..536199a661d3 100644
--- a/www/gallery-dl/distinfo
+++ b/www/gallery-dl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743510441
-SHA256 (gallery_dl-1.31.0.tar.gz) = 7326b75f1c0b0def9fe19e4abb41f2816551fa85da48bfdd19bf51dacc6e0251
-SIZE (gallery_dl-1.31.0.tar.gz) = 631169
+TIMESTAMP = 1766224201
+SHA256 (gallery_dl-1.31.1.tar.gz) = 5255279a06dcb7e6d0594f80cf693f7f8f07ae94deb8a797358c372a900959d4
+SIZE (gallery_dl-1.31.1.tar.gz) = 633786
diff --git a/www/gohugo/Makefile b/www/gohugo/Makefile
index 4d84b8508b54..ff4a76a2806f 100644
--- a/www/gohugo/Makefile
+++ b/www/gohugo/Makefile
@@ -1,7 +1,6 @@
PORTNAME= hugo
DISTVERSIONPREFIX= v
-DISTVERSION= 0.152.2
-PORTREVISION= 2
+DISTVERSION= 0.153.1
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= go
diff --git a/www/gohugo/distinfo b/www/gohugo/distinfo
index a2485e8ef8c1..17eaf0d053ab 100644
--- a/www/gohugo/distinfo
+++ b/www/gohugo/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761321118
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9fd5c3cb063cae52d4453818b583cedd7c38539a89c826e19603ebd82f28b9a3
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9321
-SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5e540330b50c9936664c346da038023e37c0060f92d973a1f42e43c30d807322
-SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5778064
+TIMESTAMP = 1766246231
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 98394a8bb29b6f7eb3c6c8f2a8a137dcd26dfeb913f40cceb9fb0f731624701c
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.mod) = 9373
+SHA256 (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = c9d231b18033de5d1cae4955c69bf5e50c2a24e8305c51adbd48b8b7f6996a53
+SIZE (go/www_gohugo/hugo-v0.153.1/v0.153.1.zip) = 6850749
diff --git a/www/oauth2-proxy/Makefile b/www/oauth2-proxy/Makefile
index 6048d54429e7..7adba9273e5c 100644
--- a/www/oauth2-proxy/Makefile
+++ b/www/oauth2-proxy/Makefile
@@ -1,114 +1,21 @@
PORTNAME= oauth2-proxy
-PORTVERSION= 7.8.0
+PORTVERSION= 7.13.0
DISTVERSIONPREFIX= v
-PORTREVISION= 2
CATEGORIES= www
-MAINTAINER= freebsd@rheinwolf.de
+MAINTAINER= dtxdf@FreeBSD.org
COMMENT= OAuth 2.0 proxy server
WWW= https://github.com/oauth2-proxy/oauth2-proxy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:modules,1.22
-
+USES= go:modules,1.25+
USE_GITHUB= yes
-GH_TUPLE= \
- Bose:minisentinel:917c5a9223bb:bose_minisentinel/vendor/github.com/Bose/minisentinel \
- a8m:envsubst:v1.4.2:a8m_envsubst/vendor/github.com/a8m/envsubst \
- alicebob:gopher-json:906a9b012302:alicebob_gopher_json/vendor/github.com/alicebob/gopher-json \
- alicebob:miniredis:v2.33.0:alicebob_miniredis_v2/vendor/github.com/alicebob/miniredis/v2 \
- benbjohnson:clock:v1.3.5:benbjohnson_clock/vendor/github.com/benbjohnson/clock \
- beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
- bitly:go-simplejson:v0.5.1:bitly_go_simplejson/vendor/github.com/bitly/go-simplejson \
- bmizerany:assert:b7ed37b82869:bmizerany_assert/vendor/github.com/bmizerany/assert \
- bsm:redislock:v0.9.4:bsm_redislock/vendor/github.com/bsm/redislock \
- census-instrumentation:opencensus-go:v0.24.0:census_instrumentation_opencensus_go/vendor/go.opencensus.io \
- cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
- coreos:go-oidc:v3.11.0:coreos_go_oidc_v3/vendor/github.com/coreos/go-oidc/v3 \
- coreos:go-systemd:d3cd4ed1dbcf:coreos_go_systemd/vendor/github.com/coreos/go-systemd \
- davecgh:go-spew:d8f796af33cc:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
- dgryski:go-rendezvous:9f7001d12a5f:dgryski_go_rendezvous/vendor/github.com/dgryski/go-rendezvous \
- felixge:httpsnoop:v1.0.4:felixge_httpsnoop/vendor/github.com/felixge/httpsnoop \
- fsnotify:fsnotify:v1.8.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
- ghodss:yaml:d8423dcdf344:ghodss_yaml/vendor/github.com/ghodss/yaml \
- go-ini:ini:v1.67.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
- go-jose:go-jose:v3.0.3:go_jose_go_jose_v3/vendor/github.com/go-jose/go-jose/v3 \
- go-jose:go-jose:v4.0.4:go_jose_go_jose_v4/vendor/github.com/go-jose/go-jose/v4 \
- go-logr:logr:v1.4.2:go_logr_logr/vendor/github.com/go-logr/logr \
- go-logr:stdr:v1.2.2:go_logr_stdr/vendor/github.com/go-logr/stdr \
- go-task:slim-sprig:v3.0.0:go_task_slim_sprig_v3/vendor/github.com/go-task/slim-sprig/v3 \
- go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
- go-yaml:yaml:v3.0.1:go_yaml_yaml_1/vendor/gopkg.in/yaml.v3 \
- golang-jwt:jwt:v5.2.1:golang_jwt_jwt_v5/vendor/github.com/golang-jwt/jwt/v5 \
- golang:crypto:v0.31.0:golang_crypto/vendor/golang.org/x/crypto \
- golang:exp:2d47ceb2692f:golang_exp/vendor/golang.org/x/exp \
- golang:groupcache:41bb18bfe9da:golang_groupcache/vendor/github.com/golang/groupcache \
- golang:net:v0.33.0:golang_net/vendor/golang.org/x/net \
- golang:oauth2:v0.24.0:golang_oauth2/vendor/golang.org/x/oauth2 \
- golang:sync:v0.10.0:golang_sync/vendor/golang.org/x/sync \
- golang:sys:v0.28.0:golang_sys/vendor/golang.org/x/sys \
- golang:text:v0.21.0:golang_text/vendor/golang.org/x/text \
- golang:tools:v0.27.0:golang_tools/vendor/golang.org/x/tools \
- google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
- google:go-genproto:324edc3d5d38:google_go_genproto/vendor/google.golang.org/genproto \
- google:pprof:d1b30febd7db:google_pprof/vendor/github.com/google/pprof \
- google:s2a-go:v0.1.8:google_s2a_go/vendor/github.com/google/s2a-go \
- google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \
- googleapis:enterprise-certificate-proxy:v0.3.4:googleapis_enterprise_certificate_proxy/vendor/github.com/googleapis/enterprise-certificate-proxy \
- googleapis:gax-go:v2.13.0:googleapis_gax_go_v2/vendor/github.com/googleapis/gax-go \
- googleapis:google-api-go-client:v0.205.0:googleapis_google_api_go_client/vendor/google.golang.org/api \
- googleapis:google-cloud-go:auth/v0.10.1:googleapis_google_cloud_go_auth/vendor/cloud.google.com/go \
- googleapis:google-cloud-go:auth/oauth2adapt/v0.2.5:googleapis_google_cloud_go/vendor/cloud.google.com/go/auth/oauth2adapt \
- googleapis:google-cloud-go:compute/metadata/v0.5.2:googleapis_google_cloud_go_1/vendor/cloud.google.com/go/compute/metadata \
- gorilla:mux:v1.8.1:gorilla_mux/vendor/github.com/gorilla/mux \
- grpc:grpc-go:v1.67.1:grpc_grpc_go/vendor/google.golang.org/grpc \
- hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
- justinas:alice:v1.2.0:justinas_alice/vendor/github.com/justinas/alice \
- klauspost:compress:v1.17.10:klauspost_compress/vendor/github.com/klauspost/compress \
- kubernetes:apimachinery:v0.31.2:kubernetes_apimachinery/vendor/k8s.io/apimachinery \
- kubernetes:gengo:a0386bf69313:kubernetes_gengo/vendor/k8s.io/gengo \
- kubernetes:klog:v2.130.1:kubernetes_klog/vendor/k8s.io/klog/v2 \
- kylelemons:godebug:v1.1.0:kylelemons_godebug/vendor/github.com/kylelemons/godebug \
- magiconair:properties:v1.8.7:magiconair_properties/vendor/github.com/magiconair/properties \
- mbland:hmacauth:44256dfd4bfa:mbland_hmacauth/vendor/github.com/mbland/hmacauth \
- mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
- munnerz:goautoneg:a7dc8b61c822:munnerz_goautoneg/vendor/github.com/munnerz/goautoneg \
- natefinch:lumberjack:v2.2.1:natefinch_lumberjack/vendor/gopkg.in/natefinch/lumberjack.v2 \
- nxadm:tail:v1.4.11:nxadm_tail/vendor/github.com/nxadm/tail \
- oauth2-proxy:mockoidc:caebfff84d25:oauth2_proxy_mockoidc/vendor/github.com/oauth2-proxy/mockoidc \
- oauth2-proxy:tools:d3b50d1a591a:oauth2_proxy_tools_reference_gen/vendor/github.com/oauth2-proxy/tools \
- onsi:ginkgo:v1.16.5:onsi_ginkgo/vendor/github.com/onsi/ginkgo \
- onsi:ginkgo:v2.21.0:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
- onsi:gomega:v1.35.1:onsi_gomega/vendor/github.com/onsi/gomega \
- open-telemetry:opentelemetry-go-contrib:v1.30.0:open_telemetry_opentelemetry_go_contrib/vendor/go.opentelemetry.io/contrib \
- open-telemetry:opentelemetry-go:v1.30.0:open_telemetry_opentelemetry_go/vendor/go.opentelemetry.io/otel \
- pelletier:go-toml:v2.2.3:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
- pierrec:lz4:v4.1.21:pierrec_lz4_v4/vendor/github.com/pierrec/lz4/v4 \
- pmezard:go-difflib:5d4384ee4fb2:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
- prometheus:client_golang:v1.20.5:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
- prometheus:client_model:v0.6.1:prometheus_client_model/vendor/github.com/prometheus/client_model \
- prometheus:common:v0.59.1:prometheus_common/vendor/github.com/prometheus/common \
- prometheus:procfs:v0.15.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
- protocolbuffers:protobuf-go:v1.35.1:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
- redis:go-redis:v9.7.0:redis_go_redis_v9/vendor/github.com/redis/go-redis/v9 \
- sagikazarmark:locafero:v0.6.0:sagikazarmark_locafero/vendor/github.com/sagikazarmark/locafero \
- sagikazarmark:slog-shim:v0.1.0:sagikazarmark_slog_shim/vendor/github.com/sagikazarmark/slog-shim \
- sourcegraph:conc:v0.3.0:sourcegraph_conc/vendor/github.com/sourcegraph/conc \
- spf13:afero:v1.11.0:spf13_afero/vendor/github.com/spf13/afero \
- spf13:cast:v1.7.0:spf13_cast/vendor/github.com/spf13/cast \
- spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
- spf13:viper:v1.19.0:spf13_viper/vendor/github.com/spf13/viper \
- stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \
- subosito:gotenv:v1.6.0:subosito_gotenv/vendor/github.com/subosito/gotenv \
- uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
- vmihailenco:msgpack:v5.4.1:vmihailenco_msgpack_v5/vendor/github.com/vmihailenco/msgpack/v5 \
- vmihailenco:tagparser:v2.0.0:vmihailenco_tagparser_v2/vendor/github.com/vmihailenco/tagparser/v2 \
- yuin:gopher-lua:v1.1.1:yuin_gopher_lua/vendor/github.com/yuin/gopher-lua
-
USE_RC_SUBR= oauth2_proxy
+GO_MOD_DIST= github
+GO_MODULE= github.com/${PORTNAME}/${PORTNAME}
GO_BUILDFLAGS= -v -ldflags="-s -X github.com/${PORTNAME}/${PORTNAME}/v7/pkg/version.VERSION=${PORTVERSION}"
USER= www
diff --git a/www/oauth2-proxy/distinfo b/www/oauth2-proxy/distinfo
index 4e5360e2888f..d473d517a4c4 100644
--- a/www/oauth2-proxy/distinfo
+++ b/www/oauth2-proxy/distinfo
@@ -1,185 +1,5 @@
-TIMESTAMP = 1736858583
-SHA256 (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 022ab4e949cd541f9709d6cbca7f4fce6fa8123404bc9a2f8f73892a8609d734
-SIZE (oauth2-proxy-oauth2-proxy-v7.8.0_GH0.tar.gz) = 1408013
-SHA256 (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = c765c12a0ed631ae864f74ee606279a0962f3a87c4274cea6e8d922b0ad8a98e
-SIZE (Bose-minisentinel-917c5a9223bb_GH0.tar.gz) = 8352
-SHA256 (a8m-envsubst-v1.4.2_GH0.tar.gz) = 3692eb658657ffdec5725ae2accd96a05ac6097d770a7bdfd622410983962387
-SIZE (a8m-envsubst-v1.4.2_GH0.tar.gz) = 12316
-SHA256 (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 5899fe9fd1e1401062ef8330e63be498cfbfeabe2efb4394610c1062b1a73e1d
-SIZE (alicebob-gopher-json-906a9b012302_GH0.tar.gz) = 3634
-SHA256 (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 0d0f1be7d1708ce2b814f11dc17e192efdd330404a47ae216613f69a89673e76
-SIZE (alicebob-miniredis-v2.33.0_GH0.tar.gz) = 187511
-SHA256 (benbjohnson-clock-v1.3.5_GH0.tar.gz) = d26928c5301d8f7feedebeda0506599fa8c9aeb0b724de619b9d468df441a33c
-SIZE (benbjohnson-clock-v1.3.5_GH0.tar.gz) = 9183
-SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
-SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
-SHA256 (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = ef4c1cc5aa25a5d681b7cc22c6eac7d60efd705a1ac4da60e5d8fd7ab942db48
-SIZE (bitly-go-simplejson-v0.5.1_GH0.tar.gz) = 6177
-SHA256 (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = f7dc11f10c5e52a94c836e15e7aff05ad4afba7436f66e5f4506806627c4635e
-SIZE (bmizerany-assert-b7ed37b82869_GH0.tar.gz) = 1469
-SHA256 (bsm-redislock-v0.9.4_GH0.tar.gz) = b77a6f71c12dc6d3aa3ad17aa634b01542aae352da2e2ae6c24a9b9ba85f3f92
-SIZE (bsm-redislock-v0.9.4_GH0.tar.gz) = 7326
-SHA256 (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 048708914541817193330ce052026deb0c617c9d953ac15ae601ab2bde5788d1
-SIZE (census-instrumentation-opencensus-go-v0.24.0_GH0.tar.gz) = 176752
-SHA256 (cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5
-SIZE (cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696
-SHA256 (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 2d1bdf5f218d60a1b16cdaeff5c6ae85a620227e9bdc57a00217a26e70256455
-SIZE (coreos-go-oidc-v3.11.0_GH0.tar.gz) = 31542
-SHA256 (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 89fc7afa3593ee4d6f91087fa47d02ade4103882f0a33225faec7b922ce5ebc4
-SIZE (coreos-go-systemd-d3cd4ed1dbcf_GH0.tar.gz) = 67792
-SHA256 (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 21505c2cb5cb4e2b8ae3007f3f6db6edb9f1c28511f98975b6b0dedf0e3fa24e
-SIZE (davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 42183
-SHA256 (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 29584550745fd4b8fce2e2f3def7b9d9ffe2b86cf9b6596b53a660c9bbfe27b6
-SIZE (dgryski-go-rendezvous-9f7001d12a5f_GH0.tar.gz) = 1699
-SHA256 (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = ffb63ba081e4c2360342dea2079d08b8560c315b2f458885fd34639786a1aa3d
-SIZE (felixge-httpsnoop-v1.0.4_GH0.tar.gz) = 11954
-SHA256 (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 3c4cbec6225307397717f18bb87ffc496e59d0f802a41fff572bf09e5dbf6e2b
-SIZE (fsnotify-fsnotify-v1.8.0_GH0.tar.gz) = 72325
-SHA256 (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 1595e11cd70d828f1fab36d2d6569df0f852f464d812f903692f9cabc03974fc
-SIZE (ghodss-yaml-d8423dcdf344_GH0.tar.gz) = 14394
-SHA256 (go-ini-ini-v1.67.0_GH0.tar.gz) = 06ba51234140118d1b6064f1817aa89cc971c6e7ce04cb9d286e6660d89296c8
-SIZE (go-ini-ini-v1.67.0_GH0.tar.gz) = 53531
-SHA256 (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 219d024b85ea217ac466c4ced46e2071d6ea52269d399b610723b7c905c0f8a5
-SIZE (go-jose-go-jose-v3.0.3_GH0.tar.gz) = 320882
-SHA256 (go-jose-go-jose-v4.0.4_GH0.tar.gz) = d7bbccbad3d94d0ba54daea2bf590c9262c390863a911eca7d7063dd0336734d
-SIZE (go-jose-go-jose-v4.0.4_GH0.tar.gz) = 319335
-SHA256 (go-logr-logr-v1.4.2_GH0.tar.gz) = d06d6b9c3aa0cc42ba65ebcecd789addd149c859ca33a8878308f89590bf9fbd
-SIZE (go-logr-logr-v1.4.2_GH0.tar.gz) = 57464
-SHA256 (go-logr-stdr-v1.2.2_GH0.tar.gz) = 37d975b280d884ca0d55a800bc6e47314b6e86268e56254f9d15d19ca9404eb8
-SIZE (go-logr-stdr-v1.2.2_GH0.tar.gz) = 9098
-SHA256 (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 673b1acc819c60899e78b00f20da2b8270a0e370c01d3def9cda0a86167881fb
-SIZE (go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 40249
-SHA256 (go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
-SIZE (go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
-SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
-SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
-SHA256 (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 76d1c81a7cd38ed03309f770f60ac3417f16c75b4c53a0c01bb783863783fef0
-SIZE (golang-jwt-jwt-v5.2.1_GH0.tar.gz) = 61340
-SHA256 (golang-crypto-v0.31.0_GH0.tar.gz) = 36e325f89d4cd03ec568d92c74d6affd2b1fb88fcdc63aeb15d1df41e11200ca
-SIZE (golang-crypto-v0.31.0_GH0.tar.gz) = 1837859
-SHA256 (golang-exp-2d47ceb2692f_GH0.tar.gz) = 3ed4f8b00a52b74a82e544a66175dba5394c287ed9d70453085479795f1e0167
-SIZE (golang-exp-2d47ceb2692f_GH0.tar.gz) = 1750245
-SHA256 (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 1e89795970d6593affdafe1d09dcf947681ca1ea82528e8e4fb9974a77f2e394
-SIZE (golang-groupcache-41bb18bfe9da_GH0.tar.gz) = 26101
-SHA256 (golang-net-v0.33.0_GH0.tar.gz) = 675e0ceaf54baf4f6e2a5152fe148906119c97e7b1d37d1c44ec2621faeab0e8
-SIZE (golang-net-v0.33.0_GH0.tar.gz) = 1466426
-SHA256 (golang-oauth2-v0.24.0_GH0.tar.gz) = b14b6ae831727f39534bd617dbb53cd139074dbadcf58eafe8566145ed0231f0
-SIZE (golang-oauth2-v0.24.0_GH0.tar.gz) = 98494
-SHA256 (golang-sync-v0.10.0_GH0.tar.gz) = 2a7b7c36a89b444213ec3237a21dd1ca6ed351adf423666cc6bf853711a13f3d
-SIZE (golang-sync-v0.10.0_GH0.tar.gz) = 18099
-SHA256 (golang-sys-v0.28.0_GH0.tar.gz) = 62726b1ccbb09c7e8de2215756a26012751bdded12b5bacc6de83296db694ebf
-SIZE (golang-sys-v0.28.0_GH0.tar.gz) = 1519898
-SHA256 (golang-text-v0.21.0_GH0.tar.gz) = d64dbf40a8ae06c4805895e48553ecdadaed07089d8ed2168a0d61551d17ff22
-SIZE (golang-text-v0.21.0_GH0.tar.gz) = 8964782
-SHA256 (golang-tools-v0.27.0_GH0.tar.gz) = 7e187e6ab17b0b9df1870ce52e27e335bcaf3d5e1e3a7df1d0e047816ccf6d82
-SIZE (golang-tools-v0.27.0_GH0.tar.gz) = 7084838
-SHA256 (google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
-SIZE (google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
-SHA256 (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 573361f8e0118efd9d0ea127270402de7a891cdc4ef36f748473cf004e92c96d
-SIZE (google-go-genproto-324edc3d5d38_GH0.tar.gz) = 5879419
-SHA256 (google-pprof-d1b30febd7db_GH0.tar.gz) = fc3a4f103342ea85bec2d14dc769e82ab223ab4cc6ef45bf33a471f5039fe4b1
-SIZE (google-pprof-d1b30febd7db_GH0.tar.gz) = 4757636
-SHA256 (google-s2a-go-v0.1.8_GH0.tar.gz) = f242c36165429f4ffbd73e49dd18a6b1f39fa040ad8cdfdf9a60080ad84e8960
-SIZE (google-s2a-go-v0.1.8_GH0.tar.gz) = 275964
-SHA256 (google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d
-SIZE (google-uuid-v1.6.0_GH0.tar.gz) = 20896
-SHA256 (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 3bb00eaeb1ec49b8a39bf134d0f23b161f655b50ce15ccd78ff51e6149152bce
-SIZE (googleapis-enterprise-certificate-proxy-v0.3.4_GH0.tar.gz) = 39560
-SHA256 (googleapis-gax-go-v2.13.0_GH0.tar.gz) = b27ac1a2d9b458bdf0857ff2be66c3e5aec8034316d5dbba5ff624095bd97614
-SIZE (googleapis-gax-go-v2.13.0_GH0.tar.gz) = 63684
-SHA256 (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 2e1db8d544786938c8af79217e7e6af0d9ffac06a3cfe84f07e4f8d222dc3695
-SIZE (googleapis-google-api-go-client-v0.205.0_GH0.tar.gz) = 35903881
-SHA256 (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = f43aca25626277fa67cc658b18b9b9178a28c6311451e34e93dd43031db7613d
-SIZE (googleapis-google-cloud-go-auth-v0.10.1_GH0.tar.gz) = 31313887
-SHA256 (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = ca8ee7c1fbd4d2d5d05d821beeafe24e8d10bc12bb8411adbf6a275d716e2fba
-SIZE (googleapis-google-cloud-go-auth-oauth2adapt-v0.2.5_GH0.tar.gz) = 31273589
-SHA256 (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 4db3b2bc0e383d3282aaab93e207117a97bfd5d35ae1ca2f6fc105319245f7af
-SIZE (googleapis-google-cloud-go-compute-metadata-v0.5.2_GH0.tar.gz) = 30572898
-SHA256 (gorilla-mux-v1.8.1_GH0.tar.gz) = c2a09e78d1886abb2d291b472eba3ac9185acb35234c1f5616669664ba893d6d
-SIZE (gorilla-mux-v1.8.1_GH0.tar.gz) = 47033
-SHA256 (grpc-grpc-go-v1.67.1_GH0.tar.gz) = b2a3efc5e4d48ee7b3e9c2f5b9659571f4c2b9045b0b567be7887ad7bef87ef8
-SIZE (grpc-grpc-go-v1.67.1_GH0.tar.gz) = 2206223
-SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
-SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
-SHA256 (justinas-alice-v1.2.0_GH0.tar.gz) = 12171459da7096e0d34a0972387e15978ad7b0e73c83ce04ba2f89c44a22336b
-SIZE (justinas-alice-v1.2.0_GH0.tar.gz) = 4568
-SHA256 (klauspost-compress-v1.17.10_GH0.tar.gz) = e6968d229011a9323aab4d09b717db26ebebfaeff04ef15a93f7334d6bac5ac5
-SIZE (klauspost-compress-v1.17.10_GH0.tar.gz) = 38748986
-SHA256 (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = ca048e6eb19d99bd5da77a6345dc7ddf80d1922deff8d457998ed7d7b4e61112
-SIZE (kubernetes-apimachinery-v0.31.2_GH0.tar.gz) = 736809
-SHA256 (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 38722818db9004d83437724473dca40166974a7c4059565c39325e88f584bcd6
-SIZE (kubernetes-gengo-a0386bf69313_GH0.tar.gz) = 150799
-SHA256 (kubernetes-klog-v2.130.1_GH0.tar.gz) = 22abd8126261ef47d92e3faa4100b7a309eb9be6c2a709b4268d81b85cc48768
-SIZE (kubernetes-klog-v2.130.1_GH0.tar.gz) = 106990
-SHA256 (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 72cc6f274fbd165b7674280f836a6b400e80dbae055919e101920dedf50e79db
-SIZE (kylelemons-godebug-v1.1.0_GH0.tar.gz) = 17637
-SHA256 (magiconair-properties-v1.8.7_GH0.tar.gz) = 09e950df1970975400edc7f6c2f9e3edace4e1ea49f823006387d130fb0f4f03
-SIZE (magiconair-properties-v1.8.7_GH0.tar.gz) = 31425
-SHA256 (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = f5b9d6aff7eba04766d11cdc780d08458324f158f893ba84479f045dde75cb23
-SIZE (mbland-hmacauth-44256dfd4bfa_GH0.tar.gz) = 6192
-SHA256 (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
-SIZE (mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
-SHA256 (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 3a455e3bcf8237ecee0385f97223ca821ec2547284e827e90f94a4984801ca1c
-SIZE (munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 2810
-SHA256 (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 935582f3f3377f09604bce4ab0488092d71c0d9ff3e9359a397f00ab6caed658
-SIZE (natefinch-lumberjack-v2.2.1_GH0.tar.gz) = 12568
-SHA256 (nxadm-tail-v1.4.11_GH0.tar.gz) = f20a022655bb5acdb364382418d0481f938e761be7d4233af61b0d4659ae1812
-SIZE (nxadm-tail-v1.4.11_GH0.tar.gz) = 1175268
-SHA256 (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 8dd06edfda30b798af4305012cd2999df8985499ff3ccff0045d785cdf66d884
-SIZE (oauth2-proxy-mockoidc-caebfff84d25_GH0.tar.gz) = 20679
-SHA256 (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 11076a32e1fed39b4f02a7b86dae35ff1a3ba20d68464c281f185c1ba30aad04
-SIZE (oauth2-proxy-tools-d3b50d1a591a_GH0.tar.gz) = 20290
-SHA256 (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 0380c81321b764b75e76a7aa8fc8ab1ab361232a88d5b6124ef8b9a9e75d5287
-SIZE (onsi-ginkgo-v1.16.5_GH0.tar.gz) = 164965
-SHA256 (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 77736d4f5c76cbf8147c708f0da249c6658de1c7327cca2095a934952228e68d
-SIZE (onsi-ginkgo-v2.21.0_GH0.tar.gz) = 643200
-SHA256 (onsi-gomega-v1.35.1_GH0.tar.gz) = 3b37c591e1d3b5809379ab7eac333d28ecf576e7f4242504e87a8bdbafccd0b6
-SIZE (onsi-gomega-v1.35.1_GH0.tar.gz) = 320285
-SHA256 (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 045e59b01768cedcfbed54d8a08367a18c91e585246755c034d9c51d9a32f0bb
-SIZE (open-telemetry-opentelemetry-go-contrib-v1.30.0_GH0.tar.gz) = 642233
-SHA256 (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1c9a09665e4e259ac333c29162f877081498a03e2736688bea6b57a00daa4171
-SIZE (open-telemetry-opentelemetry-go-v1.30.0_GH0.tar.gz) = 1793133
-SHA256 (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 3a5dfdc1e543efd6032813cb27a5b06d66bbefbbcc88bb664f69d605725c42af
-SIZE (pelletier-go-toml-v2.2.3_GH0.tar.gz) = 909237
-SHA256 (pierrec-lz4-v4.1.21_GH0.tar.gz) = 8b8d3f7b3fe39ce4ae117b45949d6dbb9c496e719d87a2d7c2ce33ad0228e53a
-SIZE (pierrec-lz4-v4.1.21_GH0.tar.gz) = 40916350
-SHA256 (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 8574a5cbc435057352a17ff9e6ad40190f3b9d623cd9ab0cdfa6c1d8f0bea0b2
-SIZE (pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 11395
-SHA256 (prometheus-client_golang-v1.20.5_GH0.tar.gz) = ab8aa5a2a56f2fb739ea7db4485d0a05df30476924a872b28cce3a319a347af8
-SIZE (prometheus-client_golang-v1.20.5_GH0.tar.gz) = 1103272
-SHA256 (prometheus-client_model-v0.6.1_GH0.tar.gz) = b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e
-SIZE (prometheus-client_model-v0.6.1_GH0.tar.gz) = 17373
-SHA256 (prometheus-common-v0.59.1_GH0.tar.gz) = 667945e10c2d90771ae66765d483a8cceb9966fe031444401162a1b8ccf6235c
-SIZE (prometheus-common-v0.59.1_GH0.tar.gz) = 151575
-SHA256 (prometheus-procfs-v0.15.1_GH0.tar.gz) = ba96bb6d45f1fcbff820c7d844e6acdef4416bb0ff2d9e24656f5cbacb8e46b5
-SIZE (prometheus-procfs-v0.15.1_GH0.tar.gz) = 243687
-SHA256 (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 7cead1a711d682796b343931a9b54b3b07dd83456baeda6c069432235de45437
-SIZE (protocolbuffers-protobuf-go-v1.35.1_GH0.tar.gz) = 1522321
-SHA256 (redis-go-redis-v9.7.0_GH0.tar.gz) = 9d3b851826714defd3c9348cefcd262528ecf22aeb747d00ca14fa22bb3f85bb
-SIZE (redis-go-redis-v9.7.0_GH0.tar.gz) = 319712
-SHA256 (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 2a1ba4cb44d1858b77fb750f6f72f1b3b3d013ef8731644bdc0a6fdc9e3f28be
-SIZE (sagikazarmark-locafero-v0.6.0_GH0.tar.gz) = 11140
-SHA256 (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = a594ec7e138265768a5c23f8ab460724d8215db45dc1bddde4743bca3373803d
-SIZE (sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = 10872
-SHA256 (sourcegraph-conc-v0.3.0_GH0.tar.gz) = c20a36ef6e8cd4721b8824d3e0a590d78f56ce72ace53ec7fdd2f7a978e9240f
-SIZE (sourcegraph-conc-v0.3.0_GH0.tar.gz) = 23021
-SHA256 (spf13-afero-v1.11.0_GH0.tar.gz) = f83f67c4a03d8bba2b7fe1a496e848b2b1b7d97d0b951d85d2b401e7488a4ed4
-SIZE (spf13-afero-v1.11.0_GH0.tar.gz) = 89257
-SHA256 (spf13-cast-v1.7.0_GH0.tar.gz) = ba68ec49ece842dd15ea5a0f4293510617fefcf2d175f780bcf710dce42567b3
-SIZE (spf13-cast-v1.7.0_GH0.tar.gz) = 15675
-SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
-SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
-SHA256 (spf13-viper-v1.19.0_GH0.tar.gz) = bd754a586de7b8f6e54037b715765833f8120cb8bdbb4240a69c6537a0ccdfd5
-SIZE (spf13-viper-v1.19.0_GH0.tar.gz) = 119990
-SHA256 (stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb
-SIZE (stretchr-testify-v1.9.0_GH0.tar.gz) = 108663
-SHA256 (subosito-gotenv-v1.6.0_GH0.tar.gz) = 51a5a8e36f30ddd97866779e93c4e93b0d4958a60fabd1d17fc2226bfe7823db
-SIZE (subosito-gotenv-v1.6.0_GH0.tar.gz) = 11470
-SHA256 (uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
-SIZE (uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
-SHA256 (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = cffb190f68ddf9d248e1587080466981ed911cf08901c6a81f4edc8d66b69f90
-SIZE (vmihailenco-msgpack-v5.4.1_GH0.tar.gz) = 37770
-SHA256 (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 676b99c051fef68d1b0fb0385103de0e42a3ee556919b2b54ff5d3445bac56dd
-SIZE (vmihailenco-tagparser-v2.0.0_GH0.tar.gz) = 3683
-SHA256 (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 9e706d96c11314a4b3e2034eb10726e48cc7e7e7e31d4765a675f901ee6a9a7e
-SIZE (yuin-gopher-lua-v1.1.1_GH0.tar.gz) = 170691
+TIMESTAMP = 1766124297
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 243c71806d34c5b14499725b5d613c9d3ababd728b85d0dacf25a7cbb9304113
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/go.mod) = 3908
+SHA256 (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 86d005585f753cda3495cf68f231bcb3be13d7c96d80c8890c0f9939e0bddcad
+SIZE (go/www_oauth2-proxy/oauth2-proxy-oauth2-proxy-v7.13.0_GH0/oauth2-proxy-oauth2-proxy-v7.13.0_GH0.tar.gz) = 1661775
diff --git a/www/oauth2-proxy/files/patch-go.mod b/www/oauth2-proxy/files/patch-go.mod
deleted file mode 100644
index 897d617d0268..000000000000
--- a/www/oauth2-proxy/files/patch-go.mod
+++ /dev/null
@@ -1,10 +0,0 @@
---- go.mod.orig 2024-10-07 07:27:24 UTC
-+++ go.mod
-@@ -1,6 +1,6 @@ module github.com/oauth2-proxy/oauth2-proxy/v7
- module github.com/oauth2-proxy/oauth2-proxy/v7
-
--go 1.22.7
-+go 1.22
-
- require (
- cloud.google.com/go/compute/metadata v0.5.2
diff --git a/x11-fonts/Makefile b/x11-fonts/Makefile
index 5f8d5d603db9..6f0d896a1ba0 100644
--- a/x11-fonts/Makefile
+++ b/x11-fonts/Makefile
@@ -303,6 +303,7 @@
SUBDIR += py-opentype-sanitizer
SUBDIR += py-opentypespec
SUBDIR += py-shaperglot
+ SUBDIR += py-rendercv-fonts
SUBDIR += py-ufo2ft
SUBDIR += py-ufoLib
SUBDIR += py-ufolint
diff --git a/x11-fonts/py-rendercv-fonts/Makefile b/x11-fonts/py-rendercv-fonts/Makefile
new file mode 100644
index 000000000000..747ffd25d739
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= rendercv-fonts
+DISTVERSION= 0.5.1
+CATEGORIES= x11-fonts python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= rendercv_fonts-${DISTVERSION}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Some fonts for RenderCV
+WWW= https://github.com/rendercv/rendercv-fonts \
+ https://pypi.org/project/rendercv-fonts
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= python
+USE_PYTHON= autoplist pep517
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/py-rendercv-fonts/distinfo b/x11-fonts/py-rendercv-fonts/distinfo
new file mode 100644
index 000000000000..d04daf0d8249
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766177557
+SHA256 (rendercv_fonts-0.5.1.tar.gz) = f7ea8f33bb1338d9ce41c036066ffb8a482cc182c0f36e183d73a42e2da91ee5
+SIZE (rendercv_fonts-0.5.1.tar.gz) = 33041210
diff --git a/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
new file mode 100644
index 000000000000..02b4185a9237
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig 2025-12-19 20:56:16 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["hatchling==1.26.3"]
++requires = ["hatchling"]
+ build-backend = "hatchling.build"
+
+ [tool.hatch.build.targets.wheel]
diff --git a/x11-fonts/py-rendercv-fonts/pkg-descr b/x11-fonts/py-rendercv-fonts/pkg-descr
new file mode 100644
index 000000000000..79118867a96d
--- /dev/null
+++ b/x11-fonts/py-rendercv-fonts/pkg-descr
@@ -0,0 +1,2 @@
+rendercv-fonts is a python package with some fonts for the rendercv
+package.